tests: don't assume fd 99 is closed
[gnulib.git] / ChangeLog
1 2013-01-22  Paul Eggert  <eggert@cs.ucla.edu>
2
3         tests: don't assume fd 99 is closed
4         * tests/test-accept.c, tests/test-accept4.c, tests/test-bind.c:
5         * tests/test-close.c, tests/test-connect.c, tests/test-dprintf.c:
6         * tests/test-dup.c, tests/test-dup2.c, tests/test-faccessat.c:
7         * tests/test-fchdir.c, tests/test-fchmod.c, tests/test-fchmodat.c:
8         * tests/test-fchown.c, tests/test-fchownat.c, tests/test-fclose.c:
9         * tests/test-fdatasync.c, tests/test-fdopen.c, tests/test-fdopendir.c:
10         * tests/test-fflush.c, tests/test-fgetc.c, tests/test-fputc.c:
11         * tests/test-fread.c, tests/test-freopen.c, tests/test-fseeko4.c:
12         * tests/test-fstat.c, tests/test-fstatat.c, tests/test-fsync.c:
13         * tests/test-ftello4.c, tests/test-ftruncate.c, tests/test-futimens.h:
14         * tests/test-fwrite.c, tests/test-getpeername.c:
15         * tests/test-getsockname.c, tests/test-getsockopt.c:
16         * tests/test-grantpt.c, tests/test-ioctl.c, tests/test-isatty.c:
17         * tests/test-linkat.c, tests/test-listen.c, tests/test-lseek.c:
18         * tests/test-mkdirat.c, tests/test-mkfifoat.c, tests/test-openat.c:
19         * tests/test-pread.c, tests/test-pwrite.c, tests/test-read.c:
20         * tests/test-readlinkat.c, tests/test-recv.c, tests/test-recvfrom.c:
21         * tests/test-renameat.c, tests/test-select.h, tests/test-send.c:
22         * tests/test-sendto.c, tests/test-setsockopt.c, tests/test-shutdown.c:
23         * tests/test-symlinkat.c, tests/test-ttyname_r.c:
24         * tests/test-unlinkat.c, tests/test-unlockpt.c:
25         * tests/test-utimensat.c, tests/test-vdprintf.c, tests/test-write.c:
26         Close file descriptor 99, instead of assuming it's already closed.
27
28 2013-01-21  Paul Eggert  <eggert@cs.ucla.edu>
29
30         stpncpy: port to OS X 10.8
31         * lib/stpncpy.c (__stpncpy): Parenthesize name when defining function.
32         Problem reported by Assaf Gordon in <http://bugs.gnu.org/13495>.
33
34 2013-01-16  Paul Eggert  <eggert@cs.ucla.edu>
35
36         unistd: port to recent mingw
37         * lib/unistd.in.h: Remove special invocation convention for mingw,
38         which breaks for the latest mingw version.  See John W. Eaton in
39         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00100.html>.
40
41         largefile: port better to Mac OS X 10.5
42         This patch is backported from Autoconf git.
43         * m4/largefile.m4 (AC_SYS_LARGEFILE): Use AC_DEFINE, not
44         AH_VERBATIM, to define _DARWIN_USE_64_BIT_INODE, to avoid problems
45         with ino_t size being different for configuration time versus
46         build/run time.  Problem reported by PHO in
47         <http://lists.gnu.org/archive/html/bug-autoconf/2013-01/msg00040.html>.
48
49 2013-01-15  Paul Eggert  <eggert@cs.ucla.edu>
50
51         doc: clarify -Werror
52         * doc/warnings.texi (warnings): -Werror is not always a bad idea;
53         clarify that it's intended for developers, not for ordinary builds,
54         and mention --enable-gcc-warnings as one possible use.
55
56 2013-01-15  Andoni Morales Alastruey  <ylatuya@gmail.com>  (tiny change)
57
58         stdint: fix build with Android's Bionic fox x86
59         * lib/stdint.in.h: fix check to test if included-fixed/sys/types.h
60         was already included as _SSIZE_T_DEFINED_ might also be defined
61         in include/machine/_types.h, which is included by stdio.h
62
63 2013-01-13  Paul Eggert  <eggert@cs.ucla.edu>
64
65         net_if-tests: port to Solaris 7 + GCC 3.4.6
66         Problem reported by Tom G. Christensen in
67         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00091.html>.
68         * tests/test-net_if.c (ni): Move to next the code that uses it,
69         so that it's declared only if needed.
70
71 2013-01-12  Paul Eggert  <eggert@cs.ucla.edu>
72
73         net_if-tests: port to older Solaris
74         Problem reported by Tom G. Christensen in
75         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
76         * modules/net_if-tests (NET_IF_LIB): New substitution.
77         (test_net_if_LDADD): New makefile macro, which uses NET_IF_LIB.
78         (HAVE_IF_NAMEINDEX): New C macro.
79         * tests/test-net_if.c: Bypass most of the test if !HAVE_IF_NAMEINDEX.
80
81         system-quote-tests: port to older Solaris
82         Problem reported by Tom G. Christensen in
83         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
84         * tests/test-system-quote-child.c (fopen, fread): Undef.
85
86         c-xvasprintf etc.: fix link errors on older Solaris
87         These need to link with @LIBINTL@ to get libintl_gettext.
88         Problem reported by Tom G. Christensen in
89         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
90         * modules/c-xvasprintf-tests (test_c_xvasprintf_LDADD):
91         * modules/readtokens-tests (test_readtokens_LDADD): New macros.
92         * modules/futimens-tests (test_futimens_LDADD):
93         * modules/utimens-tests (test_utimens_LDADD): Add @LIBINTL@.
94
95 2013-01-10  Paul Eggert  <eggert@cs.ucla.edu>
96
97         locale: port to Solaris 2.6 and 7 + GNU gettext
98         * lib/locale.in.h: Just include_next <locale.h> when
99         being invoked recursively.  This prevents problems on Solaris 2.6 and 7
100         when combining the localename module with GNU gettext 0.18.2.
101         Problem reported by Tom G. Christensen in
102         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00084.html>.
103
104 2013-01-09  Paul Eggert  <eggert@cs.ucla.edu>
105
106         stdlib: port to Solaris 2.6
107         Also, the code worked on Solaris 7 through 9 only by accident.
108         Problem reported by Tom G. Christensen in
109         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00059.html>.
110         * lib/stdlib.in.h: If __need_system_stdlib_h is defined,
111         simply include the system stdlib.h.
112         * lib/getopt.in.h (__need_system_stdlib_h):
113         * lib/pthread.in.h (__need_system_stdlib_h):
114         * lib/unistd.in.h (__need_system_stdlib_h) [!__GLIBC__]:
115         Define when including <stdlib.h>, to avoid problems at least for
116         the pthread case on Solaris 2.6 and 7.  These .h files can get by
117         with the system stdlib.h.
118
119 2013-01-06  Paul Eggert  <eggert@cs.ucla.edu>
120
121         doc: update main copyright year
122         * doc/gnulib.texi: Update copyright date.
123
124         doc: improve ISO 8601 discussion
125         * doc/parse-datetime.texi (Combined date and time of day items):
126         Specify more carefully what formats are supported and what is
127         done with excess precision.
128
129 2013-01-05  Paul Eggert  <eggert@cs.ucla.edu>
130
131         doc: avoid small caps
132         * doc/parse-datetime.texi, doc/regex.texi: Don't use small caps;
133         they're more trouble than they're worth.  Suggested by Karl Berry
134         in <http://bugs.gnu.org/13360>.
135
136         regex: conform to strict C
137         * lib/regcomp.c (parse_bracket_exp): Add cast to conform to strict C.
138         From Aharon Robbins.
139
140         gnulib-tool: fix incompatibility with autopoint 0.18.2
141         * gnulib-tool: Don't indent AM_GNU_GETTEXT_VERSION line.
142         Problem reported by Tom G. Christensen in
143         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00053.html>.
144
145 2013-01-04  Paul Eggert  <eggert@cs.ucla.edu>
146
147         fprintftime: bring back and reword fwrite comment
148         * lib/strftime.c (cpy) [FPRINTFTIME]: Re-add reworded comment.
149
150         stdio: remove now-unnecessary stdio.c
151         Since stdio.in.h no longer uses inline functions, we no longer
152         need to compile the extern versions.
153         * lib/stdio.c: Remove.
154         * modules/stdio (Files): Remove lib/stdio.c.
155         (lib_SOURCES): Remove.
156
157         unicodeio: depend on stdio, not ignore-value
158         * lib/unicodeio.c: Do not include ignore-value.h.
159         (fwrite_success_callback): Use plain fwrite, not ignore_value + fwrite.
160         * modules/unicodeio (Depends-on): Depend on stdio, not ignore-value.
161
162         fprintftime: depend on stdio, not ignore-value
163         * lib/strftime.c [FPRINTFTIME]: Do not include ignore-value.h.
164         (cpy) [FPRINTFTIME]: Use plain fwrite, not ignore_value of fwrite,
165         since the stdio module arranges to silence that warning now.
166         * modules/fprintftime (Depends-on): Depend on stdio, not ignore-value.
167
168 2012-10-04  Simon Josefsson  <simon@josefsson.org>
169
170         stdint-tests: Fix expanded-before-required-warning.
171         * modules/stdint-tests (Depends-on): Use AC_REQUIRE.
172
173 2013-01-03  Paul Eggert  <eggert@cs.ucla.edu>
174
175         fwrite: silence __wur only for older glibc versions
176         * lib/stdio.in.h (fwrite): Limit workaround to glibc 2.4 through 2.15.
177         This will help us remove this workaround some time in the far future.
178
179 2013-01-03  Eric Blake  <eblake@redhat.com>
180
181         fwrite: silence __wur without using inline
182         * lib/stdio.in.h (fwrite): Limit warn_unused_result workaround to
183         just gcc, and in a way that avoids inline issues.
184         * modules/stdio (Depends-on): Drop extern-inline.
185
186 2013-01-03  Jim Meyering  <jim@meyering.net>
187
188         update-copyright: avoid copyright notice date corruption
189         Given a sequence of copyright year numbers in which the final
190         one was a two-digit number that happened to be a substring of
191         a preceding four-digit year number, we would mistakenly update
192         the substring (from two- to four-digit) rather than the two-digit
193         number at the end, which, combined with the addition of the current
194         4-digit year number would yield two 5-digit year numbers, e.g.,
195         here, it would convert the first "99" to "1999, 2013" rather than
196         the final one:
197           1991, 99
198           11999, 20131, 1999
199         * build-aux/update-copyright: Tighten a regexp.
200         * tests/test-update-copyright.sh: Add a test case to trigger the bug.
201         Reported by Joseph Myers in
202         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/32281
203
204 2013-01-01  Paul Eggert  <eggert@cs.ucla.edu>
205
206         regex: omit needless signed-pointer casts
207         * lib/regcomp.c (build_charclass, build_charclass_op):
208         Use char *, not unsigned char *, for class name and extra.
209         The char values are always nonnegative so there's no need to
210         insist on unsigned char * here, and using char * removes the need
211         for casts.  Reported by Aharon Robbins in
212         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
213
214         regex: support Gawk, which never uses alloca
215         * lib/regex_internal.h [!_LIBC && !HAVE_ALLOCA]:
216         Do not include in this case.  Gawk doesn't supply a substitute
217         alloca.h and doesn't need one.
218
219         regex: port __libc_lock_define usage to C89
220         * lib/regex_internal.h (__libc_lock_define) [!_LIBC]: Remove.
221         (struct re_dfa_t): Use #ifdef instead.  '__libc_lock_define (, lock)'
222         does not conform to C89, as it has an empty macro argument.
223         Reported by Aharon Robbins in
224         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
225
226 2013-01-01  Eric Blake  <eblake@redhat.com>
227
228         maint: update all copyright year number ranges
229         Run "make update-copyright".
230
231         version-etc: bump copyright year reported in --version
232         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2013.
233
234 2012-12-31  Eric Blake  <eblake@redhat.com>
235
236         sigprocmask-tests: skip test if pid is unexpectedly large
237         * tests/test-sigprocmask.c (main): Add range check.
238
239         git-version-gen: avoid test -z portability glitch
240         * build-aux/git-version-gen: Prefer portable test spelling, since
241         git-version-gen is run on more than just developer machines.
242
243 2012-12-31  Peter Rosin  <peda@lysator.liu.se>  (tiny change)
244
245         git-version-gen: add --fallback option to use if git is not present
246         * build-aux/git-version-gen: Add support for the new option --fallback,
247         which comes into play when there is no $tarball_version_file and
248         git is not working.
249         (scriptversion): Update.
250
251         maint.mk: handle missing git with more grace
252         * top/maint.mk (no-submodule-changes, public-submodule-commit):
253         Quietly proceed if git is not present.
254
255 2012-12-31  Eric Blake  <eblake@redhat.com>
256
257         dup2: work around cygwin bug
258         * m4/dup2.m4 (gl_FUNC_DUP2): Flush out cygwin core dump.
259         * lib/dup2.c (rpl_dup2): Work around it.
260         * doc/posix-functions/dup2.texi (dup2): Document it.
261
262 2012-12-30  Paul Eggert  <eggert@cs.ucla.edu>
263
264         regex: remove unnecessary dependency on localcharset.h
265         * lib/regex_internal.h [!_LIBC]: Don't include localcharset.h;
266         hasn't been needed for years.
267         * modules/regex (Depends-on): Remove localcharset.
268
269         regex: revert single-byte change
270         * lib/regexec.c (check_node_accept_bytes): Revert previous change
271         to this function.  This was alredy fixed in a different way, at
272         bdb56bacd57070eced9998569ffe3f3c37ef5964 in the glibc git; see
273         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=510219> and
274         <http://sourceware.org/bugzilla/show_bug.cgi?id=9697>.
275
276         regex: simplify based on Gawk version
277         * lib/regex_internal.c (re_dfa_add_node): Simplify.
278         Reported by Aharon Robbins in
279         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
280
281 2012-12-29  Paul Eggert  <eggert@cs.ucla.edu>
282
283         regex: check that pattern char is single-byte
284         Reported by Aharon Robbins in
285         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
286         * lib/regexec.c (check_node_accept_bytes):
287         Return 0 if the pattern string has a multibyte character here.
288
289         regex: implement rational ranges
290         Reported by Aharon Robbins in
291         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
292         * lib/regcomp.c (build_range_exp) [!_LIBC]:
293         * lib/regexec.c (check_node_accept_bytes) [!_LIBC]:
294         Implement rational ranges.
295
296         regex: avoid redefining __wctype
297         Reported by Aharon Robbins in
298         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
299         * lib/regex_internal.h (__wctype, __iswctype) [!_LIBC]:
300         #undef before defining.
301
302         regex: port to hosts where malloc (0) == NULL
303         Reported by Aharon Robbins in
304         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
305         * lib/regex_internal.c (re_node_set_alloc):
306         Don't assume that malloc (0) yields nonnull.
307         * lib/regex_internal.h (MALLOC_0_IS_NONNULL): New macro.
308         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_EEMALLOC.
309         * modules/regex (Files): Add m4/eealloc.m4.
310
311         regex: port to C89
312         Reported by Aharon Robbins in
313         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
314         * lib/regcomp.c (init_word_char): Declaration before statement.
315
316         regex: merge glibc changes
317         Also, copy the license wording from glibc.  This simplifies
318         merging changes.  gnulib-tool will change the wording to GPL as
319         appropriate, when importing it to other packages.  The only
320         glibc change made since the last merge, which needs merging, is:
321         2012-05-24 Andreas Schwab <schwab@linux-m68k.org>
322         * lib/regex_internal.h (gettext): Remove use of INTUSE.
323
324         * users.txt: Add Emacs.
325
326         doc: omit mention of version when not needed
327         * doc/gnulib-intro.texi (Portability and Application Code):
328         * doc/gnulib.texi (Brief Overview, Legacy Function Substitutes):
329         Don't mention particular dates or versions when not necessary, so
330         that the documentation won't go out of date so quickly.
331
332         * doc/intprops.texi (Integer Properties): Fix Texinfo typo.
333
334 2012-12-28  Akim Demaille  <akim@lrde.epita.fr>
335
336         bootstrap: pass --force to autoreconf.
337         * build-aux/bootstrap (AUTORECONFFLAGS): New.
338         Add "--force" so that Automake's ylwrap and other such tools
339         be updated at each bootstrap invocation.
340         Use it.
341
342 2012-12-27  Paul Eggert  <eggert@cs.ucla.edu>
343
344         argp: fix port of port new 'inline' approach to Sun C 5.12 + Solaris 10
345         The earlier patch forgot to update one of the #if conditions, causing
346         a problem on Debian testing i386 reported by Mats Erik Andersson
347         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00124.html>.
348         * lib/argp-fmtstream.h (__argp_fmtstream_putc, argp_fmtstream_putc)
349         (__argp_fmtstream_puts, argp_fmtstream_puts)
350         (__argp_fmtstream_write, argp_fmtstream_write)
351         [!_LIBC && !__OPTIMIZE__]: Declare as ARGP_FS_EI, not as extern.
352
353         * doc/gnulib-readme.texi: Minor fixups.
354         (Portability guidelines): Modernize URLs.  Remove some repetition.
355         (Indent with spaces not TABs): Reword to avoid too-long lines.
356         Remove some '@ifset standalone' stuff that isn't used.
357
358         * doc/gnulib-readme.texi (Portability guidelines):
359         ctype.h, not ctime.h.
360
361         Correct name of POSIX.1-2001.
362         * doc/posix-functions/fgetc.texi (fgetc):
363         * doc/posix-functions/fgets.texi (fgets):
364         * doc/posix-functions/fread.texi (fread):
365         * doc/posix-functions/fscanf.texi (fscanf):
366         * doc/posix-functions/getc.texi (getc):
367         * doc/posix-functions/getchar.texi (getchar):
368         * doc/posix-functions/scanf.texi (scanf):
369         POSIX.1-2001, not POSIX-2001.
370
371         doc: move README into manual
372         * README: Move contents to new file doc/gnulib-readme.texi.
373         Replace with a one-line summary.
374         * doc/gnulib.texi (Brief Overview): New section,
375         with old intro preface.  Include gnulib-readme.texi for contents.
376         (Philosophy): Rename from "Introduction", since this
377         section no longer introduces the rest.  Write a new preface.
378         * doc/gnulib-readme.texi: New file, with the old contents of
379         README texinfo-ized.  This way, the README info appears
380         in the online and printed manual.
381
382 2012-12-25  Ben Pfaff  <blp@cs.stanford.edu>
383
384         c-xvasprintf: Fix "implicit declaration of function" GCC warning.
385         * lib/c-xvasprintf.c: Add missing #include "c-vasprintf.h", for
386         c_vasprintf() prototype.
387
388 2012-12-24  Ben Pfaff  <blp@cs.stanford.edu>
389
390         c-vasprintf: Fix "empty declaration" warning reported by GCC.
391         * lib/c-vasprintf.h: Remove stray semicolon.
392
393 2012-12-23  Paul Eggert  <eggert@cs.ucla.edu>
394
395         gettext: avoid obsolete macro AM_PROG_MKDIR_P
396         It is obsolete and is planned to be removed from Automake 1.14; see
397         <http://lists.gnu.org/archive/html/automake/2012-12/msg00029.html>.
398         * build-aux/po/Makefile.in.in (install-data, install-data-yes)
399         (installdirs-data, installdirs-data-yes):
400         Use $(MKDIR_P), not $(mkdir_p).
401         * m4/intl.m4 (AM_INTL_SUBDIR):
402         * m4/po.m4 (AM_PO_SUBDIRS):
403         Require AC_PROG_MKDIR_P, not AM_PROG_MKDIR_P.
404
405 2012-12-22  Paul Eggert  <eggert@cs.ucla.edu>
406
407         argp: port new 'inline' approach to Sun C 5.12 + Solaris 10
408         On this platform, we are not optimizing but we are using
409         the substitute for extern inlines, so compile as if
410         C99-style extern inline, or a substitute, is available.
411         * lib/argp-fmtstream.h (argp_fmtstream_set_lmargin)
412         (__argp_fmtstream_set_lmargin, argp_fmtstream_set_rmargin)
413         (__argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin)
414         (__argp_fmtstream_set_wmargin, argp_fmtstream_point)
415         (__argp_fmtstream_point) [!_LIBC && !__OPTIMIZE__]:
416         Declare as ARGP_FS_EI, not as extern.
417         * lib/argp.h (argp_usage, __argp_usage, _option_is_short)
418         (__option_is_short, _option_is_end, __option_is_end)
419         [!_LIBC && __USE_EXTERN_INLINES]:
420         Declare as ARGP_EI, not as extern.
421
422 2012-12-21  Paul Eggert  <eggert@cs.ucla.edu>
423
424         AC_PROG_MKDIR_P: port workaround to pre-2.62 Autoconf
425         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P, AC_C_RESTRICT):
426         Use m4_ifndef([AC_AUTOCONF_VERSION], ...), not
427         m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]),[2.62]),[-1],
428         ...), as the latter is fatal with older Autoconfs.
429         Problem reported and fix suggested by Eric Blake in thread starting at
430         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00097.html>.
431
432 2012-12-20  Paul Eggert  <eggert@cs.ucla.edu>
433
434         AC_PROG_MKDIR_P: don't workaround if not buggy
435         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P):
436         Define only for Autoconf versions before 2.62.
437         (AC_C_RESTRICT): Use documented AC_AUTOCONF_VERSION, not
438         undocumented m4_PACKAGE_VERSION, for consistency with the
439         abovementioned change to AC_PROG_MKDIR_P.  This should suffice
440         since we're checking for 2.62 or later, and AC_AUTOCONF_VERSION
441         was introduced in 2.62.
442
443 2012-12-15  Ben Pfaff  <blp@cs.stanford.edu>
444
445         New 'c-*printf' modules for formatted output in C locale.
446
447         New module 'c-vasnprintf'.
448         * modules/c-vasnprintf: New file.
449         * lib/c-vasnprintf.c: New file.
450         * lib/c-vasnprintf.h: New file.
451
452         New module 'c-snprintf'.
453         * modules/c-snprintf: New file.
454         * modules/c-snprintf-tests: New file.
455         * lib/c-snprintf.c: New file.
456         * lib/c-snprintf.h: New file.
457         * tests/test-c-snprintf.c: New file.
458         * tests/test-c-snprintf.sh: New file.
459
460         New module 'c-vsnprintf'.
461         * modules/c-vsnprintf: New file.
462         * modules/c-vsnprintf-tests: New file.
463         * lib/c-vsnprintf.c: New file.
464         * lib/c-vsnprintf.h: New file.
465         * tests/test-c-vsnprintf.c: New file.
466         * tests/test-c-vsnprintf.sh: New file.
467
468         New module 'c-vasprintf'.
469         * modules/c-vasprintf: New file.
470         * modules/c-vasprintf-tests: New file.
471         * lib/c-asprintf.c: New file.
472         * lib/c-vasprintf.c: New file.
473         * lib/c-vasprintf.h: New file.
474         * tests/test-c-vasprintf.c  +: New file.
475         * tests/test-c-vasprintf.sh: New file.
476
477         New module 'c-xvasprintf'.
478         * modules/c-xvasprintf: New file.
479         * modules/c-xvasprintf-tests: New file.
480         * lib/c-xasprintf.c: New file.
481         * lib/c-xvasprintf.c: New file.
482         * lib/c-xvasprintf.h: New file.
483         * tests/test-c-xvasprintf.c: New file.
484         * tests/test-c-xvasprintf.sh: New file.
485
486 2012-12-18  Paul Eggert  <eggert@cs.ucla.edu>
487
488         argp: better 'inline'
489         Use extern-inline module to declare extern inline functions.
490         This avoids some bogus warning diagnostics.  Problem discovered
491         when modifying GNU tar to use the manywarnings module.
492         * lib/argp.h, lib/argp-xinl.c (ARGP_EI) [!_LIBC]:
493         * lib/argp-fmtstream.h, lib/argp-fs-xinl.c (ARGP_FS_EI) [!_LIBC]:
494         Define based on extern-inline.
495         * modules/argp (Depends-on): Add extern-inline.
496
497 2012-12-17  Paul Eggert  <eggert@cs.ucla.edu>
498
499         filemode, sys_stat: Handle MPX files a la AIX.
500         * lib/filemode.c (ftypelet): Report 'm' for MPX files.
501         * lib/sys_stat.in.h (S_ISMPX): New macro.
502         * tests/test-sys_stat.c: Add tests for MPX files.
503
504 2012-12-16  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
505
506         x-to-1: honor $PERL
507         * build-aux/x-to-1.in: Run $HELP2MAN via $PERL so that the user gets
508         a chance to use his preferred version of Perl.  This is typically
509         required by Darwin users whose default /usr/bin/perl does not have all
510         the libraries required by help2man, and who need to use their MacPorts
511         installation of Perl instead.
512
513 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
514
515         gnu-web-doc-update: add all the new files, even in new directories
516         See http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00057.html
517         * build-aux/gnu-web-doc-update (--dry-run, $dryrun): New.
518         Use it.
519         (main): Don't use cvsutils to get the list of unknown files,
520         just add all the existing files and directories.
521
522 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
523
524         gnu-web-doc-update: improve --help
525         * build-aux/gnu-web-doc-update: Move comments into --help.
526
527 2012-12-07  Eric Wong  <normalperson@yhbt.net>
528
529         mountlist: recognize more "dummy" file systems
530         * lib/mountlist.c (ME_DUMMY_0):
531         Add these dummy FS names to the list:
532         - "debugfs" virtual filesystem for kernel debugging
533         - "devpts" PTY slave filesystem
534         - "devtmpfs" device filesystem on top of tmpfs/ramfs
535         - "fusectl" control filesystem for FUSE
536         - "mqueue" enumerates POSIX message queues
537         - "rpc_pipefs" kernel <-> userspace bridge for NFS
538         - "sysfs" is for exporting kernel objects
539         - "devfs" device filesystem for Linux 2.4 and FreeBSD
540
541 2012-12-11  Paul Eggert  <eggert@cs.ucla.edu>
542
543         extern-inline: avoid incompatibility with Darwin Libc
544         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): Do not use
545         extern inline if __APPLE__.  Use _GL_UNUSED in the non-inline branch.
546         Problem reported by Akim Demaille in
547         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>.
548
549 2012-12-11  Simon Josefsson  <simon@josefsson.org>
550
551         gnupload: Work with GnuPG using gpg-agent (for smartcards).
552         * build-aux/gnupload: If GnuPG is configured to use gpg-agent,
553         let it handle password prompting.
554
555 2012-12-10  Eli Zaretskii  <eliz@gnu.org>
556
557         canonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes
558         * lib/canonicalize.c (canonicalize_filename_mode):
559         * lib/canonicalize-lgpl.c (__realpath): Recompute prefix_len after
560         fetching the current directory.  Don't overrun the beginning of
561         rpath if there's no slashes after the MS-Windows drive letter.
562
563 2012-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
564
565         maint.mk: avoid extra forks
566         * top/maint.mk (_cfg_mk): The GNU make manual documents that
567         "$(wildcard FILE)" expands to empty if FILE doesn't exist.
568         So use that instead of "$(shell test -f FILE && echo FILE)".
569
570 2012-12-07  Paul Eggert  <eggert@cs.ucla.edu>
571
572         vasnprintf: fix ASCII_ONLY typo
573         * lib/unistdio/u8-vasnprintf.c (FCHAR_T_ONLY_ASCII):
574         * lib/unistdio/u16-vasnprintf.c (FCHAR_T_ONLY_ASCII):
575         * lib/unistdio/u32-vasnprintf.c (FCHAR_T_ONLY_ASCII):
576         New macro, replacing ASCII_ONLY.  This fixes a typo.  See thread at
577         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00021.html>.
578
579 2012-12-05  Paul Eggert  <eggert@cs.ucla.edu>
580
581         list, oset, xlist, xoset: fix extern inline issue with C99
582         This was introduced by my recent changes for 'inline'.
583         Problem reported for gettext by Daiki Ueno in
584         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00000.html>.
585         * lib/gl_list.h (gl_list_nx_create_empty, gl_list_create)
586         (gl_list_nx_create, gl_list_size, gl_list_node_value)
587         (gl_list_node_set_value, gl_list_node_nx_set_value, gl_list_next_node)
588         (gl_list_previous_node, gl_list_get_at)
589         (gl_list_nx_set_at, gl_list_search, gl_list_search_from)
590         (gl_list_search_from_to, gl_list_indexof, gl_list_indexof_from)
591         (gl_list_indexof_from_to, gl_list_nx_add_first, gl_list_nx_add_last)
592         (gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at)
593         (gl_list_remove_node, gl_list_remove_at, gl_list_remove, gl_list_free)
594         (gl_list_iterator, gl_list_iterator_from_to, gl_list_iterator_next)
595         (gl_list_iterator_free, gl_sortedlist_search)
596         (gl_sortedlist_search_from_to, gl_sortedlist_indexof)
597         (gl_sortedlist_indexof_from_to, gl_sortedlist_add, gl_sortedlist_nx_add)
598         (gl_sortedlist_remove):
599         * lib/gl_oset.h (go_oset_nx_create_empty, gl_oset_size, gl_oset_search)
600         (gl_oset_search_atleast, gl_oset_nx_add, gl_oset_remove, gl_oset_free)
601         (gl_oset_iterator, gl_oset_iterator_next, gl_oset_iterator_free):
602         * lib/gl_xlist.h (gl_list_create_empty, gl_list_create)
603         (gl_list_node_set_value, gl_list_set_at, gl_list_add_first)
604         (gl_list_add_last, gl_list_add_before, gl_list_add_after)
605         (gl_list_add_at, gl_sortedlist_add):
606         * lib/gl_xoset.h (gl_oset_create_empty, gl_oset_add):
607         Wrap these extern decls inside "#if 0", because they are implemented
608         as inline functions, and extern inline is not what's wanted here.
609         It would simplify these .h files to remove the extern decls entirely,
610         although a downside would be less-clear separation between
611         specification and implementation.
612
613 2012-11-29  Paul Eggert  <eggert@cs.ucla.edu>
614
615         sys_stat: no 'static inline'
616         * lib/sys_stat.in.h (rpl_mkdir): Now static, not static inline.
617         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Do not require AC_C_INLINE.
618
619         extern-inline: no 'static inline'
620         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
621         Do not require AC_C_INLINE.
622         (_GL_INLINE, _GL_EXTERN_INLINE): Define as 'static', not as
623         'static inline', for older compilers.
624
625         snippet/warn-on-use: no 'static inline'
626         * build-aux/snippet/warn-on-use.h:
627         Remove unnecessary 'inline' in comment.
628
629         rbtree-list, rbtreehash-list: no 'static inline'
630         * lib/gl_anyrbtree_list2.h (rotate_left, rotate_right):
631         * lib/gl_anytree_list2.h (node_at):
632         * lib/gl_anytreehash_list1.h (hash_resize_after_add)
633         (gl_oset_first, add_nodes_to_buckets):
634         Now static, not static inline.
635
636         regex: no 'static inline'
637         * lib/regex_internal.c (calc_state_hash):
638         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain)
639         (bitset_empty, bitset_set_all, bitset_copy, bitset_not, bitset_merge)
640         (bitset_mask, re_string_char_size_at, re_string_wchar_at):
641         Now static, not static inline.
642         (inline) [__GNUC__ < 3 && _LIBC]:
643         Remove macro; no longer needed.
644
645         xvasprintf: no 'static inline'
646         * lib/xvasprintf.c (xstrcat):
647         Now static, not static inline.
648         * m4/xvasprintf.m4 (gl_XVASPRINTF):
649         Do not require AC_C_INLINE.
650
651         parse-datetime, parse-duration: no 'static inline'
652         * lib/parse-datetime.y (to_uchar):
653         * lib/parse-duration.c (str_const_to_ul, str_const_to_l)
654         (scale_n_add):
655         Now static, not static inline.
656         * m4/parse-datetime.m4 (gl_PARSE_DATETIME):
657         * modules/parse-duration (configure.ac):
658         Do not require AC_C_INLINE.
659
660         getaddrinfo: no 'static inline'
661         * lib/getaddrinfo.c (validate_family):
662         Now static, not static inline.
663         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO):
664         Do not require AC_C_INLINE.
665
666         ftruncate, fts, lstat, openat, raise: no 'static inline'
667         * lib/ftruncate.c (chsize_nothrow):
668         * lib/fts.c (opendirat, diropen):
669         * lib/lstat.c (orig_lstat):
670         * lib/openat.c (orig_openat):
671         * lib/raise.c (raise_nothrow):
672         Now static, not static inline.
673         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE):
674         * m4/fts.m4 (gl_FUNC_FTS_CORE):
675         * m4/lstat.m4 (gl_PREREQ_LSTAT):
676         * m4/openat.m4 (gl_PREREQ_OPENAT):
677         * m4/raise.m4 (gl_PREREQ_RAISE):
678         Do not require AC_C_INLINE.
679
680         fflush, stat: no 'static inline'
681         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
682         (clear_ungetc_buffer, disable_seek_optimization)
683         (restore_seek_optimization, update_fpos_cache):
684         * lib/stat.c (orig_stat):
685         Now static, not static inline.
686         * lib/fflush.c (disable_seek_optimization, restore_seek_optimization)
687         (update_fpos_cache):
688         Define only if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1).
689         * m4/fflush.m4 (gl_PREREQ_FFLUSH):
690         * m4/stat.m4 (gl_PREREQ_STAT):
691         Do not require AC_C_INLINE.
692
693         error, filevercmp: no 'static inline'
694         * lib/error.c (is_open, flush_stdout):
695         * lib/filevercmp.c (order):
696         Now static, not static inline.
697         * m4/error.m4 (gl_PREREQ_ERROR):
698         * modules/filevercmp (configure.ac):
699         Do not require AC_C_INLINE.
700
701         dup, execute, fatal-signal, etc.: no 'static inline'
702         * lib/dup.c (dup_nothrow):
703         * lib/execute.c (nonintr_close, nonintr_open):
704         * lib/fatal-signal.c (uninstall_handlers, install_handlers):
705         * lib/fopen.c (orig_fopen):
706         * lib/freadseek.c (freadptrinc):
707         * lib/freopen.c (orig_freopen):
708         * lib/fstat.c (orig_fstat, fstat_nothrow):
709         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit)
710         (get_rusage_as_via_iterator):
711         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit):
712         * lib/getdtablesize.c (_setmaxstdio_nothrow):
713         * lib/isatty.c (_isatty_nothrow):
714         * lib/open.c (orig_open):
715         * lib/read.c (read_nothrow):
716         * lib/sigprocmask.c (signal_nothrow):
717         * lib/spawn-pipe.c (nonintr_close, nonintr_open):
718         * lib/vasnprintf.c (MAX_ROOM_NEEDED):
719         * lib/wait-process.c (unregister_slave_subprocess):
720         * lib/write.c (write_nothrow):
721         Now static, not static inline.
722         * lib/spawn-pipe.c (nonintr_open): Define only if
723         (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__.
724         * m4/dup.m4 (gl_PREREQ_DUP):
725         * m4/execute.m4 (gl_EXECUTE):
726         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL):
727         * m4/fopen.m4 (gl_PREREQ_FOPEN):
728         * m4/freadseek.m4 (gl_FUNC_FREADSEEK):
729         * m4/freopen.m4 (gl_PREREQ_FREOPEN):
730         * m4/fstat.m4 (gl_PREREQ_FSTAT):
731         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE):
732         * m4/isatty.m4 (gl_PREREQ_ISATTY):
733         * m4/open.m4 (gl_PREREQ_OPEN):
734         * m4/read.m4 (gl_PREREQ_READ):
735         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK):
736         * m4/spawn-pipe.m4 (gl_SPAWN_PIPE):
737         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF):
738         * m4/wait-process.m4 (gl_WAIT_PROCESS):
739         * m4/write.m4 (gl_PREREQ_WRITE):
740         * modules/get-rusage-as, modules/get-rusage-data (configure.ac):
741         Do not require AC_C_INLINE.
742
743         c-strtod, memcoll, readutmp: no 'static inline'
744         * lib/c-strtod.c (c_locale):
745         * lib/memcoll.c (strcoll_loop):
746         * lib/readutmp.c (desirable_utmp_entry):
747         Now static, not static inline.
748         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD):
749         * m4/memcoll.m4 (gl_MEMCOLL):
750         * m4/readutmp.m4 (gl_READUTMP):
751         Do not require AC_C_INLINE.
752
753         arctwo, md4, md5, sha1, sha256, sha512: no 'static inline'
754         * lib/arctwo.c (to_uchar):
755         * lib/md4.c (set_uint32):
756         * lib/md5.c (set_uint32):
757         * lib/sha1.c (set_uint32):
758         * lib/sha256.c (set_uint32):
759         * lib/sha512.c (set_uint64):
760         Now static, not static inline.  This is a bit simpler, and doesn't
761         affect performance with GCC and default optimization.
762         * m4/arctwo.m4 (gl_ARCTWO):
763         * m4/md4.m4 (gl_MD4):
764         * m4/md5.m4 (gl_MD5):
765         * m4/sha1.m4 (gl_SHA1):
766         * m4/sha256.m4 (gl_SHA256):
767         * m4/sha512.m4 (gl_SHA512):
768         Do not require AC_C_INLINE.
769
770         cond, lock, thread: better 'inline'
771         * lib/glthread/cond.c, lib/glthread/cond.h (_GLTHREAD_COND_INLINE):
772         * lib/glthread/thread.c, lib/glthread/thread.h (_GLTHREAD_THREAD_INLINE):
773         New macros.  Use them instead of static inline, for header functions.
774         * lib/glthread/cond.c (gl_waitqueue_init, gl_waitqueue_remove)
775         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
776         * lib/glthread/lock.c (gl_waitqueue_init)
777         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
778         * lib/glthread/thread.c (get_current_thread_handle):
779         Change 'static inline' to 'inline'.
780         * lib/glthread/cond.h, lib/glthread/thread.h:
781         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
782         * m4/cond.m4 (gl_COND):
783         * m4/lock.m4 (gl_PREREQ_LOCK):
784         * m4/thread.m4 (gl_THREAD):
785         Do not require AC_C_INLINE.
786         * modules/cond, modules/thread (Depends-on): Add extern-inline.
787
788         chdir-long, cycle-check, savewd: better 'inline'
789         * lib/chdir-long.c (cdb_init, cdb_fchdir, cdb_free)
790         (find_non_slash):
791         * lib/cycle-check.c (is_zero_or_power_of_two):
792         * lib/savewd.c (savewd_delegating):
793         Change 'static inline' to 'inline'.
794         * lib/savewd.c, lib/savewd.h (SAVEWD_INLINE): New macro.
795         Replace all remaining uses of 'static inline' with it.
796         * lib/savewd.h:
797         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
798         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG):
799         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
800         * m4/savewd.m4 (gl_SAVEWD):
801         Do not require AC_C_INLINE.
802         * modules/savewd (Depends-on): Add extern-inline.
803
804         base32, base64: no need for 'inline'
805         * lib/base32.c (to_uchar, get_8, decode_8):
806         * lib/base64.c (to_uchar, get_4, decode_4):
807         Change 'static inline' to 'inline'.
808         * m4/base32.m4 (gl_PREREQ_BASE32):
809         * m4/base64.m4 (gl_PREREQ_BASE64):
810         Do not require AC_C_INLINE.
811
812         array-oset, linkedhash-list, rbtree-oset: no need for 'inline'
813         * lib/gl_array_oset.c (gl_array_nx_add_at):
814         (gl_array_remove_at):
815         * lib/gl_linkedhash_list.c (hash_resize_after_add)
816         (add_to_bucket, remove_from_bucket):
817         * lib/gl_rbtree_oset.c (rotate_left, rotate_right):
818         Change 'static inline' to 'static', as it's simpler to omit
819         'inline' unless there's a significant performance advantage.
820
821         list, oset, xlist, xoset, xsublist: simplify via extern inline
822         * lib/gl_list.h, lib/gl_list.c (GL_LIST_INLINE):
823         * lib/gl_oset.c, lib/gl_oset.h (GL_OSET_INLINE):
824         * lib/gl_xlist.c, lib/gl_xlist.h (GL_XLIST_INLINE):
825         * lib/gl_xoset.c, lib/gl_xoset.h (GL_XOSET_INLINE):
826         * lib/gl_xsublist.c, lib/gl_xsublist.h (GL_XSUBLIST_INLINE):
827         New macro.  Replace all uses of 'static inline' with it.
828         [HAVE_INLINE]: Implement functions as *_INLINE functions,
829         instead of as macros FOO that are defined to static inline
830         functions FOO_inline.
831         * lib/gl_list.c, lib/gl_oset.c, lib/gl_xlist.c, lib/gl_xoset.c:
832         * lib/gl_xsublist.c:
833         Reimplement from scratch, by defining the corresponding *_INLINE
834         macro and including the corresponding .h file.  This is simpler.
835         * modules/list, modules/oset, modules/xlist, modules/xoset:
836         (Files): Remove m4/gl_list.m4.
837         (configure.ac): Remove gl_LIST.
838         * m4/gl_list.m4: Remove.
839         * modules/list, modules/oset, modules/xlist, modules/xoset:
840         * modules/xsublist:
841         (Depends-on): Depend on extern-inline, not inline.
842
843         xalloc: better 'inline'
844         * lib/xmalloc.c, lib/xalloc.h (XALLOC_INLINE):
845         New macro.  Replace all uses of 'static inline' with it.
846         (static_inline): Remove.
847         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
848         Let 'extern inline' do the work automatically, instead of doing
849         it by hand.
850         * m4/xalloc.m4 (gl_PREREQ_XALLOC, gl_PREREQ_XMALLOC):
851         Remove.  All uses removed.
852         * modules/xalloc (Depends-on): Remove 'inline'.  Add 'extern-inline'.
853
854         gethrxtime: better 'inline'
855         * lib/xtime.c: New file.
856         * lib/gethrxtime.c, lib/gethrxtime.h (GETHRXTIME_INLINE):
857         * lib/xtime.h (XTIME_INCLUDE):
858         New macros.  Replace all uses of 'static inline' with them.
859         * lib/gethrxtime.c (gethrxtime): Define only if
860         ! (HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME), since
861         this source file is now always compiled, because of the extern inline.
862         * lib/gethrxtime.h, lib/xtime.h:
863         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
864         * m4/gethrxtime.m4 (gl_GETHRXTIME): Do not check for clock macros
865         if gethrtime works, as they're not needed in that case.
866         (gl_XTIME): Do not require AC_C_INLINE.
867         (gl_PREREQ_GETHRXTIME): Remove; all uses removed, as it's always
868         compiled now.  Move the check into gl_GETHRXTIME.
869         * modules/gethrxtime (Files, lib_SOURCES): Add lib/xtime.c.
870         (Depends-on): Add extern-inline.
871         (configure.ac): gethrxtime is always compiled now.
872         (lib_SOURCES): Add gethrxtime.c.
873
874         wctype-h: better 'inline'
875         * lib/wctype-h.c: New file.
876         * lib/wctype.in.h (_GL_WCTYPE_INLINE):
877         New macro.  Replace all uses of 'static inline' with it.
878         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
879         * m4/wctype_h.m4 (gl_WCTYPE_H): Do not require AC_C_INLINE.
880         * modules/wctype-h (Files, lib_SOURCES): Add lib/wctype-h.c.
881         (Depends-on): Add extern-inline.
882
883         unistd: better 'inline'
884         * lib/unistd.c: New file.
885         * lib/unistd.in.h (_GL_UNISTD_INLINE):
886         New macro.  Replace all uses of 'static inline' with it.
887         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
888         * m4/unistd_h.m4 (gl_UNISTD_H): Do not require AC_C_INLINE.
889         * modules/unistd (Files, lib_SOURCES): Add lib/unistd.c.
890         (Depends-on): Add extern-inline.
891
892         sys_socket: better 'inline'
893         * lib/sys_socket.c: New file.
894         * lib/sys_socket.in.h (_GL_SYS_SOCKET_INLINE):
895         New macro.  Replace all uses of 'static inline' with it.
896         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
897         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Do not require AC_C_INLINE.
898         * modules/sys_socket (Files, lib_SOURCES): Add lib/sys_socket.c.
899         (Depends-on): Add extern-inline.
900
901         stdio: better 'inline'
902         * lib/stdio.c: New file.
903         * lib/stdio.in.h (_GL_STDIO_INLINE):
904         New macro.  Replace all uses of 'static inline' with it.
905         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
906         * m4/stdio_h.m4 (gl_STDIO_H): Do not require AC_C_INLINE.
907         * modules/stdio (Files, lib_SOURCES): Add lib/stdio.c.
908         (Depends-on): Add extern-inline.
909
910         sigaction: better 'inline'
911         * lib/sig-handler.c: New file.
912         * lib/sig-handler.h (SIG_HANDLER_INLINE):
913         New macro.  Replace all uses of 'static inline' with it.
914         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
915         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): Do not require AC_C_INLINE.
916         * modules/sigaction (Files, lib_SOURCES): Add lib/sig-handler.c.
917         (Depends-on): Add extern-inline.
918
919         selinux-h: better 'inline'
920         * lib/se-context.c, lib/se-selinux.c: New files.
921         * lib/getfilecon.c (map_to_failure): Omit 'inline' for static function.
922         * lib/se-context.in.h (SE_CONTEXT_INLINE):
923         New macro.  Replace all uses of 'static inline' with it.
924         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
925         * lib/se-selinux.in.h (SE_SELINUX_INLINE):
926         New macro.  Replace all uses of 'static inline' with it.
927         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
928         * modules/selinux-h (Files, lib_SOURCES):
929         Add lib/se-context.c, lib/se-selinux.c.
930         (Depends-on): Add extern-inline.
931         (configure.ac): Do not require AC_C_INLINE.
932
933         pthread: better 'inline'
934         * lib/pthread.c: New file.
935         * lib/pthread.in.h (_GL_PTHREAD_INLINE):
936         New macro.  Replace all uses of 'static inline' with it.
937         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
938         * m4/pthread.m4 (gl_PTHREAD_CHECK):
939         Add AC_LIBOBJ([pthread]).  Do not require AC_C_INLINE.
940         * modules/pthread (Files): Add lib/pthread.c.
941         (Depends-on): Add extern-inline.
942
943         math: better 'inline'
944         * lib/math.c: New file.
945         * lib/math.in.h (_GL_MATH_INLINE):
946         New macro.  Replace all uses of 'static inline' with it.
947         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
948         * m4/math_h.m4 (gl_MATH_H):
949         Do not require AC_C_INLINE.
950         * modules/math (Files, lib_SOURCES):
951         Add lib/math.c.
952         (Depends-on): Add extern-inline.
953
954         count-one-bits: better 'inline'
955         * lib/count-one-bits.c: New file.
956         * lib/count-one-bits.h (COUNT_ONE_BITS_INLINE):
957         New macro.  Replace all uses of 'static inline' with it.
958         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
959         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS):
960         Do not require AC_C_INLINE.
961         * modules/count-one-bits (Files, lib_SOURCES):
962         Add lib/count-one-bits.c.
963         (Depends-on): Add extern-inline.
964
965         count-leading-zeros: better 'inline'
966         * lib/count-leading-zeros.c: New file.
967         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS_INLINE):
968         New macro.  Replace all uses of 'static inline' with it.
969         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
970         * m4/count-leading-zeros.m4 (gl_COUNT_LEADING_ZEROS):
971         Do not require AC_C_INLINE.
972         * modules/count-leading-zeros (Files, lib_SOURCES):
973         Add lib/count-leading-zeros.c.
974         (Depends-on): Add extern-inline.
975
976         bitrotate: better 'inline'
977         * lib/bitrotate.c: New file.
978         * lib/bitrotate.h (BITROTATE_INLINE):
979         New macros.
980         Replace all uses of 'static inline' with them.
981         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
982         * modules/bitrotate (Files, lib_SOURCES): Add lib/bitrotate.c.
983         (Depends-on): Add extern-inline.
984         (configure.ac): Do not require AC_C_INLINE.
985
986 2012-11-20  Theophile Ranquet <ranquet@lrde.epita.fr>
987
988         maint.mk: avoid gratuitous failure
989         Reported by Stefano Lattarini in
990         <http://lists.gnu.org/archive/html/bug-bison/2012-11/msg00022.html>
991         * top/maint.mk (public-submodule-commit): Quote more safely.
992
993 2012-11-20  Eli Zaretskii  <eliz@gnu.org>
994
995         canonicalize, canonicalize-lgpl: support MS-Windows file names
996         See <http://lists.gnu.org/archive/html/bug-gnulib/2012-11/msg00074.html>
997         for test cases, which it'd be nice to add at some point.
998         * lib/canonicalize.c, lib/canonicalize-lgpl.c: Include dosname.h.
999         * lib/canonicalize.c (canonicalize_filename_mode):
1000         * lib/canonicalize-lgpl.c (__realpath):
1001         Use FILE_SYSTEM_PREFIX_LEN instead of assuming that the first
1002         slash is at the beginning of the file name.  Use ISSLASH, instead
1003         of a literal '/'.  Use IS_ABSOLUTE_FILE_NAME instead of comparing
1004         the first character with '/'.  Test for
1005         DOUBLE_SLASH_IS_DISTINCT_ROOT only if the file name does not begin
1006         with a drive letter.
1007         * lib/canonicalize.c (SLASHES): New macro.
1008         (canonicalize_filename_mode): Use SLASHES instead of a literal "/".
1009
1010 2012-11-17  Dmitry V. Levin  <ldv@altlinux.org>
1011
1012         fts: introduce FTS_VERBATIM
1013         * lib/fts_.h (FTS_VERBATIM): New bit flag.
1014         (FTS_OPTIONMASK, FTS_NAMEONLY, FTS_STOP): Adjust.
1015         * lib/fts.c (fts_open): Honor it.
1016
1017 2012-11-09  Pádraig Brady  <P@draigBrady.com>
1018
1019         getlogin-tests: allow errno == ENXIO
1020         * tests/test-getlogin.c (main): Skip tests if getlogin fails
1021         with errno == ENXIO (No controlling tty).
1022         getlogin_r-tests: Likewise. Also allow errno == ENOENT
1023         * tests/test-getlogin_r.c (main): Skip tests if getlogin_r fails
1024         with errno == ENOENT.  This was reported to happen in various
1025         situations on GNU/Linux.
1026
1027 2012-11-09  Paul Eggert  <eggert@cs.ucla.edu>
1028
1029         getlogin-tests: allow errno == ENOENT
1030         * tests/test-getlogin.c (main): Skip tests if getlogin fails
1031         with errno == ENOENT.  This happened to me on Ubuntu 12.04.1 x86,
1032         when running a test in an Emacs shell buffer.
1033
1034 2012-11-08  Jim Meyering  <jim@meyering.net>
1035
1036         tests/nap.h: avoid warning about unused variable
1037         * tests/nap.h (nap_works): Remove now-unused declaration of "result".
1038
1039         prefix-gnulib-mk: avoid overzealous "lib/"-prefix addition
1040         * build-aux/prefix-gnulib-mk (prefix): Tighten a regexp to require
1041         white space before each of the special-cased file names, to avoid
1042         adding "lib/" after $(libdir)/.  Reported by Matias A. fonzo
1043         in http://bugs.gnu.org/12830.
1044
1045 2012-11-08  Paul Eggert  <eggert@cs.ucla.edu>
1046
1047         fcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY
1048         O_PATH doesn't work with Linux kernel 3.6.5, as fchmod (fd, ...)
1049         fails with errno == EBADF when fd is opened with O_PATH.
1050         Reported by Jim Meyering in
1051         <http://lists.gnu.org/archive/html/bug-gnulib/2012-11/msg00026.html>.
1052         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
1053         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default back to O_RDONLY.
1054
1055 2012-11-07  Paul Eggert  <eggert@cs.ucla.edu>
1056
1057         test-utimens: speed up by taking shorter naps
1058         * tests/nap.h (lt_mtime, get_mtime, nap_works, guess_delay):
1059         New functions.
1060         (nap): Use them, to do a better job of guessing the delay.
1061         On Fedora 17 with ext4 atop md atop hard disks, this made
1062         test-utimens run 10x faster, because the test napped for
1063         1 ms at a time rather than 20 ms.  Reported by Stefano Lattarini in
1064         <http://bugs.gnu.org/12820#11>.
1065
1066 2012-11-07  Jim Meyering  <jim@meyering.net>
1067
1068         mountlist.c: fix a compilation failure
1069         * lib/mountlist.c (read_file_system_list): Fix a compilation failure
1070         I introduced while transforming commit v0.0-7683-g613bcb6
1071
1072 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
1073
1074         errno: port to LynxOS 178 2.2.2
1075         Problem reported by Joel Brobecker in
1076         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00088.html>.
1077         * doc/posix-headers/errno.texi (errno.h): Document this.
1078         * lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros.
1079         * lib/strerror-override.c, lib/strerror-override.h (strerror_override):
1080         Supply a string for EILSEQ.
1081         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ.
1082
1083 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
1084
1085         fcntl-h: default O_SEARCH, O_EXEC to O_PATH if available
1086         Linux kernel 2.6.39 introduced O_PATH (see
1087         <http://lwn.net/Articles/433854/>) and this is a better fallback
1088         for O_SEARCH and O_EXEC than O_RDONLY, if O_PATH is available.
1089         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
1090         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default to O_PATH.
1091         * lib/fcntl.in.h (O_ACCMODE):
1092         * tests/test-fcntl-h.c (main):
1093         Do not reject O_ACCMODE merely because it has more than the
1094         minimal number of bits, as POSIX allows extensions here.
1095
1096 2012-11-04  Andrew Warshall  <warshall@99main.com>  (tiny change)
1097
1098         mountlist: do not classify a bind-mounted dir entry as "dummy"
1099         * lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit
1100         the "none"-testing clause.
1101         (ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the
1102         exception for bind-mounted directories.
1103
1104 2012-11-01  Akim Demaille  <akim@lrde.epita.fr>
1105
1106         quote: provide a means to escape strings with nul characters
1107         * lib/quote.h, lib/quotearg.c (quote_mem, quote_n_mem): New functions.
1108         (quote, quote_n): Rename formal arguments for consistency with
1109         quotearg.
1110
1111 2012-10-30  Paul Eggert  <eggert@cs.ucla.edu>
1112
1113         test-raise: don't assume 199 is an invalid signal
1114         * tests/test-raise.c (main): Don't assume 199 is not a signal number.
1115
1116         sh-quote-tests: port to Solaris 9
1117         * modules/sh-quote-tests (test_sh_quote_LDADD): Add @LIBINTL@.
1118         Problem reported by Dagobert Michelsen in
1119         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00114.html>.
1120
1121 2012-10-28  Jim Meyering  <jim@meyering.net>
1122
1123         maint.mk: rename a new configurable variable
1124         * top/maint.mk (_gl_translatable_string_re): Rename from
1125         translation-markers: _gl_ prefix to insulate from user Makefile code,
1126         and the _re suffix to inform that it's a regular expression.
1127
1128 2012-10-26  Eric Blake  <eblake@redhat.com>
1129
1130         maint.mk: let packages tweak sc_po_check pattern
1131         * top/maint.mk (sc_po_check): Add translation-markers, to allow
1132         finding files with other translation markers.
1133
1134 2012-10-16  Paul Eggert  <eggert@cs.ucla.edu>
1135
1136         euidaccess: speed up 'configure' on GNU hosts
1137         * m4/euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS):
1138         Check for setregid here, not in gl_PREREQ_EUIDACCESS, since
1139         it's needed only in this case.  Use AC_CHECK_DECLS, not
1140         AC_CHECK_DECLS_ONCE.
1141         (gl_PREREQ_EUIDACCESS): Do not use AC_CHECK_HEADERS_ONCE libgen.h
1142         or AC_REQUIRE for AC_FUNC_GETGROUPS.
1143
1144         * lib/regexec.c (re_search_internal): Fix grammar in comment.
1145
1146 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
1147
1148         fchmodat, fchownat, fstatat: port to non-inlining compilers
1149         Problem reported for FreeBSD 9 by Jim Meyering in
1150         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00070.html>.
1151         * lib/chmodat.c, lib/chownat.c, lib/statat.c:
1152         New files, which define FCHMODAT_INLINE etc.
1153         * lib/fchmodat.c (FCHMODAT_INLINE):
1154         * lib/fchownat.c (FCHOWNAT_INLINE):
1155         * lib/fstatat.c (FSTATAT_INLINE):
1156         Remove, as chmodat.c etc. now do this.
1157         * modules/fchmodat (Files): Add lib/chmodat.c.
1158         * modules/fchownat (Files): Add lib/chownat.c.
1159         * modules/fstatat (Files): Add lib/statat.c.
1160
1161 2012-10-15  Jim Meyering  <jim@meyering.net>
1162
1163         fchmodat.c, fchownat.c: compile-impeding typos
1164         * lib/fchmodat.c (FCHMODAT_INLINE): Fix typo: s/#include/#define/
1165         * lib/fchownat.c (FCHOWNAT_INLINE): Likewise.
1166         Introduced in commit v0.0-7636-gd202279.
1167
1168 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
1169
1170         fcntl-h: support GNU flags like O_IGNORE_CTTY
1171         * doc/posix-headers/fcntl.texi (fcntl.h): Support O_IGNORE_CTTY,
1172         O_NOLINK, and O_NOTRANS.  These flags are nonzero on GNU/Hurd
1173         systems.  Discovered when using fcntl-h with GNU Emacs, which uses
1174         O_IGNORE_CTTY.  Fix misspelling of F_SETLKW.
1175         * lib/fcntl.in.h (O_IGNORE_CTTY, O_NOLINK, O_NOTRANS):
1176         Define to 0 if not already defined.
1177         * tests/test-fcntl-h.c: Test these new flags.
1178
1179 2012-10-14  Paul Eggert  <eggert@cs.ucla.edu>
1180
1181         faccessat, etc.: support AT_FDCWD-only use
1182         * lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support
1183         this function only if its first argument is AT_FDCWD.
1184         Emacs wants faccessat for AT_EACCESS but not for any first-arg
1185         values other than AT_FDCWD, so it doesn't want all the openat
1186         machinery with fchdir etc.
1187         * modules/faccessat, modules/fchmodat, modules/fchownat (Files):
1188         * modules/fstatat, modules/mkdirat, modules/openat (Files):
1189         * modules/unlinkat (Files):
1190         Remove lib/openat-priv.h, as at-internal supplies this file.
1191         Removing this file here allows us to support programs like Emacs
1192         that avoid at-internal.
1193
1194         faccessat: speed up 'configure' on mainstream hosts
1195         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT):
1196         Use AT_CHECK_FUNCS for 'access', not AC_CHECK_FUNCS_ONCE,
1197         since it's only on unusual platforms that we need to check for
1198         'access', and it's better not to slow 'configure' down on all
1199         platforms.
1200
1201         faccessat: port to Solaris 10
1202         * lib/faccessat.c: Include <fcntl.h>, for AT_EACCESS.
1203         Needed on Solaris 10, which doesn't have AT_EACCESS,
1204         so we need the Gnulib fcntl.h, which defines it.
1205
1206 2012-10-14  Pádraig Brady  <P@draigBrady.com>
1207         canonicalize: fix C89 compilation
1208         * lib/canonicalize.c (canonicalize_filename_mode): Swap order of
1209         declarations so C89 is supported.  Also remove the comment
1210         referencing memorty allocation as the suggested feature could
1211         not be implemented as suggested.
1212         Reported by Michael Goffioul.
1213
1214 2012-10-12  Paul Eggert  <eggert@cs.ucla.edu>
1215
1216         group-member: omit unnecessary dependencies
1217         This is for Emacs, which has its own allocator and where we
1218         don't want to use xalloc.
1219         * lib/group-member.c: Include xalloc-oversized.h, not xalloc.h,
1220         since we no longer use xmalloc.  Do not include stdbool.h, since
1221         the changes below happen to remove the only use of bool.
1222         (GROUPBUF_SIZE): New constant.
1223         (struct group_info): Remove n_groups member.  Add groupbuf member.
1224         This lets us get the groups without using malloc, usually.
1225         (free_group_info, get_group_info): Adjust to this.
1226         (get_group_info): Return the number of groups found, or -1 on error.
1227         Use plain malloc not xmalloc, and treat its failure as if there
1228         are no groups, as the user already loses in case of error.
1229         (group_member): Simplify, based on changes to get_group_info.
1230         * modules/group-member (Depends-on): Remove dependencies on
1231         xalloc and stdbool.  Add dependency on xalloc-oversized.
1232
1233 2012-10-08  Alexandre Duret-Lutz  <adl@lrde.epita.fr>  (tiny change)
1234
1235         gethrxtime: port to C++
1236         * lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C".
1237
1238 2012-10-04  Paul Eggert  <eggert@cs.ucla.edu>
1239
1240         ptsname: fix macro-name typo
1241         * lib/stdlib.in.h (ptsname): Fix misspelling of GNULIB_NAMESPACE.
1242
1243 2012-10-03  Simon Josefsson  <simon@josefsson.org>
1244
1245         inttostr: Relax license.
1246         * modules/inttostr (License): Change from LGPL to LGPLv2+.
1247
1248 2012-10-03  Eric Blake  <eblake@redhat.com>
1249
1250         ptsname_r: support ptys returned by FreeBSD posix_openpt
1251         * lib/ptsname_r.c (__ptsname_r): Don't munge name if it already
1252         lives in /dev/pts/.
1253
1254 2012-10-02  Eric Blake  <eblake@redhat.com>
1255
1256         pselect: reject invalid file descriptors
1257         * m4/pselect.m4 (gl_FUNC_PSELECT): Probe for FreeBSD bug.
1258         * lib/pselect.c (rpl_pselect) [!win32]: Work around it.
1259         * modules/pselect (Depends-on): Add dup2.
1260         * doc/posix-functions/pselect.texi (pselect): Document this.
1261
1262         select: reject invalid file descriptors
1263         * m4/select.m4 (gl_FUNC_SELECT): Probe for FreeBSD bug.
1264         * lib/select.c (rpl_select) [!win32]: Work around it.
1265         * modules/select (Depends-on): Add dup2.
1266         * doc/posix-functions/select.texi (select): Document this.
1267
1268         select: enhance test
1269         * tests/test-select.h (do_select_bad_nfd_nowait, test_bad_nfd):
1270         New functions.
1271         (test_function): Enhance test.
1272         (do_select_bad_fd): Avoid any stale errno values.
1273
1274         ptsname: reject invalid file descriptors
1275         http://www.austingroupbugs.net/view.php?id=503
1276         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Probe for FreeBSD bug.
1277         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add new witness.
1278         * modules/stdlib (Makefile.am): Replace witness.
1279         * lib/stdlib.in.h (ptsname): Allow for replacement.
1280         * modules/ptsname (configure.ac): Trigger replacement.
1281         * doc/posix-functions/ptsname.texi (ptsname): Document this.
1282
1283 2012-10-02:  Nikos Mavrogiannopoulos  <nmav@gnutls.org>  (tiny change)
1284
1285         hash-pjw-bare: new module
1286         * lib/hash-pjw-bare.c: New file, very much like hash-pjw.c.
1287         * lib/hash-pjw-bare.h: Likewise.
1288         * modules/hash-pjw-bare: New file.
1289         * MODULES.html.sh (Misc): Add it.
1290
1291 2012-10-02  Eric Blake  <eblake@redhat.com>
1292
1293         manywarnings: cater to more gcc infelicities
1294         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for
1295         -Wuninitialized without -O.
1296
1297 2012-10-01  Ed Maste  <emaste@freebsd.org>  (tiny change)
1298
1299         select, poll tests: Make setsockopt invocation effective.
1300         * tests/test-poll.c (open_server_socket): Move setsockopt() call before
1301         the bind() call.
1302         * tests/test-select.h (open_server_socket): Likewise.
1303
1304 2012-09-30  Paul Eggert  <eggert@cs.ucla.edu>
1305
1306         sockets, sys_stat: restore AC_C_INLINE
1307         This undoes the 2012-09-22 patch.
1308         * m4/sockets.m4 (gl_SOCKETS):
1309         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
1310         Restore AC_C_INLINE, since MSVC requires __inline or _inline
1311         and does not support plain 'inline'.  Reported by Bruno Haible in
1312         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00183.html>.
1313
1314 2012-09-30  Bruno Haible  <bruno@clisp.org>
1315
1316         localeconv tests: Avoid test failure on OpenIndiana.
1317         * tests/test-localeconv.c (main): On OpenIndiana (a Solaris 11 variant)
1318         skip the 'grouping' and 'mon_grouping' tests.
1319         Reported by Jim Meyering.
1320
1321 2012-09-30  Bruno Haible  <bruno@clisp.org>
1322
1323         havelib: Follow libtool developments.
1324         * m4/lib-ld.m4: Rebase on libtool.m4 from libtool-2.4.
1325         Suggested by Simon Josefsson.
1326
1327 2012-09-29  Jim Meyering  <meyering@redhat.com>
1328
1329         fstatat.c: fix a compile-impeding typo
1330         * lib/fstatat.c (FSTATAT_INLINE): Fix typo: s/#include/#define/
1331         Introduced in commit v0.0-7636-gd202279.
1332         Mats Erik Andersson reported the resulting OpenBSD compilation failure.
1333
1334 2012-09-28  Akim Demaille  <akim@lrde.epita.fr>
1335
1336         extern-inline: provide a -Wundef safe config.h
1337         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Protect
1338         "#if __GNUC_STDC_INLINE__" with "defined __GNUC_STDC_INLINE__"
1339         to produce a -Wundef warning free config.h.
1340
1341 2012-09-26  Paul Eggert  <eggert@cs.ucla.edu>
1342
1343         hash-pjw: relax license to LGPLv2+
1344         * modules/hash-pjw (License): Relax, with consent of author.
1345
1346 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
1347
1348         maint.mk: fix strict vs. lazy variable issues with RELEASE
1349         * top/maint.mk (_equal): New function.
1350         (member_check): Strip the result to avoid spurious spaces.
1351         (url_dir_list): Do not use ifeq, which is strict, as it will
1352         require RELEASE_TYPE to be defined.
1353         (announcement_Cc_, announcement_mail_headers_): Likewise: instead
1354         of relying on ifeq, use $(release_type) to dispatch (lazily) onto...
1355         (announcement_Cc_alpha,announcement_mail_headers_alpha)
1356         (announcement_Cc_beta,announcement_mail_headers_beta)
1357         (announcement_Cc_stable,announcement_mail_headers_stable): these.
1358         (release): Do not depend on $(release-type), as it forces its
1359         evaluation.  Bounce to it.
1360
1361 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
1362
1363         maint.mk: formatting changes
1364         * top/maint.mk: Indent bodies of if's.
1365
1366 2012-09-21  Akim Demaille  <akim@lrde.epita.fr>
1367
1368         maint.mk: factor the validation of RELEASE_TYPE
1369         With help from Jim Meyering.
1370         http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00132.html
1371         * top/maint.mk (_empty, _sp): Move their definition earlier.
1372         (member-check, release-type): New.
1373         Use the latter instead of $(RELEASE_TYPE).
1374         Remove now useless local checks.
1375
1376 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
1377
1378         maint.mk: provide "make upload" to ease uploading
1379         See
1380         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00028.html>.
1381         Do not depend simply on the current $(VERSION), as there may have been
1382         new commits since the tarball generation.  Rather, rely on $(RELEASE),
1383         as "make release-commit" already does.
1384
1385         For consistency, add "make release RELEASE='X.Y TYPE'" as an alias for
1386         "make TYPE".
1387
1388         * top/maint.mk (upload_command, upload, release): New.
1389         (RELEASE_TYPE): If undefined, default to the second word of $(RELEASE).
1390         (VERSION): first word of $(RELEASE) is always right.
1391         (emit_upload_commands): Adjust.
1392         * top/README-release: Update.
1393
1394 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
1395
1396         maint.mk: silent rules
1397         With help from Stefano Lattarini.
1398         * top/maint.mk (writable-files): Use $(AM_V_GEN).
1399         (announcement): Use $(AM_V_at).
1400
1401 2012-09-24  Paul Eggert  <eggert@cs.ucla.edu>
1402
1403         localename: port gl_locale_name_thread_unsafe to FreeBSD
1404         * lib/localename.c (gl_locale_name_thread_unsafe): Port to FreeBSD,
1405         and use the simpler FreeBSD implementation on Mac OS X as well.
1406         Original idea suggested by Ed Maste in
1407         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00094.html>.
1408
1409 2012-09-22  Paul Eggert  <eggert@cs.ucla.edu>
1410
1411         binary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline'
1412         * lib/binary-io.c, lib/eealloc.c, lib/mbfile.c, lib/mbiter.c:
1413         * lib/mbuiter.c, lib/xsize.c: New files.
1414         * lib/binary-io.h (BINARY_IO_INLINE):
1415         * lib/eealloc.h (EEALLOC_INLINE):
1416         * lib/mbfile.h (MBFILE_INLINE):
1417         * lib/mbiter.h (MBITER_INLINE):
1418         * lib/mbuiter.h (MBUITER_INLINE):
1419         * lib/xsize.h (XSIZE_INLINE):
1420         New macros.
1421         Replace all uses of 'static inline' with them.
1422         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1423         * m4/eealloc.m4 (gl_EEALLOC):
1424         * m4/mbfile.m4 (gl_MBFILE):
1425         * m4/mbiter.m4 (gl_MBITER):
1426         * m4/xsize.m4 (gl_XSIZE):
1427         Do not require AC_C_INLINE.
1428         * modules/binary-io (Files, lib_SOURCES): Add lib/binary-io.c
1429         * modules/eealloc (Files, lib_SOURCES): Add lib/eealloc.c.
1430         * modules/mbfile (Files, lib_SOURCES): Add lib/mbfile.c.
1431         * modules/mbiter (Files, lib_SOURCES): Add lib/mbiter.c.
1432         * modules/mbuiter (Files, lib_SOURCES): Add lib/mbuiter.c.
1433         * modules/xsize (Files, lib_SOURCES): Add lib/xsize.c.
1434         * modules/binary-io, modules/eealloc, modules/mbfile:
1435         * modules/mbiter, modules/mbuiter:
1436         (Depends-on): Add extern-inline.
1437
1438         pipe-filter-gi, pipe-filter-ii: better use of 'inline'
1439         * lib/pipe-filter-aux.c: New file.
1440         * lib/pipe-filter-aux.h (PIPE_FILTER_AUX_INLINE): New macro.
1441         Replace all uses of 'static inline' with it.
1442         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1443         * lib/pipe-filter-gi.c (filter_init, filter_cleanup)
1444         (filter_retcode): No real need for inline here.
1445         * modules/pipe-filter-gi, modules/pipe-filter-ii:
1446         (Files): Add lib/pipe-filter-aux.c.
1447         (Depends-on): Add extern-inline.
1448         (configure.ac): Do not require AC_C_INLINE.
1449         (lib_SOURCES): Add pipe-filter-aux.c.
1450
1451         fdutimensat: omit unnecessary AC_C_INLINE
1452         * modules/fdutimensat (configure.ac): Remove AC_C_INLINE.
1453
1454         fchmodat, fchownat, fstatat: use extern-inline
1455         * lib/fchmodat.c, lib/openat.h (FCHMODAT_INLINE):
1456         * lib/fchownat.c, lib/openat.h (FCHOWNAT_INLINE):
1457         * lib/fstatat.c, lib/openat.h (FSTATAT_INLINE):
1458         New macros.
1459         * lib/openat.h:
1460         Replace all uses of 'static inline' with them.
1461         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1462         * modules/fchmodat, modules/fchownat, modules/fstatat:
1463         * modules/openat-h:
1464         (Depends-on):
1465         Add extern-inline.
1466         (configure.ac): Remove AC_C_INLINE.
1467
1468         acl, mbchar, priv-set: use extern-inline
1469         * lib/set-mode-acl.c, lib/acl-internal.h (ACL_INTERNAL_INLINE):
1470         * lib/mbchar.c, lib/mbchar.h (MBCHAR_INLINE):
1471         * lib/priv-set.c, lib/priv-set.h (PRIV_SET_INLINE):
1472         New macros.
1473         * lib/acl-internal.h, lib/mbchar.h, lib/priv-set.h:
1474         Replace all uses of 'static inline' with it.
1475         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1476         * m4/acl.m4 (gl_FUNC_ACL):
1477         * m4/mbchar.m4 (gl_MBCHAR):
1478         * m4/priv-set.m4 (gl_PRIV_SET):
1479         Remove AC_C_INLINE, since 'inline' is no longer used directly.
1480         * modules/acl, modules/mbchar, modules/priv-set (Depends-on):
1481         Add extern-inline.
1482
1483         sockets, sys_stat: remove AC_C_INLINE in MSVC-only cases
1484         * m4/sockets.m4 (gl_SOCKETS):
1485         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
1486         Remove AC_C_INLINE.  Here, 'inline' is used only in MSVC
1487         environments where it's already guaranteed to work, so we needn't
1488         check for it at 'configure'-time.
1489
1490         tls-tests: omit unnecessary 'inline'
1491         * tests/test-tls.c (perhaps_yield): No longer inline.
1492         Simplicity and portability trump efficiency in test cases.
1493
1494         utimens-tests: avoid unnecessary 'inline'
1495         * modules/fdutimensat-tests (configure.ac):
1496         * modules/futimens-tests (configure.ac):
1497         * modules/utimens-tests (configure.ac):
1498         * modules/utimensat-tests (configure.ac):
1499         Remove AC_C_INLINE.
1500         * tests/test-utimens-common.h (ctime_compare):
1501         No longer inline.  Simplicity and portability trump efficiency here.
1502
1503         misc: don't limit commentary to inline functions
1504         * lib/binary-io.h, lib/malloca.h, lib/safe-alloc.c:
1505         * lib/xalloc-oversized.h, lib/xsize.h:
1506         Contrast macros to functions in general, not just to inline functions,
1507         when the commentary does not apply only to inline functions.
1508
1509 2012-09-20  Jim Meyering  <meyering@redhat.com>
1510
1511         non-recursive-gnulib-prefix-hack: new module
1512         * build-aux/prefix-gnulib-mk: Copied from coreutils, derived from
1513         the file that originated in Bison.
1514         * m4/non-recursive-gnulib-prefix-hack.m4: Likewise, this code is
1515         largely copied from a snippet that resided in bison's configure.ac.
1516         * modules/non-recursive-gnulib-prefix-hack: New file.
1517         * MODULES.html.sh (Support for maintaining and releasing projects):
1518         Add it.
1519
1520 2012-09-18  Jim Meyering  <meyering@redhat.com>
1521
1522         maint.mk: generalize _gl_tight_scope for non-recursive make
1523         * top/maint.mk (_gl_tight_scope): Remove a hard-coded assumption
1524         that *.h would describe additional .h files in the directory
1525         specified by $(_gl_TS_dir).  I.e., add this...
1526         (_gl_TS_other_headers): New variable.
1527
1528         maint.mk: exempt trailing blanks found in "binary" files
1529         * top/maint.mk (sc_trailing_blank): Filter out any matches found in
1530         "binary" files, as reported by grep.  Suggested by Richard W.M. Jones
1531         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
1532
1533 2012-09-17  Jim Meyering  <meyering@redhat.com>
1534
1535         maint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX
1536         * top/maint.mk (sc_prohibit_path_max_allocation): Avoid false-positive
1537         match for symbols like UNIX_PATH_MAX. Reported by Richard W.M. Jones
1538         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
1539
1540 2012-09-17  Jim Meyering  <meyering@redhat.com>
1541
1542         maint.mk: teach sc_prohibit_magic_number_exit to accept 77
1543         * top/maint.mk (sc_prohibit_magic_number_exit): Do not complain about
1544         uses like "exit (77)".  "77" is automake's "skip this test" exit code.
1545         It is not in the same category as "exit (0)" or "exit (1)", and
1546         besides, I know of no symbolic name for that 77.  Reported by
1547         Richard W.M. Jones in
1548         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
1549
1550 2012-09-17  Jim Meyering  <meyering@redhat.com>
1551
1552         maint.mk: relax sc_prohibit_strcmp, to avoid a false positive
1553         * top/maint.mk (sc_prohibit_strcmp): Relax regexp, so as to match
1554         all uses of #define, not just those that start in column 1.
1555         Richard W.M. Jones reported a false positive in
1556         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
1557
1558 2012-09-16  Paul Eggert  <eggert@cs.ucla.edu>
1559
1560         localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX
1561         * lib/localcharset.c (locale_charset) [DARWIN7]:
1562         Return "ASCII" if the system reports "UTF-8" and MB_CUR_MAX <= 1,
1563         as these two values are incompatible.  Problem reported by Max Horn.
1564         For more discussion, please see
1565         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00061.html>.
1566
1567         doc: document sticky-EOF issue
1568         * doc/posix-functions/fgetc.texi (fgetc):
1569         * doc/posix-functions/fgets.texi (fgets):
1570         * doc/posix-functions/fread.texi (fread):
1571         * doc/posix-functions/fscanf.texi (fscanf):
1572         * doc/posix-functions/getc.texi (getc):
1573         * doc/posix-functions/getchar.texi (getchar):
1574         * doc/posix-functions/scanf.texi (scanf):
1575         Mention that glibc and default Solaris do not conform to
1576         C99 and POSIX-2001 or later, with respect to how getchar
1577         etc. behave when feof reports nonzero.
1578
1579 2012-09-13  Joachim Schmitz <jojo@schmitz-digital.de>  (tiny change)
1580
1581         poll: fix poll(0, NULL, msec)
1582         * lib/poll.c: don't exit early if NULL is the 1st arg to poll(),
1583         but nfd is 0.  In that case poll should behave like select.
1584
1585 2012-09-13  Joachim Schmitz <jojo@schmitz-digital.de>  (tiny change)
1586             Paolo Bonzini <bonzini@gnu.org>
1587
1588         poll: fix for systems that can't recv() on a non-socket
1589         * lib/poll.c: if recv returns ENOTSOCK, assume the descriptor
1590         is readable.  In this case POLLHUP will not be supported.
1591         * doc/posix-functions/poll.texi: Document this.
1592
1593 2012-09-13  Paolo Bonzini  <bonzini@gnu.org>
1594
1595         poll/select: document portability problems not fixed by Gnulib.
1596         * doc/posix-functions/poll.texi: poll does not work well on
1597         pipes under Windows.  It has the same limitations as select on
1598         BeOS.
1599         * doc/posix-functions/select.texi: select does not work well
1600         on pipes under Windows.
1601
1602 2012-09-10  Paul Eggert  <eggert@cs.ucla.edu>
1603
1604         fcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT
1605         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Check for AIX 7.1 bug
1606         that caused a GNU tar test failure.  Problem reported by Jez Wain; see
1607         <http://lists.gnu.org/archive/html/bug-tar/2012-07/msg00018.html>.
1608
1609 2012-09-06  Eric Blake  <eblake@redhat.com>
1610
1611         net_if: give more details about the bug being fixed
1612         * doc/posix-headers/net_if.texi: Add clarification.
1613
1614 2012-09-05  Eric Blake  <eblake@redhat.com>
1615
1616         net_if: new module
1617         * modules/net_if: New module, borrowing ideas from netinet_in.
1618         * m4/net_if_h.m4: New file.
1619         * lib/net_if.in.h: Likewise.
1620         * doc/posix-headers/net_if.texi (net/if.h): Document it.
1621         * MODULES.html.sh (lacking POSIX:2008): Likewise.
1622         * tests/test-net_if.c: Make function checks conditional.
1623         Reported by Jasper Lievisse Adriaanse <jasper@humppa.nl>.
1624
1625 2012-09-05  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
1626
1627         readutmp: fix non-portable UT_PID use
1628         * lib/readutmp.c (desirable_utmp_entry) <READ_UTMP_CHECK_PIDS>:
1629         Use `UT_PID (u) > 0' as absolute condition.
1630
1631 2012-09-04  Jim Meyering  <meyering@redhat.com>
1632
1633         fts: reduce two or more trailing spaces to just one, usually
1634         * lib/fts.c (fts_open): Upon initialization, if a name ends in two
1635         or more slashes, trim all but the final one.  But if a name consists
1636         solely of two slashes, don't modify it.  If it consists solely of
1637         three or more slashes, strip all but one.
1638
1639         This is part of the solution to a minor problem with rm:
1640         it would print a bogus ELOOP diagnostic when failing to remove
1641         the slash-decorated name of a symlink-to-directory:
1642
1643             $ mkdir d && ln -s d s && env rm -r s/
1644             rm: cannot remove 's': Too many levels of symbolic links
1645
1646         With the change below and a trivial don't-trim-trailing-slashes
1647         adjustment to remove.c, it does this:
1648
1649             $ env rm -r s/
1650             rm: cannot remove 's/': Not a directory
1651
1652         Improved by: Eric Blake
1653
1654         fts: when there is no risk of overlap, use memcpy, not memmove
1655         * lib/fts.c (fts_alloc): Fix unjustified memcopy: s/memmove/memcpy/
1656
1657 2012-08-29  Paul Eggert  <eggert@cs.ucla.edu>
1658
1659         stdbool: be more compatible with mixed C/C++ compiles
1660         * lib/stdbool.in.h (_Bool, true, false) [__cplusplus]:
1661         Define to bool, true, false, respectively, as GCC's builtin
1662         stdbool.h does.  Problem reported by Michael Goffioul in
1663         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00143.html>.
1664
1665 2012-08-28  Jim Meyering  <meyering@redhat.com>
1666
1667         revert last change: it was not needed
1668         * tests/test-vc-list-files-git.sh: There's already a test for
1669         a working git, just below.
1670
1671 2012-08-28  Jim Meyering  <meyering@redhat.com>
1672
1673         tests: test-vc-list-files-git.sh: skip if git is not available
1674         * tests/test-vc-list-files-git.sh: Skip this test when git is
1675         not available.
1676
1677 2012-08-26  Bruno Haible  <bruno@clisp.org>
1678
1679         gnulib-tool: Remove no-op option --no-changelog.
1680         * gnulib-tool (func_usage): Don't mention --no-changelog.
1681         (do_changelog): Remove variable.
1682         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
1683
1684 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
1685
1686         doc: remove fdl-1.2.texi
1687         It is no longer used or maintained, and its use of @acronym
1688         is problematic.  See the thread containing
1689         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00134.html>.
1690         * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
1691         * doc/old-licenses/fdl-1.2.texi: Remove.
1692
1693         execinfo: port to FreeBSD
1694         * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
1695         if needed, as in FreeBSD.  Reported by Bastien Roucariès in
1696         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00113.html>.
1697         * modules/execinfo (Link): Add $(LIB_EXECINFO).
1698
1699 2012-08-23  Jim Meyering  <meyering@redhat.com>
1700
1701         xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
1702         * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
1703         to placate gcc's -Wold-style-declaration.
1704
1705 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
1706
1707         doc: do not use @acronym
1708         * doc/inet_ntoa.texi (inet_ntoa):
1709         * doc/parse-datetime.texi (Seconds since the Epoch)
1710         (Specifying time zone rules):
1711         * doc/posix-functions/inet_ntoa.texi (inet_ntoa):
1712         Don't use @acronym.  Problem reported by John Darlington in
1713         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00124.html>.
1714
1715 2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
1716
1717         stdnoreturn: port to newer GCCs
1718         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
1719         bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
1720         Problem reported by Jim Meyering in
1721         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00121.html>.
1722         Also, rename the 'test' function to a void a clash with the
1723         already-supplied 'main' function; this fixes a bug that incorrectly
1724         rejected GCC 4.7.1's <stdnoreturn.h>.
1725         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
1726         Document GCC problem.
1727
1728 2012-08-22  Reuben Thomas  <rrt@sc3d.org>
1729
1730         pipe-filter: fix comment typo
1731         * lib/pipe-filter.h: Mention correct function.
1732
1733 2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
1734
1735         execinfo: new module
1736         This is for Emacs.  Currently, it provides a no-effect stub
1737         on all platforms where it does not already work.
1738         It already works on glibc-based systems, and on Solaris 11.
1739         * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
1740         New files.
1741         * doc/glibc-headers/execinfo.texi (execinfo.h):
1742         * MODULES.html.sh (Misc): Document it.
1743
1744 2012-08-20  Paul Eggert  <eggert@cs.ucla.edu>
1745
1746         extern-inline: support old GCC 'inline'
1747         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
1748         if available.  This applies to GCC versions 2.7 through 4.2, or
1749         when newer GCC is using -fgnu89-inline.  The goal is to address
1750         some of the performance issues mentioned by Bruno Haible in
1751         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00097.html>.
1752
1753 2012-08-20  Eric Blake  <eblake@redhat.com>
1754
1755         maint.mk: avoid redundant file name in message
1756         * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
1757         (sc_prohibit_defined_have_decl_tests, sc_const_long_option)
1758         (sc_makefile_path_separator_check): Remove bogus $(ME).
1759
1760 2012-08-20  Mike Frysinger <vapier@gentoo.org>
1761
1762         timer-time: fix link order when static linking on glibc
1763         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
1764         _after_ -lrt so that it's significant.
1765
1766 2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
1767
1768         timespec: omit unnecessary AC_C_INLINE
1769         * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.
1770
1771         stat-time: omit unnecessary AC_C_INLINE
1772         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
1773         Do not require AC_C_INLINE.
1774
1775         ignore-value: omit unnecessary AC_C_INLINE
1776         * modules/ignore-value (configure.ac): Do not require AC_C_INLINE.
1777
1778         sys_select: avoid 'static inline'
1779         * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.
1780
1781         mktime: avoid 'static inline'
1782         * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
1783         * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.
1784
1785 2012-08-19  Bruno Haible  <bruno@clisp.org>
1786
1787         gnulib-tool: Improve coding style.
1788         * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
1789         func_emit_lib_Makefile_am.
1790         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
1791
1792 2012-08-19  Bruno Haible  <bruno@clisp.org>
1793
1794         gnulib-tool: Fix indentation.
1795         * gnulib-tool (func_import): Fix indentation.
1796
1797 2012-08-19  Bruno Haible  <bruno@clisp.org>
1798
1799         gnulib-tool: Remove old file names from .cvsignore, .gitignore.
1800         * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
1801         on the list of removed files.
1802
1803 2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
1804
1805         test-parse-datetime: avoid glibc leap-second glitch
1806         * tests/test-parse-datetime.c (main): Set TZ to US Eastern time
1807         with the 2012 rules.  Problem reported by Bruce Dubbs in
1808         <http://bugs.gnu.org/12206>.
1809
1810 2012-08-14  Bruno Haible  <bruno@clisp.org>
1811
1812         gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.
1813         * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
1814         from argument.
1815         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
1816
1817 2012-08-14  Eric Blake  <eblake@redhat.com>
1818
1819         ldexp: relax license
1820         * modules/ldexp (License): Trivial relax, since the module only
1821         provides a permissively licensed m4 file.
1822
1823 2012-08-13  Bruno Haible  <bruno@clisp.org>
1824
1825         gnulib-tool: Fix persistence of --witness-c-macro option.
1826         * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
1827         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
1828
1829 2012-08-11  Eric Blake  <eblake@redhat.com>
1830
1831         count-leading-zeros: use a lookup table on non-gcc compilers
1832         * lib/count-leading-zeros.h (count_leading_zeros_32): Use an
1833         alternate implementation, suggested by Jim Meyering.
1834
1835 2012-08-10  Eric Blake  <eblake@redhat.com>
1836
1837         count-leading-zeros: new module
1838         * modules/count-leading-zeros: New module.
1839         * m4/count-leading-zeros.m4: New file.
1840         * lib/count-leading-zeros.h: Likewise.
1841         * modules/count-leading-zeros-tests: New test.
1842         * tests/test-count-leading-zeros.c: New file.
1843         * MODULES.html.sh (Integer arithmetic functions): Document it.
1844
1845 2012-08-07  Simon Josefsson  <simon@josefsson.org>
1846             Jim Meyering  <meyering@redhat.com>
1847
1848         maintainer-makefile: Fix syntax error with dash.
1849         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
1850         (sc_vulnerable_makefile_CVE-2012-3386): Likewise.
1851
1852 2012-08-05  Jim Meyering  <meyering@redhat.com>
1853
1854         extern-inline: also ignore -Wmissing-declarations
1855         * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
1856         required with gcc-4.8.0-to-be.
1857
1858         maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
1859         * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
1860         for /error ?([^,]*)/.  This avoids false-positives for strings like
1861         "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
1862
1863 2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
1864
1865         gnumakefile: better interaction with Automake-NG
1866         * modules/gnumakefile [Makefile.am]: The makefiles generated by
1867         Automake-NG always contain a definition of VPATH, even in non-VPATH
1868         builds (its value being simply '.' in that case).  So, in the
1869         'clean-GNUmakefile' rule, to determine whether running under a
1870         VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
1871         '$(VPATH)' expands to the empty string.
1872
1873 2012-08-02  Carlo de Falco  <carlo.defalco@polimi.it>  (tiny change)
1874
1875         base64: Use extern C scope in header file, for C++.
1876         * lib/base64.h: Add C++ namespace protection.
1877
1878 2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
1879
1880         stat-time, timespec, u64: support naive out-of-dir builds
1881         * lib/stat-time.c, lib/timespec.c, lib/u64.c:
1882         Use '#include "foo.h"', not '#include <foo.h>', when including
1883         one's own interface.  This works better when configuring with
1884         out-of-directory builds, since packages need not add an
1885         otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
1886
1887 2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
1888
1889         utimens: use extern-inline
1890         * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
1891         * lib/utimens.h: Add copyright notice, since this is now large enough
1892         to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1893         (_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
1894         * modules/utimens (Depends-on): Add extern-inline.
1895
1896         u64: use extern-inline
1897         * lib/u64.c: New file.
1898         * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1899         (_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
1900         * modules/u64 (Files): Add lib/u64.c.
1901         (Depends-on): Add extern-inline.
1902         (configure.ac): No need to require AC_C_INLINE, since extern-inline
1903         does that now.
1904         (lib_SOURCES): Add u64.c.
1905
1906         timespec: use extern-inline
1907         * lib/timespec.c: New file.
1908         * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1909         (_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
1910         * modules/timespec (Files): Add lib/timespec.c.
1911         (Depends-on): Add extern-inline.
1912         (lib_SOURCES): Add timespec.c.
1913
1914         stat-time: use extern-inline
1915         * lib/stat-time.c: New file.
1916         * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1917         (_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
1918         * modules/stat-time (Files): Add lib/stat-time.c.
1919         (Depends-on): Add extern-inline.
1920         (lib_SOURCES): Add stat-time.c.
1921
1922         extern-inline: new module
1923         * modules/extern-inline, m4/extern-inline.m4: New files.
1924         This is for better support of 'extern inline' a la ISO C99,
1925         with a portable alternative on compilers that do not support
1926         C99-style 'extern inline'.  Using 'extern inline' shrinks the size
1927         of the Emacs executable, when compiled with debugging disabled,
1928         which is a typical way that Emacs is built while developing.
1929
1930 2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
1931
1932         maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
1933         * build-aux/do-release-commit-and-tag: Move variable definitions
1934         together.
1935         ($branch): Instead of defaulting to "master", default to the current
1936         branch (as gnu-web-doc-update does).
1937         (help): Display the current values of the option arguments.
1938         * top/maint.mk (release-commit): New.
1939         * top/README-release: Simplify the corresponding step.
1940
1941 2012-07-30  Eric Blake  <eblake@redhat.com>
1942
1943         passfd: fix comment on recvfd
1944         * lib/passfd.c (recvfd): Fix comment.
1945         Reported by Jann Horn <jannhorn@googlemail.com>.
1946
1947 2012-07-30  Jim Meyering  <meyering@redhat.com>
1948
1949         maint.mk: avoid a sub-shell
1950         * top/maint.mk (release-prep): Remove unneeded sub-shell.
1951
1952 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
1953
1954         maint.mk: use silent-rules support from Automake
1955         * top/maint.mk (news-check, vc-diff-check, announcement)
1956         (no-submodule-changes, alpha beta stable, release-prep)
1957         (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
1958
1959 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
1960
1961         maint.mk: provide a web-manual-update target
1962         * top/maint.mk: here.
1963         * top/README-release: Use it to simplify the web manual update step.
1964
1965 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
1966
1967         README-release: shorten the circuit to post a news
1968         * top/README-release: Point directly to the news submission form.
1969
1970 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
1971
1972         gnu-web-doc-update: fix --help
1973         * build-aux/gnu-web-doc-update: The information "top level" was written
1974         twice.
1975
1976 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
1977
1978         maint.mk: absolute VPATH issue
1979         * top/maint.mk (release-prep): Help Git find .git/.
1980         From Jim Meyering.
1981
1982 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
1983
1984         gitlog-to-changelog: fix previous change
1985         * build-aux/gitlog-to-changelog: Fix condition.
1986         Add missing ";".
1987
1988 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
1989
1990         gitlog-to-changelog: don't expect .git to be in $srcdir
1991         Reported by Bruno Haible.
1992         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00265.html>
1993         * build-aux/gitlog-to-changelog (&git_dir_option): New.
1994         Use it.
1995
1996 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
1997
1998         maint.mk: absolute VPATH build fix
1999         * top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
2000         $(srcdir) is not a parent of $(builddir).
2001
2002 2012-07-28  John Darrington  <john@darrington.wattle.id.au>
2003
2004         clean-temp: Fix memory leak.
2005         * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and
2006         'files' members of tmpdir.
2007
2008 2012-07-27  Jim Meyering  <meyering@redhat.com>
2009
2010         maint.mk: new rule: refresh-gnulib-patches
2011         I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale.
2012         Use this rule to refresh them.
2013         * top/maint.mk (refresh-gnulib-patches): New rule.
2014
2015 2012-07-24  Bruno Haible  <bruno@clisp.org>
2016
2017         gnulib-tool: Fix handling of inctests variable.
2018         * gnulib-tool: Canonicalize $inctests also in 'update' mode.
2019         Reported by Nick Bowler <nbowler@elliptictech.com>.
2020
2021 2012-07-22  Bruno Haible  <bruno@clisp.org>
2022
2023         getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
2024         * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
2025         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
2026         Remove exemption for getpass.h.
2027         Suggested by Eric Blake.
2028
2029 2012-07-20  Eric Blake  <eblake@redhat.com>
2030
2031         verify: document conflict with -Wnested-externs
2032         * lib/verify.h: Give hint about usage when gcc warnings are enabled.
2033
2034         maint.mk: forbid exit(-1)
2035         * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
2036
2037 2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
2038
2039         fsusage: port back to Solaris
2040         * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
2041         error (fsd not declared) on Solaris 10.  Reported privately by
2042         Andrew Borodin.
2043
2044 2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
2045
2046         gnu-web-doc-update: fix error messages
2047         * build-aux/gnu-web-doc-update: Don't pass $ME to die.
2048
2049         gnu-web-doc-update: check the requirements.
2050         * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
2051         ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
2052         * build-aux/bootstrap (find_tool): Comment change.
2053
2054 2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
2055
2056         maint.mk: minor simplication.
2057         * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
2058         for default values.
2059
2060 2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
2061
2062         gitlog-to-changelog: VPATH build issues
2063         If builddir is not a subdirectory of srcdir, running git from it will
2064         fail.
2065         * build-aux/gitlog-to-changelog (--srcdir): New option.
2066
2067 2012-07-15  Bruno Haible  <bruno@clisp.org>
2068
2069         fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
2070         * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
2071         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
2072         Remove exemption for fpending.h.
2073         Suggested by Eric Blake.
2074
2075 2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
2076
2077         pthread_sigmask: fix bug on FreeBSD 9
2078         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
2079         Include string.h.
2080         (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
2081         When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
2082         this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
2083         but pthread_sigmask (1729, NULL, NULL) returns zero.
2084         See <http://bugs.gnu.org/11884>.
2085         Avoid the need to call pthread_sigmask (1729, ...) in most cases,
2086         by inspecting whether the main call changed the old mask.
2087
2088 2012-07-15  Reuben Thomas  <rrt@sc3d.org>
2089
2090         README-release: make it more legible
2091         * top/README-release: Improve typography slightly.
2092
2093 2012-07-15  Jim Meyering  <meyering@redhat.com>
2094
2095         maint: require that each sc_... command start with "@"
2096         * Makefile (sc_prohibit_sc_omitted_at): New rule so that
2097         "make sc_maint" helps us avoid this nit.
2098
2099 2012-07-15  Jim Meyering  <meyering@redhat.com>
2100
2101         maint.mk: add leading "@" to quiet new "make syntax-check" rule
2102         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
2103
2104 2012-07-13  Eric Blake  <eblake@redhat.com>
2105
2106         maint.mk: new syntax check for HAVE_DECL checks
2107         * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
2108         * cfg.mk
2109         (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
2110         Exempt some false positives.
2111         Based on a report by Karel Zak.
2112
2113         argp: make HAVE_DECL usage consistent
2114         * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
2115         macros, not whether they are defined.
2116         * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
2117         convention with other declaration checks.
2118         Reported by Karel Zak, with suggestions from Paul Eggert.
2119
2120         stat-time: relax license to LGPLv2+
2121         * modules/stat-time (License): Relax, with consent of all authors.
2122
2123         strndup: fix m4 usage error
2124         * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
2125         defined, to either 0 or 1.
2126         Reported by Karel Zak.
2127
2128 2012-07-11  Jim Meyering  <meyering@redhat.com>
2129
2130         maint: enable the sc_avoid_if_before_free syntax-check rule
2131         * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
2132         (if_before_free_offenders_): Define.
2133         (if_before_free_basename_re_): Define.
2134         Exempt current files with useless if-before-free.
2135
2136 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
2137
2138         gettext: do not assume '#define ... defined ...' behavior
2139         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
2140         Do not use '#define FOO ... defined BAR ...', as the C standard says
2141         it's not portable to expect that this works after macro expansion.
2142         Problem reported for gzip by Steven M. Schweda in
2143         <http://lists.gnu.org/archive/html/bug-gzip/2012-07/msg00000.html>.
2144
2145 2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
2146
2147         getloadavg: clean out old Emacs and Autoconf cruft
2148         See Glenn Morris in <http://bugs.gnu.org/11905>.
2149         * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
2150         Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
2151         (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
2152         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
2153
2154 2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
2155
2156         bootstrap: let warn be like tests/init.sh's warn_
2157         Reported by Jim Meyering.
2158         * build-aux/bootstrap (warn): Remove, replaced by...
2159         (warnf_, warn_): these.
2160         Adjust callers.
2161         Shorten messages that no longer fit in 80 columns.
2162
2163 2012-07-09  Bruno Haible  <bruno@clisp.org>
2164
2165         getopt: Simplify after Emacs changed.
2166         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
2167         (gl_GETOPT_IFELSE): Remove macro.
2168
2169 2012-07-09  Jim Meyering  <meyering@redhat.com>
2170
2171         maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
2172         * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
2173
2174         maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
2175         Bugs in both of those conspired to make the
2176         sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
2177         _sc_search_regexp's handling of non-empty $in_files would filter
2178         out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
2179         choice of in_files value meant there would be no match in most
2180         projects, due to the presence of two or more Makefile.in files.
2181         * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
2182         Fix a bug in how a non-empty $$in_files was processed:
2183         (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
2184         in spite of the name, it's a regexp, not a list of file names.
2185
2186 2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
2187
2188         getloadavg, getopt: fix commentary re configure.in
2189         Autoconf is deprecating the name 'configure.in', so change it to
2190         to the new name 'configure.ac' in a couple of places.
2191         * lib/getloadavg.c: configure.in -> configure.ac, in comment.
2192         * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
2193         (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
2194         Emacs has renamed it to configure.ac, and it no longer refers
2195         to these macros anyway.
2196
2197         timespec: mark functions with const attributes
2198         * lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
2199         Mark with _GL_ATTRIBUTE_CONST.
2200
2201 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
2202
2203         canonicalize[-lgpl]: handle "guessing" values when cross-building
2204         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
2205         (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
2206         matches "*yes" instead of just "yes".  Regression introduced in commit
2207         e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.
2208
2209 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
2210             Bruno Haible  <bruno@clisp.org>
2211
2212         canonicalize: make the right guess when cross-compiling to GNU
2213         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
2214         determine whether cross-compiling to glibc systems, so as to
2215         include GNU/Hurd.
2216
2217 2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
2218
2219         timespec-sub: avoid duplicate include
2220         * lib/timespec-sub.c: Do not include <config.h> twice.
2221         Reported by Juanma Barranquero.
2222
2223 2012-07-06  Akim Demaille  <akim@lrde.epita.fr>
2224
2225         bootstrap: use a more consistent error reporting scheme
2226         * build-aux/bootstrap (warn, die): New.
2227         Use them.
2228
2229 2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
2230
2231         sys_time: allow too-wide tv_sec
2232         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
2233         timeval even if tv_sec is wider than time_t.  This allows
2234         OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
2235         as without this patch gnulib replaces struct timeval
2236         and OpenBSD futimes therefore has a type mismatch.
2237         * doc/posix-headers/sys_time.texi: Mention this.
2238
2239         pthread: check for both pthread_create and pthread_join
2240         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
2241         alter the check so that it tests for both pthread_create and
2242         pthread_join.  This should be more portable to hosts like OSF/1 5.1.
2243         Suggested by Bruno Haible and Richard Yao in
2244         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00048.html>.
2245
2246         parse-datetime: doc tuneup
2247         * doc/parse-datetime.texi: Index "leap seconds" and fix minor
2248         spacing issues.
2249
2250 2012-07-05  Akim Demaille  <akim@lrde.epita.fr>
2251
2252         do-release-commit-and-tag: fix the previous commit
2253         * build-aux/do-release-commit-and-tag: Actually the test was right,
2254         but the comment and the error message were misleading.
2255         Fix comment, and improve error message.
2256         Perform check first, so that NEWS is not modified uselessly.
2257
2258         do-release-commit-and-tag: fix typo
2259         * build-aux/do-release-commit-and-tag: Be sure that NEWS does
2260         _not_ start with a stub.
2261
2262 2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
2263
2264         pthread: check for pthread_create, not pthread_join
2265         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
2266         pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
2267         pthread_join in libc.  I hope this removes the need for all the
2268         OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
2269         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00042.html>.
2270
2271 2012-07-04  Jim Meyering  <meyering@redhat.com>
2272
2273         parse-datetime: fix failure to diagnose invalid input
2274         date -d "$(printf '\xb0')" would print 00:00:00 with today's date
2275         rather than diagnosing the invalid input.  Now it reports this:
2276         date: invalid date '\260'
2277         * lib/parse-datetime.y (to_uchar): Define.
2278         (yylex): Don't sign-extend "other" bytes.
2279         * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
2280         Thanks to Bruno Haible for the patch to this file.
2281         * tests/test-parse-datetime.c (main): Add a test to trigger the bug.
2282         Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843
2283
2284 2012-07-03  Jim Meyering  <meyering@redhat.com>
2285
2286         bootstrap: do not require now-removed build-aux/missing
2287         Now that build-aux/missing is, er, missing, bootstrap would
2288         silently fail.
2289         * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
2290         from the list, now that (since commit v0.0-7489-gd0f486f) the file is
2291         no longer part of gnulib.
2292         Diagnose the failure.
2293
2294 2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
2295
2296         alloca: add support for HP NonStop TNS/E native
2297         * lib/alloca.in.h (alloca): Support the new host.
2298         From a suggestion by Joachim Schmitz in
2299         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00355.html>.
2300
2301 2012-07-02  Pádraig Brady  <P@draigBrady.com>
2302
2303         fsusage: remove code not needed on non GNU/Linux systems.
2304
2305         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
2306         Don't include headers no longer needed in this case.
2307         * lib/fsusage.c [STAT_STATVFS &&
2308         ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
2309         STAT_STATFS2_FRSIZE to exclude code not used in this case.
2310
2311 2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
2312
2313         fsusage: include files needed for glibc 2.6 fallback
2314         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
2315         Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
2316         as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
2317         Problem reported by Ludovic Courtès in
2318         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00005.html>.
2319
2320         fsusage: avoid needless check on GNU/Linux
2321         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
2322         on GNU/Linux systems, since it can't possibly work.
2323
2324 2012-07-01  Bruno Haible  <bruno@clisp.org>
2325
2326         log: Fix an autoconf >= 2.64 warning.
2327         * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
2328         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
2329
2330 2012-06-28  Bruno Haible  <bruno@clisp.org>
2331
2332         log10f: Fix possible configuration problem.
2333         * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
2334         $LOGF_LIBM.
2335         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
2336
2337 2012-06-28  Bruno Haible  <bruno@clisp.org>
2338
2339         remove: No longer override on all platforms. Fixes bug from 2010-03-20.
2340         * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
2341         not gl_cv_func_unlink_works.
2342         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
2343
2344 2012-06-27  Eric Blake  <eblake@redhat.com>
2345
2346         config: drop scripts that automake says are not independent
2347         * config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
2348         * build-aux/elisp-comp: Delete.
2349         * build-aux/missing: Likewise.
2350         * build-aux/ylwrap: Likewise.
2351         * modules/elisp-comp: Likewise.
2352         * MODULES.html.sh: Drop mention of elisp-comp.
2353         * NEWS: Mention this.
2354
2355 2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
2356
2357         root-uid: new module
2358         This is for portability to Tandem's NonStop Kernel.
2359         * lib/root-uid.h, modules/root-uid: New files.
2360         * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
2361         * lib/write-any-file.c, tests/test-sethostname2.c:
2362         Include "root-uid.h".
2363         * lib/euidaccess.c (euidaccess):
2364         * lib/pt_chown.c (main):
2365         * lib/unlinkdir.c (cannot_unlink_dir):
2366         * lib/write-any-file.c (can_write_any_file):
2367         * m4/mknod.m4 (gl_FUNC_MKNOD):
2368         * tests/test-sethostname2.c (geteuid, main):
2369         Don't assume ROOT_UID == 0.
2370         * modules/euidaccess (Depends-on):
2371         * modules/pt_chown (Depends-on):
2372         * modules/sethostname-tests (Depends-on):
2373         * modules/unlinkdir (Depends-on):
2374         * modules/write-any-file (Depends-on):
2375         Add root-uid.
2376
2377         regex: use locale-independent comparison for codeset name
2378         See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
2379         * lib/regcomp.c (init_dfa): Use just ASCII case comparison
2380         for codeset name.
2381         * lib/regex_internal.h: Do not include <strings.h>, since we
2382         no longer use strcasecmp.
2383         * modules/regex (Depends-on): Remove strcase.
2384
2385 2012-06-23  Bruno Haible  <bruno@clisp.org>
2386
2387         getopt-posix: No longer guarantee that option processing is resettable.
2388         * doc/posix-functions/getopt.texi: Drop description of problem with
2389         internal state. Fix info about mingw and msvc9.
2390         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
2391         option processing by getopt(). Run three test programs instead of one.
2392         Simplify cross-compilation guess.
2393         * NEWS: Mention the change.
2394         Reported by Rich Felker <dalias@aerifal.cx>.
2395
2396 2012-06-26  Bruno Haible  <bruno@clisp.org>
2397
2398         argp, regex: Ensure strcasecmp gets declared.
2399         * lib/argp-help.c: Include <strings.h>.
2400         * lib/regex_internal.h: Likewise.
2401         Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.
2402
2403 2012-06-24  Bruno Haible  <bruno@clisp.org>
2404
2405         ptsname_r: Make it consistent with ptsname on AIX.
2406         * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
2407         implementation as for OSF/1.
2408         * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
2409         a pty master.
2410
2411         ptsname_r: Make it consistent with ptsname on OSF/1.
2412         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
2413         OSF/1.
2414
2415 2012-06-24  Bruno Haible  <bruno@clisp.org>
2416
2417         ttyname_r: Fix result on OSF/1, Solaris.
2418         * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.
2419
2420 2012-06-24  Bruno Haible  <bruno@clisp.org>
2421
2422         ptsname_r: Add support for Solaris.
2423         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
2424         Solaris.
2425
2426         ptsname_r: Fix test failure on native Windows.
2427         * modules/ptsname_r (Depends-on): Add isatty.
2428
2429         ptsname_r: Fix test failures on IRIX, Solaris.
2430         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
2431         errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
2432         accordingly.
2433         * lib/ptsname_r.c: Include <fcntl.h>.
2434         (__ptsname_r): When isatty returned false, then on IRIX, Solaris
2435         set errno if fd is invalid.
2436         * tests/test-isatty.c (main): Update comments.
2437
2438 2012-06-24  Bruno Haible  <bruno@clisp.org>
2439
2440         ptsname test: Extend test.
2441         * tests/test-ptsname.c: Include <errno.h>.
2442         (main): Test behaviour with invalid file descriptor.
2443
2444 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
2445
2446         time: fix obsolete comment
2447         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
2448         reference to HAVE_STRUCT_TIMESPEC in comment.
2449
2450 2012-06-23  Bruno Haible  <bruno@clisp.org>
2451
2452         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
2453         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
2454         does not handle abbreviated long options with equivalent
2455         disambiguations, set gl_replace_getopt to yes.
2456         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
2457
2458 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
2459
2460         time_r: fix typo that always overrode localtime_r decl
2461         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
2462         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
2463         not in a standard include.
2464
2465 2012-06-22  Bruno Haible  <bruno@clisp.org>
2466
2467         Write "Mac OS X" instead of "MacOS X".
2468         * README: Write "Mac OS X" instead of "MacOS X".
2469         * build-aux/bootstrap: Likewise.
2470         * build-aux/install-reloc: Likewise.
2471         * lib/acl-internal.h: Likewise.
2472         * lib/acl_entries.c: Likewise.
2473         * lib/argp-ba.c: Likewise.
2474         * lib/argp-pv.c: Likewise.
2475         * lib/config.charset: Likewise.
2476         * lib/copy-acl.c: Likewise.
2477         * lib/csharpexec.c: Likewise.
2478         * lib/euidaccess.c: Likewise.
2479         * lib/fbufmode.c: Likewise.
2480         * lib/fflush.c: Likewise.
2481         * lib/file-has-acl.c: Likewise.
2482         * lib/filemode.h: Likewise.
2483         * lib/fpurge.c: Likewise.
2484         * lib/freadable.c: Likewise.
2485         * lib/freadahead.c: Likewise.
2486         * lib/freading.c: Likewise.
2487         * lib/freadptr.c: Likewise.
2488         * lib/freadseek.c: Likewise.
2489         * lib/fseeko.c: Likewise.
2490         * lib/fseterr.c: Likewise.
2491         * lib/fsusage.c: Likewise.
2492         * lib/fwritable.c: Likewise.
2493         * lib/fwriting.c: Likewise.
2494         * lib/get-rusage-as.c: Likewise.
2495         * lib/get-rusage-data.c: Likewise.
2496         * lib/getdomainname.c: Likewise.
2497         * lib/idpriv-drop.c: Likewise.
2498         * lib/idpriv-droptemp.c: Likewise.
2499         * lib/localcharset.c: Likewise.
2500         * lib/locale.in.h: Likewise.
2501         * lib/localename.c: Likewise.
2502         * lib/mbsrtowcs-state.c: Likewise.
2503         * lib/nproc.c: Likewise.
2504         * lib/passfd.c: Likewise.
2505         * lib/posix_openpt.c: Likewise.
2506         * lib/printf-parse.c: Likewise.
2507         * lib/progreloc.c: Likewise.
2508         * lib/safe-read.h: Likewise.
2509         * lib/safe-write.h: Likewise.
2510         * lib/sched.in.h: Likewise.
2511         * lib/set-mode-acl.c: Likewise.
2512         * lib/signal.in.h: Likewise.
2513         * lib/stdint.in.h: Likewise.
2514         * lib/stdio-impl.h: Likewise.
2515         * lib/stdlib.in.h: Likewise.
2516         * lib/strtod.c: Likewise.
2517         * lib/sys_select.in.h: Likewise.
2518         * lib/tcgetsid.c: Likewise.
2519         * lib/unistd.in.h: Likewise.
2520         * lib/unlockpt.c: Likewise.
2521         * lib/vasnprintf.c: Likewise.
2522         * lib/vma-iter.c: Likewise.
2523         * lib/wcsrtombs-state.c: Likewise.
2524         * m4/acl.m4: Likewise.
2525         * m4/acosl.m4: Likewise.
2526         * m4/asinl.m4: Likewise.
2527         * m4/atanl.m4: Likewise.
2528         * m4/c-stack.m4: Likewise.
2529         * m4/cosl.m4: Likewise.
2530         * m4/expl.m4: Likewise.
2531         * m4/extensions.m4: Likewise.
2532         * m4/fdatasync.m4: Likewise.
2533         * m4/fmal.m4: Likewise.
2534         * m4/frexp.m4: Likewise.
2535         * m4/frexpf.m4: Likewise.
2536         * m4/frexpl.m4: Likewise.
2537         * m4/fsusage.m4: Likewise.
2538         * m4/getdomainname.m4: Likewise.
2539         * m4/getloadavg.m4: Likewise.
2540         * m4/getopt.m4: Likewise.
2541         * m4/gettext.m4: Likewise.
2542         * m4/gnulib-common.m4: Likewise.
2543         * m4/intdiv0.m4: Likewise.
2544         * m4/intlmacosx.m4: Likewise.
2545         * m4/largefile.m4: Likewise.
2546         * m4/ldexpl.m4: Likewise.
2547         * m4/link-follow.m4: Likewise.
2548         * m4/locale-ar.m4: Likewise.
2549         * m4/locale-fr.m4: Likewise.
2550         * m4/locale-ja.m4: Likewise.
2551         * m4/locale-tr.m4: Likewise.
2552         * m4/locale-zh.m4: Likewise.
2553         * m4/locale_h.m4: Likewise.
2554         * m4/lock.m4: Likewise.
2555         * m4/logl.m4: Likewise.
2556         * m4/mathfunc.m4: Likewise.
2557         * m4/minus-zero.m4: Likewise.
2558         * m4/mktime.m4: Likewise.
2559         * m4/mmap-anon.m4: Likewise.
2560         * m4/multiarch.m4: Likewise.
2561         * m4/nanosleep.m4: Likewise.
2562         * m4/nocrash.m4: Likewise.
2563         * m4/poll.m4: Likewise.
2564         * m4/printf-frexpl.m4: Likewise.
2565         * m4/printf.m4: Likewise.
2566         * m4/signbit.m4: Likewise.
2567         * m4/sinl.m4: Likewise.
2568         * m4/sqrtl.m4: Likewise.
2569         * m4/strerror_r.m4: Likewise.
2570         * m4/tanl.m4: Likewise.
2571         * m4/threadlib.m4: Likewise.
2572         * m4/ttyname_r.m4: Likewise.
2573         * m4/unlink.m4: Likewise.
2574         * m4/visibility.m4: Likewise.
2575         * m4/wcwidth.m4: Likewise.
2576         * tests/minus-zero.h: Likewise.
2577         * tests/test-alloca-opt.c: Likewise.
2578         * tests/test-copy-acl.sh: Likewise.
2579         * tests/test-copy-file.sh: Likewise.
2580         * tests/test-fdatasync.c: Likewise.
2581         * tests/test-file-has-acl.sh: Likewise.
2582         * tests/test-flock.c: Likewise.
2583         * tests/test-fsync.c: Likewise.
2584         * tests/test-localename.c: Likewise.
2585         * tests/test-malloca.c: Likewise.
2586         * tests/test-nonblocking-pipe.h: Likewise.
2587         * tests/test-nonblocking-socket.h: Likewise.
2588         * tests/test-openpty.c: Likewise.
2589         * tests/test-posix_openpt.c: Likewise.
2590         * tests/test-ptsname.c: Likewise.
2591         * tests/test-ptsname_r.c: Likewise.
2592         * tests/test-sameacls.c: Likewise.
2593         * tests/test-select.h: Likewise.
2594         * tests/test-set-mode-acl.sh: Likewise.
2595         * tests/test-snprintf-posix.h: Likewise.
2596         * tests/test-sprintf-posix.h: Likewise.
2597         * tests/test-strtod.c: Likewise.
2598         * tests/test-time.c: Likewise.
2599         * tests/test-vasnprintf-posix.c: Likewise.
2600         * tests/test-vasprintf-posix.c: Likewise.
2601         * doc/acl-resources.txt: Likewise.
2602         * doc/**/*.texi: Likewise.
2603         Reported by Max Horn <max@quendi.de>.
2604
2605 2012-06-22  Bruno Haible  <bruno@clisp.org>
2606
2607         grantpt: Relax requirement regarding invalid file descriptors.
2608         * lib/grantpt.c: Don't include <fcntl.h>.
2609         (grantpt): Don't verify the validity of the file descriptor.
2610         * modules/grantpt (Depends-on): Remove fcntl-h.
2611         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
2612         file descriptors.
2613         * doc/posix-functions/grantpt.texi: Document more platforms on which
2614         grantpt succeeds for invalid file descriptors.
2615         Reported by Rich Felker <dalias@aerifal.cx>.
2616
2617 2012-06-22  Bruno Haible  <bruno@clisp.org>
2618
2619         fbufmode test: Don't test unportable behaviour.
2620         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
2621         (main): Invoke it three times.
2622         Reported by Szabolcs Nagy <nsz@port70.net>
2623         and Rich Felker <dalias@aerifal.cx>.
2624
2625 2012-06-21  Bruno Haible  <bruno@clisp.org>
2626
2627         gnulib-tool: Refactor inctests variable.
2628         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
2629         (func_modules_transitive_closure,
2630         func_modules_transitive_closure_separately,
2631         func_import, func_create_testdir): Update.
2632
2633         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
2634         * gnulib-tool: Accept option --without-tests.
2635         (func_usage): Document --without-tests option. Rearrange.
2636         (inctests): Normalize according to the mode.
2637         * NEWS: Mention the change.
2638         Suggested by Simon Josefsson.
2639
2640 2012-06-21  Bruce Korb  <bkorb@gnu.org>
2641
2642         parse-duration test: Avoid spurious output.
2643         * tests/test-parse-duration.sh: Reindent with leading tabs.
2644
2645 2012-06-21  Jim Meyering  <meyering@redhat.com>
2646
2647         maint: disable the strncpy prohibition
2648         * cfg.mk: Do not prohibit strncpy here.
2649
2650 2012-06-21  Bruno Haible  <bruno@clisp.org>
2651
2652         nonblocking: Avoid compilation error on mingw64.
2653         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
2654         fscanf.
2655         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
2656         * modules/vfscanf (configure.ac): Likewise.
2657         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
2658         definition only if stdio.h has prepared it.
2659         Reported by Daniel P. Berrange <berrange@redhat.com>.
2660
2661 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
2662
2663         gnulib-tool: Use readlink if it is available.
2664         * gnulib-tool (func_readlink): Choose function more appropriately.
2665
2666 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
2667
2668         posixtm-tests: port to buggy compiler
2669         Problem reported by Simon Josefsson in
2670         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00246.html>.
2671         * modules/posixtm-tests (Depends-on): Add stdint.
2672         * tests/test-posixtm.c (struct posixtm_test.t_expected):
2673         Now of type int_least64_t, not int64_t, both because that's
2674         what INT64_C returns and because int_least64_t works even
2675         on 72-bit hosts.
2676         (T): Use INT64_C on constants outside the traditional int range,
2677         to work around compiler bug noted by Simon.
2678
2679         mktime: fix integer overflow in 'configure'-time test
2680         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
2681         after integer overflow.  Problem reported by Rich Felker in
2682         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00257.html>.
2683         Also, don't look for further instances of a bug if we've already
2684         found one instance; this helps 'configure' run faster.
2685
2686 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
2687
2688         tmpfile, clean-temp: Fix invocation of GetVersionEx.
2689         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
2690         GetVersionEx correctly.
2691         * lib/clean-temp.c (supports_delete_on_close): Likewise.
2692
2693 2012-06-20  Bruno Haible  <bruno@clisp.org>
2694
2695         fdopen: Allow implementations that don't reject invalid fd arguments.
2696         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
2697         succeeds.
2698         Reported by Rich Felker <dalias@aerifal.cx>.
2699
2700 2012-06-20  Simon Josefsson  <simon@josefsson.org>
2701
2702         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
2703         bring in LIBINTL.
2704
2705 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
2706
2707         init.sh: do not rely on autoupated PWD
2708         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
2709         <http://lists.gnu.org/archive/html/bug-gzip/2012-06/msg00008.html>.
2710         Although Nelson's bug was not necessarily fixed by this patch,
2711         it seems wise to make the change for safety.
2712         * tests/init.sh (path_prepend_): Do not rely on PWD updating
2713         automagically after 'cd'; this is not reliable on older shells.
2714         (setup_): Fail if we cannot cd to temporary directory.
2715
2716 2012-06-19  Bruno Haible  <bruno@clisp.org>
2717
2718         stat, fstat: Avoid warnings on mingw64.
2719         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
2720         redefining.
2721         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
2722         Reported by Daniel P. Berrange <berrange@redhat.com>.
2723
2724 2012-06-19  Bruno Haible  <bruno@clisp.org>
2725
2726         stdioext: Add support for musl libc.
2727
2728         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
2729         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
2730
2731         * m4/fseterr.m4: New file.
2732         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
2733         function exists.
2734         * modules/fseterr (Files): Add m4/fseterr.m4.
2735         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
2736         __fseterr does not exist.
2737         (Makefile.am): Remove fseterr.c from lib_SOURCES.
2738
2739         * lib/freadable.h: Update comment.
2740
2741         * lib/fwritable.h: Update comment.
2742
2743         * lib/freading.h: Update comment.
2744
2745         * lib/fwriting.h: Update comment.
2746
2747         * m4/freadahead.m4: New file.
2748         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
2749         that function exists.
2750         * modules/freadahead (Files): Add m4/freadahead.m4.
2751         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
2752         __freadahead does not exist.
2753         (Makefile.am): Remove freadahead.c from lib_SOURCES.
2754
2755         * m4/freadptr.m4: New file.
2756         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
2757         function exists.
2758         * modules/freadptr (Files): Add m4/freadptr.m4.
2759         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
2760         __freadptr does not exist.
2761         (Makefile.am): Remove freadptr.c from lib_SOURCES.
2762
2763         * m4/freadseek.m4: New file.
2764         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
2765         exists.
2766         * modules/freadseek (Files): Add m4/freadseek.m4.
2767         (configure.ac): Invoke gl_FUNC_FREADSEEK.
2768
2769         * lib/fpurge.c (fpurge): Update comment.
2770
2771         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
2772
2773 2012-06-19  Bruno Haible  <bruno@clisp.org>
2774
2775         *printf-posix: Put more info into config.log.
2776         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
2777         exit code into config.log.
2778
2779 2012-06-19  Bruno Haible  <bruno@clisp.org>
2780
2781         getopt-gnu: Fix exit code overflow in autoconf test.
2782         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
2783         to keep them below < 128.
2784
2785 2012-06-17  Jim Meyering  <meyering@redhat.com>
2786
2787         maint.mk: fix typo in code to derive GPG key at release time
2788         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
2789
2790 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
2791
2792         regex: avoid warning when pointers are not long
2793         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
2794         and uintptr_t, not long, for portability to hosts where pointers and
2795         long have different sizes.  Issue noted by Daniel P. Berrange in
2796         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00122.html>
2797         and fix suggested by Bruno Haible in
2798         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00128.html>.
2799
2800 2012-06-17  Bruno Haible  <bruno@clisp.org>
2801
2802         dummy: Relicense into the public domain.
2803         * modules/dummy (License): Set to "public domain".
2804         Suggested by Reuben Thomas.
2805
2806 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
2807
2808         announce-gen: VPATH issues
2809         * build-aux/announce-gen (--srcdir): New option, used to trim the
2810         $srcdir part of the path from $builddir to NEWS.
2811         * top/maint.mk (announcement): Adjust.
2812
2813 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
2814
2815         gnu-web-doc-update: VPATH builds
2816         * build-aux/gnu-web-doc-update (--builddir): New option.
2817         Revamp the handling of options.
2818         Prefer $(...) to `...`.
2819         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
2820         the template, and it is GNU mktemp specific.
2821         Prefer set -e to long series of &&.
2822         Restore the initial git branch, not "master".
2823         Properly initialize submodules (don't rely only on bootstrap).
2824         Do not reconfigure blindly, use config.status.
2825         * top/README-release: Update instructions for gnu-web-doc-update.
2826
2827 2012-06-11  Jim Meyering  <meyering@redhat.com>
2828
2829         maint.mk: revert most of the previous change re "all these"
2830         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
2831         For rationale, see the discussion at
2832         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
2833
2834 2012-06-10  Karl Berry  <karl@gnu.org>
2835
2836         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
2837
2838         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
2839
2840 2012-06-10  Bruce Korb  <bkorb@gnu.org>
2841
2842         parse-duration: Relicense under LGPLv2+.
2843         * modules/parse-duration (License): Change to LGPLv2+.
2844
2845 2012-06-10  Jim Meyering  <meyering@redhat.com>
2846
2847         maint.mk: prohibit common grammar error: "all these"
2848         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
2849         the list of prohibited word sequences.  It should be "all of these".
2850         * lib/tempname.c (__gen_tempname): Fix one of them.
2851
2852 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
2853
2854         do-release-commit-and-tag: support VPATH builds
2855         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
2856         (noteworthy): Defined earlier to factor its value.
2857         (noteworthy_stub): New.
2858         Use it to factor.
2859         (help_version): Split into...
2860         (help, version): these.
2861         Adjust the option processing part.
2862         Support "--option=value" in addition to "--option value".
2863         (builddir): New.
2864         (--builddir): New option.
2865         * top/README-release: Document this.
2866         Reword slightly so that the reader cannot understand that he
2867         has to do these steps before calling do-release-commit-and-tag.
2868
2869 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
2870
2871         readme-release: also require announce-gen and maintainer-makefile
2872         * modules/readme-release (Depends-on): here.
2873         * modules/announce-gen, modules/do-release-commit-and-tag,
2874         modules/gnu-web-doc-update, modules/maintainer-makefile
2875         (Description): Point to readme-release.
2876
2877 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
2878
2879         maint.mk: fix VPATH issues.
2880         * top/maint.mk (news-check): GNU Make understand $< very well.
2881         (release-prep): NEWS is in $(srcdir).
2882
2883 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
2884
2885         readme-release: require the promoted modules.
2886         * modules/readme-release (Depends-on): Add
2887         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
2888         in this text.
2889
2890 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
2891             Bruno Haible  <bruno@clisp.org>
2892
2893         error, strerror-override: Support mingw64 from Fedora 17.
2894         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
2895         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
2896         EINPROGRESS.
2897         * lib/strerror-override.h (strerror_override): Test it.
2898         * lib/strerror-override.c (strerror_override): Likewise.
2899         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
2900
2901 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
2902             Bruno Haible  <bruno@clisp.org>
2903
2904         error, strerror-override: Support mingw64 from Fedora 17.
2905         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
2906         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
2907         * lib/strerror-override.h (strerror_override): Test it.
2908         * lib/strerror-override.c (strerror_override): Likewise.
2909
2910 2012-06-03  Bruno Haible  <bruno@clisp.org>
2911
2912         error, strerror-override: Support new errno values from POSIX:2008.
2913         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
2914         ENOTRECOVERABLE.
2915         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
2916         platforms.
2917         * lib/strerror-override.c (strerror_override): Conditionalize the
2918         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
2919         * lib/strerror-override.h (strerror_override): Declare also if
2920         GNULIB_defined_EOWNERDEAD is defined.
2921         * tests/test-errno.c (e130, e131): New variables.
2922         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
2923         ENOTRECOVERABLE.
2924         Reported by Paolo Bonzini.
2925
2926 2012-05-31  Jim Meyering  <meyering@redhat.com>
2927
2928         savewd: add missing dependency on sys_wait module
2929         * modules/savewd (Depends-on): Add sys_wait, needed at least
2930         for MSVC.  Report and suggested change by Michael Goffioul.
2931
2932 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
2933
2934         system-quote-tests: port to CentOS 5
2935         Problem reported by Tom G. Christensen in
2936         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00255.html>.
2937         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
2938
2939 2012-05-29  Jim Meyering  <meyering@redhat.com>
2940
2941         maint: fix typos in comments and ChangeLog
2942         Culprits identified and fixed mostly automatically using these commands:
2943         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
2944         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
2945         using http://github.com/lyda/misspell-check
2946         * ChangeLog: Fix typos.
2947         * doc/solaris-versions: Likewise.
2948         * lib/regexec.c (re_search_stub): Likewise.
2949         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
2950
2951 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
2952
2953         manywarnings: remove duplicate -Wmultichar entry
2954         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
2955         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
2956         so keep the entry marked as documented.
2957
2958 2012-05-27  Karl Berry  <karl@gnu.org>
2959
2960         * config/srclist.txt (mktime.c): remove last libc sync,
2961         perhaps just temporarily.
2962
2963 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
2964
2965         regex: don't assume uint64_t or uint32_t
2966         * lib/regcomp.c (init_word_char): Don't assume that the types
2967         uint64_t and uint32_t exist.  The C standard doesn't guarantee
2968         them, and on some 32-bit compilers there is no uint64_t.
2969         Problem reported by Gianluigi Tiesi in
2970         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00154.html>.
2971
2972 2012-05-25  Jim Meyering  <meyering@redhat.com>
2973
2974         maint.mk: add strncpy-prohibiting syntax-check rule
2975         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
2976
2977 2012-05-24  Jim Meyering  <meyering@redhat.com>
2978
2979         maint.mk: compute $(gpg_key_ID) more portably
2980         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
2981         That use of sed is not portable to some fringe systems.
2982         Reported by Paul Eggert in
2983         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
2984
2985 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
2986
2987         mktime: sync from glibc
2988         * config/srclist.txt: Uncomment mktime.c.
2989         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
2990         First, indent with tabs, since glibc uses tabs and doesn't want to
2991         change and we'd rather be identical to glibc.  Also, two small
2992         coding changes:
2993         (isdst_differ): Use &&, not &, as && is the usual style.
2994         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
2995         for clarity.
2996
2997 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
2998
2999         announce-gen: du -h is more portable than du --human
3000         * build-aux/announce-gen (sizes): Invoke du with -h instead
3001         of --human.  Accept leading white space in its output.
3002
3003 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
3004
3005         announce-gen: Improve diagnostics.
3006         * build-aux/announce-gen: When parsing command line options,
3007         prefer "announce-gen: option --release-type requires an argument"
3008         to "Option release-type requires an argument".
3009
3010 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
3011
3012         maint.mk: gpg_key_ID: use sed more portably
3013         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
3014         the closing brace.
3015         (refresh-po): Fuse two sed invocations into one.
3016
3017 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
3018
3019         gitlog-to-changelog: support the log message format used in Bison.
3020         * build-aux/gitlog-to-changelog: Support --strip-tab and
3021         --strip-cherry-picked.
3022
3023 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
3024
3025         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
3026         the rest of the current time slice to another thread in the current
3027         process. So if the thread that feeds the file decscriptor we're
3028         polling is not in the current process, we get busy-waiting.
3029         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
3030         Patch from Theodore Leblond.
3031         * lib/select.c: Split polling out of the loop that sets the output
3032         fd_sets.  Check for zero result and loop if the wait timeout is
3033         infinite.
3034
3035 2012-05-21  Simon Josefsson  <simon@josefsson.org>
3036
3037         select: Fix build error on IRIX 6.5.
3038         * lib/select.c: Include stddef.h for NULL.
3039
3040 2012-05-21  Simon Josefsson  <simon@josefsson.org>
3041
3042         gc: fix libgcrypt detection on older machines.
3043         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
3044         copyright years because the file has been distributed every year
3045         since it was created.
3046
3047 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
3048
3049         crypto: fix bug in large buffer handling
3050         Problem reported by Serge Belyshev for glibc in
3051         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
3052         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00226.html>.
3053         * lib/md4.c (md4_process_block):
3054         * lib/md5.c (md5_process_block):
3055         * lib/sha1.c (sha1_process_block):
3056         * lib/sha256.c (sha256_process_block):
3057         Don't assume the buffer length is less than 2**32.
3058         * lib/sha512.c (sha512_process_block): Likewise.
3059         Here, the bug is present only in the rare case where the host does
3060         not support uint64_t or where size_t is wider than 64 bits.
3061         Use u64size to work around the problems.
3062         * lib/u64.h (u64size): New macro.
3063
3064 2012-05-15  Pádraig Brady  <P@draigBrady.com>
3065
3066         fsusage: fix block size returned on older Linux 2.6
3067
3068         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
3069         which is available since Linux 2.6.
3070         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
3071         when the member is available so it can be used as a fallback.
3072         * doc/posix-functions/statvfs.texi: Mention the hang issue
3073         on Linux < 2.6.36.
3074
3075 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
3076
3077         bootstrap: suppress stderr chatter
3078         * build-aux/bootstrap (insert_sorted_if_absent, main program):
3079         Omit unnecessary chatter to stderr.  The main program chatter
3080         was there only inadvertantly.
3081
3082         bootstrap: .gitignore files created by autopoint, libtool
3083         I ran into this problem when bootstrapping the latest diffutils.
3084         After './bootstrap', 'git status' reported lots of untracked files
3085         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
3086         autopoint and do not need to be version-controlled.
3087         * build-aux/bootstrap: Put into .gitignore the files that
3088         autopoint and libtool create, by keeping track of files that exist
3089         after but not before these programs are run.
3090         (version_controlled_file): Move up.  2nd arg is now full file
3091         name, not base name; this is more convenient.  Put CVS at the end,
3092         as it's now somewhat deprecated.
3093
3094 2012-05-14  Jim Meyering  <meyering@redhat.com>
3095
3096         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
3097         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
3098         definition.  Reported by Bruno Haible.
3099
3100 2012-05-13  Bruno Haible  <bruno@clisp.org>
3101             Paul Eggert  <eggert@cs.ucla.edu>
3102
3103         binary-io: Define set_binary_mode function.
3104         * lib/binary-io.h (set_binary_mode): New function.
3105         (SET_BINARY): Define in terms of set_binary_mode.
3106         * modules/binary-io (configure.ac): Require AC_C_INLINE.
3107         * tests/test-binary-io.c (main): Accept an argument, and test either
3108         set_binary_mode or SET_BINARY depending on the argument.
3109         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
3110         argument. Clean up also t-bin-out0.tmp.
3111
3112 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
3113
3114         bootstrap: take advantage of POSIX shell features
3115
3116         The 'bootstrap' script offered by Gnulib script already uses POSIX
3117         shell features (like $((...)) arithmetic expansions) that are not
3118         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
3119         means that bootstrap must already be run using a proper POSIX shell,
3120         which will thus provide more features, like ${var#pattern} parameter
3121         expansion or inversion of a command exit status with '!'.  We can
3122         thus use these features to improve the clarity and the performances
3123         of the bootstrap script.
3124
3125         Suggested by Eric Blake.
3126
3127         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
3128         of sed/expr plus command substitutions, to save some forks.  While
3129         we are at it, prefer the POSIX $(...) form of command substitution,
3130         rather than the legacy form `...` (since the former is visually
3131         clearer and interacts better with quoting), and prefer the idiom:
3132           "if ! CMD; then ACTION ..."
3133         over the idiom:
3134           "if CMD; then :; else ACTION ..."
3135         which was required by legacy Bourne shells not supporting '!'.
3136
3137 2012-05-12  Bruno Haible  <bruno@clisp.org>
3138
3139         system-quote: Add more comments.
3140         * lib/system-quote.h: Add more comments about wilcards and limitations.
3141         Suggested by Eli Zaretskii <eliz@gnu.org>.
3142
3143         sh-quote, system-quote: Add comments about wildcards.
3144         * lib/sh-quote.h: Clarify what happens with wildcard characters.
3145         * lib/system-quote.h: Likewise.
3146         Reported by Eli Zaretskii <eliz@gnu.org>.
3147
3148 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
3149
3150         fsusage: check for GNU/Linux statvfs problem dynamically
3151         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
3152         Define STAT_STATFS2_BSIZE too, since in this case the code now
3153         checks dynamically whether statvfs is reliable, falling back on
3154         Linux-style statfs otherwise.
3155         (statvfs_works): New function, for dynamically testing statvfs.
3156         (get_fs_usage) [STAT_STATVFS]: Use it.
3157         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
3158         statvfs on GNU/Linux hosts, since it's now done dynamically.
3159
3160 2012-05-10  Bruno Haible  <bruno@clisp.org>
3161
3162         system-quote, execute, spawn-pipe: Escape '?' on Windows.
3163         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
3164         '?' character.
3165         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
3166         * tests/test-system-quote-main.c (check_all): Check also strings like
3167         "??????????".
3168         Reported by Eli Zaretskii <eliz@gnu.org>.
3169
3170 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
3171
3172         _Noreturn: port config.h to gcc -Wundef
3173         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
3174         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
3175         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00147.html>.
3176
3177 2012-05-10  Bruno Haible  <bruno@clisp.org>
3178
3179         system-quote: Refactor.
3180         * lib/system-quote.h (system_quote_copy): Fix comment.
3181         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
3182         New functions, extracted from system_quote_copy.
3183         (system_quote_length, system_quote_copy): Use these functions.
3184         Reported by Paul Eggert.
3185
3186 2012-05-08  Bruno Haible  <bruno@clisp.org>
3187
3188         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
3189         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
3190
3191 2012-05-08  Bruno Haible  <bruno@clisp.org>
3192
3193         Tests for module 'system-quote'.
3194         * modules/system-quote-tests: New file.
3195         * tests/test-system-quote.sh: New file.
3196         * tests/test-system-quote-main.c: New file.
3197         * tests/test-system-quote-child.c: New file.
3198
3199         New module 'system-quote'.
3200         * lib/system-quote.h: New file.
3201         * lib/system-quote.c: New file.
3202         * modules/system-quote: New file.
3203
3204 2012-05-08  Bruno Haible  <bruno@clisp.org>
3205
3206         sh-quote: Make C++ safe and allow multiple inclusion.
3207         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
3208         declarations in extern "C".
3209
3210 2012-05-08  Bruno Haible  <bruno@clisp.org>
3211
3212         sh-quote tests: Make tests stricter.
3213         * tests/test-sh-quote.c (check_one): Check the return value of
3214         shell_quote_copy.
3215         (main): Check a string with a CR character. Check a string that
3216         contains UCHAR_MAX.
3217
3218 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
3219
3220         warnings.m4: provide a means to specify the program to compile.
3221         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
3222         (gl_WARN_ADD): here.
3223         Use gl_AS_VAR_APPEND.
3224         Support an argument to specify the program to compile.
3225         (gl_WARN_ADD): Accept an argument to specify the program to compile.
3226         AC_SUBST the WARN_CFLAGS when they are used.
3227         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
3228         leave this to gl_WARN_ADD.
3229
3230 2012-05-08  Eric Blake  <eblake@redhat.com>
3231
3232         doc: recommendations on gettext version
3233         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
3234         choice between versions.
3235         * DEPENDENCIES (gettext): Cover both approaches.
3236
3237 2012-05-08  Jim Meyering  <meyering@redhat.com>
3238
3239         init.sh: explain why EXEEXT support uses aliases rather than functions
3240         * tests/init.sh: Add a comment.
3241
3242         init.sh: don't let bash aliases interfere with tests
3243         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
3244         is bash.  This avoids problems for those who alias standard commands to
3245         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
3246         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
3247
3248 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
3249
3250         stdint: be more consistent with glibc, SunOS libc
3251         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
3252         (gl_int_fast16_t, gl_uint_fast16_t)
3253         (gl_int_fast32_t, gl_uint_fast32_t)
3254         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
3255         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
3256         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
3257         Be consistent with glibc by default, and with SunOS 5.10 and later
3258         if __sun is defined.  This lessens the likelihood of clashes if
3259         code compiled for older hosts is combined with code compiled for
3260         newer ones.  Problem reported by Niels Möller in
3261         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00074.html>.
3262
3263 2012-05-07  Eric Blake  <eblake@redhat.com>
3264
3265         isatty: relax license to LGPLv2+
3266         * modules/isatty (License): Relax license.
3267
3268 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
3269
3270         stat-size: comment fix
3271         * lib/stat-size.h: Remove obsolete comment about indenting.
3272
3273 2012-05-06  Bruno Haible  <bruno@clisp.org>
3274
3275         Tests for module 'sh-quote'.
3276         * modules/sh-quote-tests: New file.
3277         * tests/test-sh-quote.c: New file.
3278
3279 2012-05-06  Bruno Haible  <bruno@clisp.org>
3280
3281         sh-quote: Improve shell_quote_argv's signature.
3282         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
3283         * lib/sh-quote.c (shell_quote_argv): Likewise.
3284
3285 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
3286
3287         stdint: document issues with int_fast8_t etc.
3288         * doc/posix-headers/stdint.texi (stdint.h): Say that other
3289         stdint.h substitutes may define these types differently.  See
3290         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00071.html>.
3291
3292 2012-05-05  Bruno Haible  <bruno@clisp.org>
3293
3294         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
3295         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
3296         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
3297         or 'guessing no (mishandles large arguments)'.
3298
3299 2012-05-05  Bruno Haible  <bruno@clisp.org>
3300
3301         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
3302         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
3303         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
3304         set gl_cv_func_link_follows_symlink to "guessing no".
3305
3306 2012-05-05  Bruno Haible  <bruno@clisp.org>
3307
3308         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
3309         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
3310         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
3311         "guessing no".
3312         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
3313
3314 2012-05-05  Bruno Haible  <bruno@clisp.org>
3315
3316         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
3317         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
3318         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
3319         set gl_cv_struct_dirent_d_ino to "guessing yes".
3320
3321 2012-05-05  Bruno Haible  <bruno@clisp.org>
3322
3323         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
3324         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
3325         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
3326         "guessing yes".
3327
3328 2012-05-05  Bruno Haible  <bruno@clisp.org>
3329
3330         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
3331         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
3332         compiling to a glibc system, set gl_cv_func_signbit and
3333         gl_cv_func_signbit_gcc to "guessing yes".
3334
3335 2012-05-05  Bruno Haible  <bruno@clisp.org>
3336
3337         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
3338         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
3339         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
3340         to "guessing yes".
3341         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
3342         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
3343
3344 2012-05-05  Bruno Haible  <bruno@clisp.org>
3345
3346         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
3347         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
3348         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
3349         gl_cv_func_realpath_works to "guessing yes".
3350
3351 2012-05-05  Bruno Haible  <bruno@clisp.org>
3352
3353         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
3354         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
3355         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
3356
3357 2012-05-04  Bruno Haible  <bruno@clisp.org>
3358
3359         Tweak last commit.
3360         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
3361         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
3362
3363 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
3364
3365         unistd_h: make it easier to avoid sys_types_h
3366         This is useful for Emacs, which has its own method of porting to
3367         Windows, and which therefore does not need the sys_types_h module.
3368         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
3369         code moved here from gl_SYS_TYPES_H.
3370         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
3371         using the code directly.
3372         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
3373         gl_SYS_TYPES_H.
3374         * modules/sys_types (Files):
3375         * modules/unistd (Files): Add m4/off_t.m4.
3376
3377 2012-05-03  Bruno Haible  <bruno@clisp.org>
3378
3379         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
3380         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
3381         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
3382         "guessing yes" or "guessing no".
3383         (gl_FUNC_LSTAT): Update.
3384         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
3385         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
3386         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
3387
3388 2012-05-03  Bruno Haible  <bruno@clisp.org>
3389
3390         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
3391         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
3392         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
3393         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
3394         cross-compiling, choose the first alternative on glibc systems.
3395         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
3396
3397 2012-05-03  Bruno Haible  <bruno@clisp.org>
3398
3399         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
3400         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
3401         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
3402
3403 2012-05-03  Bruno Haible  <bruno@clisp.org>
3404
3405         chown: Avoid "guessing no" when cross-compiling to glibc systems.
3406         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
3407
3408 2012-05-03  Bruno Haible  <bruno@clisp.org>
3409
3410         Avoid "guessing no" guesses when cross-compiling to glibc systems.
3411         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
3412         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
3413         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
3414         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
3415         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
3416         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
3417         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
3418         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
3419         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
3420         compiling to glibc systems, set gl_cv_func_chown_slash_works,
3421         gl_cv_func_chown_ctime_works to "guessing yes".
3422         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
3423         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
3424         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
3425         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
3426         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
3427         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
3428         compiling to glibc systems, set gl_cv_func_open_directory_works to
3429         "guessing yes".
3430         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
3431         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
3432         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
3433         "guessing yes".
3434         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
3435         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
3436         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
3437         compiling to glibc systems, set gl_cv_func_floorf_ieee to
3438         "guessing yes".
3439         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
3440         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
3441         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
3442         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
3443         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
3444         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
3445         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
3446         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
3447         "guessing yes".
3448         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
3449         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
3450         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
3451         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
3452         "guessing yes".
3453         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
3454         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
3455         "guessing yes".
3456         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
3457         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
3458         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
3459         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
3460         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
3461         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
3462         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
3463         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
3464         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
3465         compiling to glibc systems, set gl_cv_func_log10f_ieee to
3466         "guessing yes".
3467         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
3468         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
3469         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
3470         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
3471         "guessing yes".
3472         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
3473         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
3474         "guessing yes".
3475         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
3476         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
3477         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
3478         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
3479         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
3480         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
3481         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
3482         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
3483         compiling to glibc systems, set gl_cv_func_mkfifo_works to
3484         "guessing yes".
3485         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
3486         compiling to glibc systems, set gl_cv_func_mknod_works to
3487         "guessing yes".
3488         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
3489         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
3490         "guessing yes".
3491         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
3492         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
3493         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
3494         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
3495         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
3496         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
3497         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
3498         compiling to glibc systems, set gl_cv_func_svid_putenv to
3499         "guessing yes".
3500         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
3501         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
3502         "guessing yes".
3503         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
3504         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
3505         "guessing yes".
3506         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
3507         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
3508         to "guessing yes".
3509         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
3510         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
3511         to "guessing yes".
3512         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
3513         compiling to glibc systems, set gl_cv_func_rmdir_works to
3514         "guessing yes".
3515         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
3516         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
3517         gl_cv_func_unlink_parent_fails to "guessing yes".
3518         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
3519         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
3520         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
3521         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
3522         gl_cv_func_rename_dest_works to "guessing yes".
3523         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
3524         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
3525         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
3526         compiling to glibc systems, set gl_cv_func_roundf_ieee to
3527         "guessing yes".
3528         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
3529         compiling to glibc systems, set gl_cv_func_roundl_ieee to
3530         "guessing yes".
3531         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
3532         compiling to glibc systems, set gl_cv_func_setenv_works to
3533         "guessing yes".
3534         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
3535         compiling to glibc systems, set gl_cv_func_unsetenv_works to
3536         "guessing yes".
3537         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
3538         compiling to glibc systems, set gl_cv_func_sleep_works to
3539         "guessing yes".
3540         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
3541         compiling to glibc systems, set gl_cv_func_stat_file_slash to
3542         "guessing yes".
3543         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
3544         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
3545         "guessing yes".
3546         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
3547         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
3548         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
3549         compiling to glibc systems, set gl_cv_func_truncf_ieee to
3550         "guessing yes".
3551         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
3552         compiling to glibc systems, set gl_cv_func_truncl_ieee to
3553         "guessing yes".
3554         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
3555         compiling to glibc systems, set gl_cv_func_usleep_works to
3556         "guessing yes".
3557         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
3558         compiling to glibc systems, set gl_cv_func_futimesat_works to
3559         "guessing yes".
3560
3561 2012-05-03  Bruno Haible  <bruno@clisp.org>
3562
3563         Say "guessing yes" or "guessing no" when cross-compiling.
3564         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
3565         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
3566         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
3567         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
3568         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
3569         am_cv_func_working_getline to "guessing yes" or "guessing no".
3570         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
3571         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
3572         (gl_FUNC_MEMMEM): When cross-compiling, set
3573         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
3574         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
3575         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
3576         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
3577         set gl_cv_func_strcasestr_works_always to "guessing yes" or
3578         "guessing no".
3579         (gl_FUNC_STRCASESTR): When cross-compiling, set
3580         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
3581         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
3582         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
3583         (gl_FUNC_STRSTR): When cross-compiling, set
3584         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
3585         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
3586         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
3587         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
3588         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
3589
3590 2012-05-01  Bruno Haible  <bruno@clisp.org>
3591
3592         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
3593         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
3594         * build-aux/reloc-ldflags: Likewise.
3595         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
3596
3597 2012-05-01  Bruno Haible  <bruno@clisp.org>
3598
3599         gnulib-tool: Remove transitional code.
3600         * gnulib-tool: Don't warn about --import with 0 arguments any more.
3601         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
3602
3603 2012-05-01  Bruno Haible  <bruno@clisp.org>
3604
3605         getcwd: Fix misindentation.
3606         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
3607
3608 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
3609
3610         exclude: process exclude and include directives in order
3611         This restores the pre-2009 behavior, and is part of a fix of a
3612         grep bug reported by Quentin Arce in
3613         <http://lists.gnu.org/archive/html/bug-grep/2012-04/msg00056.html>.
3614         * lib/exclude.c (struct exclude): Remove 'tail' member.
3615         (new_exclude_segment): Prepend the new segment instead of appending.
3616         Return void, since that's now more convenient.
3617         (file_pattern_matches): Renamed from excluded_file_pattern_p.
3618         (file_name_matches): Renamed from excluded_file_name_p.
3619         (file_pattern_matches, file_name_matches):
3620         Return true if the pattern matches, not if it excludes.
3621         All callers changed.
3622         (excluded_file_name): Process the list in reverse order;
3623         since the list is now reversed this restores the pre-2009 behavior.
3624         (add_exclude): Adjust to new reversed-order list.  Use local var
3625         rather than macro, for clarity.
3626         * tests/test-exclude7.sh: Adjust to corrected behavior.
3627
3628         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
3629         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
3630         it's not possible here.  Handle the case of \ at end of pattern
3631         without dumping core.
3632         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
3633
3634         _Noreturn: future-proof non-GNU and non-MSVC compilers
3635         * build-aux/snippet/_Noreturn.h (_Noreturn):
3636         * m4/gnulib-common.m4 (gl_COMMON_BODY):
3637         Do not define _Noreturn if __STDC_VERSION__ indicates this is
3638         C11 or later.  This is more likely to work with random future C
3639         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
3640         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00195.html>.
3641
3642         exclude: handle wildcards with FNM_EXTMATCH
3643         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
3644         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
3645         comment that "has wildcards" really means "has or may have
3646         wildcards".  Simplify by avoiding the need to call strcspn.
3647
3648 2012-04-29  Bruno Haible  <bruno@clisp.org>
3649
3650         gnulib-tool: Fix list of authors.
3651         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
3652
3653 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
3654
3655         bootstrap: support Automake-NG in $buildreq
3656         * bootstrap (check_versions): Handle automake and aclocal from
3657         Automake-NG specially.  They can be specified as respectively
3658         the "automake-ng" and "aclocal-ng" requirements.
3659
3660 2012-04-25  Eric Blake  <eblake@redhat.com>
3661
3662         bootstrap: only force latest Makefile.in.in for gettext module
3663         * build-aux/bootstrap (with_gettext): Only install latest
3664         Makefile.in.in for projects requesting bleeding edge gettext.
3665
3666 2012-04-22  Bruno Haible  <bruno@clisp.org>
3667
3668         doc: Mention reason for replacement on glibc/Linux systems.
3669         * doc/posix-functions/dprintf.texi: Mention the problem with special
3670         'long double' values.
3671         * doc/posix-functions/fprintf.texi: Likewise.
3672         * doc/posix-functions/printf.texi: Likewise.
3673         * doc/posix-functions/snprintf.texi: Likewise.
3674         * doc/posix-functions/sprintf.texi: Likewise.
3675         * doc/posix-functions/vdprintf.texi: Likewise.
3676         * doc/posix-functions/vfprintf.texi: Likewise.
3677         * doc/posix-functions/vprintf.texi: Likewise.
3678         * doc/posix-functions/vsnprintf.texi: Likewise.
3679         * doc/posix-functions/vsprintf.texi: Likewise.
3680         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
3681         platforms with F_DUPFD_CLOEXEC problems.
3682         * doc/posix-functions/glob.texi: Mention which platforms are affected
3683         by the problem with symbolic links.
3684         * doc/posix-functions/linkat.texi: Mention the problem with
3685         AT_SYMLINK_FOLLOW on Linux.
3686
3687 2012-04-22  Bruno Haible  <bruno@clisp.org>
3688
3689         pwrite: Don't replace on all platforms.
3690         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
3691
3692 2012-04-22  Bruno Haible  <bruno@clisp.org>
3693
3694         rint* tests: Avoid gcc warnings.
3695         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
3696         * tests/test-rintf.c (INFINITY, NAN): Likewise.
3697         * tests/test-rintl.c (INFINITY, NAN): Likewise.
3698
3699 2012-04-21  Bruno Haible  <bruno@clisp.org>
3700
3701         users.txt: Update.
3702         * users.txt: Add freedink, wdiff. Update URLs for projects that have
3703         switched from CVS to git, bzr, or svn.
3704
3705 2012-04-21  Bruno Haible  <bruno@clisp.org>
3706
3707         Large File Support for native Windows platforms.
3708
3709         * m4/largefile.m4 (gl_LARGEFILE): New macro.
3710         * modules/largefile (configure.ac): Require gl_LARGEFILE.
3711
3712         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
3713         type.
3714         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
3715         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
3716         * doc/posix-headers/sys_types.texi: Mention the effect of the
3717         'largefile' module.
3718
3719         * lib/fcntl.in.h: Add comments about off_t.
3720         * modules/fcntl-h (Depends-on): Add sys_types.
3721
3722         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
3723         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
3724         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
3725         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
3726         * modules/unistd (Depends-on): Add sys_types.
3727         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
3728
3729         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
3730         instead of lseek.
3731         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
3732         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
3733         * modules/lseek (Depends-on): Add sys_types.
3734
3735         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
3736         msvc-nothrow.h.
3737         (SetFileSize): New function.
3738         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
3739         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
3740         if Large File Support is requested.
3741         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
3742         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
3743
3744         * lib/stdio.in.h: Add comments about off_t.
3745         * modules/stdio (Depends-on): Add sys_types.
3746
3747         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
3748         instead of ftello.
3749         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
3750         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
3751         (gl_PREREQ_FTELLO): New macro.
3752         * modules/ftello (Depends-on): Add sys_types.
3753         (configure.ac): Incoke gl_PREREQ_FTELLO.
3754
3755         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
3756         instead of fseeko.
3757         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
3758         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
3759         (gl_PREREQ_FSEEKO): New macro.
3760         * modules/fseeko (Depends-on): Add sys_types.
3761         (configure.ac): Invoke gl_PREREQ_FSEEKO.
3762
3763         * lib/sys_stat.in.h: Add comments about off_t.
3764         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
3765         64-bit integer for st_size in 'struct stat'.
3766         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
3767         Define _GL_WINDOWS_64_BIT_ST_SIZE.
3768         * modules/sys_stat (Depends-on): Add sys_types.
3769         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
3770
3771         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
3772         instead of stat or _stat.
3773
3774         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
3775         'struct _stati64' instead of fstat and 'struct stat'.
3776         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
3777         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
3778
3779         Reported by Ray Satiro <raysatiro@yahoo.com>.
3780
3781 2012-04-19  Eric Blake  <eblake@redhat.com>
3782
3783         bootstrap: accommodate older libtool
3784         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
3785         Reported by Daniel P. Berrange.
3786
3787 2012-04-19  Jim Meyering  <meyering@redhat.com>
3788
3789         announce-gen: avoid failure due to lack of Digest::SHA1
3790         Even with the preferred Digest::SHA available, this script
3791         would fail when the backup module, Digest::SHA1, was not installed.
3792         * build-aux/announce-gen: Quote the conditional use of "use".
3793         Reported by Reuben Thomas in:
3794         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
3795
3796         bootstrap: don't let a user's CDPATH setting affect this script
3797         When CDPATH is set, cd will sometimes generate output.
3798         When "cd" is run in a subshell whose output matters, that
3799         surprising-to-some output can cause malfunction.
3800         Unsetting CDPATH turns off this shell "feature."
3801         * build-aux/bootstrap (CDPATH): Unset.
3802         Reported by Reuben Thomas in:
3803         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
3804         and inspired by his patch here:
3805         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
3806
3807 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
3808         and Jim Meyering  <meyering@redhat.com>
3809
3810         maint.mk: catch "see @xref{}" and similar
3811         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
3812         prohibit "See also @xref{", "Also see @pxref{", and similar.
3813
3814 2012-04-16  Jim Meyering  <meyering@redhat.com>
3815
3816         bootstrap: really use gnulib's po/Makefile.in.in
3817         * build-aux/bootstrap: Correct the source file name in previous change.
3818         Reported by Akim Demaille.
3819
3820         configmake: correct minor inconsistency in Makefile rule
3821         * modules/configmake (Makefile.am): All other rules like this one
3822         run the final "mv -f ..." in the same backslash-continued command
3823         as the one that does everything else.  This one put the mv -f ...
3824         command on a separate, non-backslash-continued line.
3825         Make it like the others.
3826
3827         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
3828         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
3829         the one from gettext.  Reported by Akim Demaille.
3830
3831 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
3832
3833         Fix recursion of install-* into po directories.
3834         Bison's install-pdf bug reported by Hans Aberg at
3835         <http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html>.
3836         * build-aux/po/Makefile.in.in (install-dvi, install-html)
3837         (install-info, install-pdf, install-ps): New targets.
3838
3839 2012-04-16  Jim Meyering  <meyering@redhat.com>
3840
3841         maint: avoid spurious "make sc_maint" failure
3842         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
3843         exempt all *.class file names, for lib/javaversion.class.
3844
3845 2012-04-15  Bruno Haible  <bruno@clisp.org>
3846
3847         lseek: Make configure test independent of environment.
3848         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
3849         Windows, we know that lseek() on pipes is broken; skip the runtime
3850         test.
3851
3852 2012-04-14  Bruno Haible  <bruno@clisp.org>
3853
3854         stat: Bypass buggy override in mingw64.
3855         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
3856         * lib/stat.c (stat) [mingw64]: Define to _stat.
3857         * doc/posix-functions/stat.texi: Mention mingw64 bug.
3858
3859 2012-04-14  Bruno Haible  <bruno@clisp.org>
3860
3861         pathmax: Fix compilation error on MSVC 9.
3862         * modules/pathmax (Depends-on): Add unistd.
3863
3864 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
3865
3866         README: document pointer comparison assumption
3867         * README (Portability guidelines): Document assumption about
3868         pointer comparisons, in response to a recent bug-gnulib comment by
3869         Jeffrey Kegler.
3870
3871 2012-04-12  Bruno Haible  <bruno@clisp.org>
3872
3873         Tests for module 'getrusage'.
3874         * modules/getrusage-tests: New file.
3875         * tests/test-getrusage.c: New file.
3876
3877         New module 'getrusage'.
3878         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
3879         warn-on-use.h.
3880         (getrusage): New declaration.
3881         * lib/getrusage.c: New file.
3882         * m4/getrusage.m4: New file.
3883         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
3884         is declared.
3885         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
3886         HAVE_GETRUSAGE.
3887         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
3888         snippet/c++defs, snippet/warn-on-use.
3889         (Makefile.am): Update generation of sys/resource.h. Substitute
3890         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
3891         * modules/getrusage: New file.
3892         * doc/posix-functions/getrusage.texi: Mention the new module.
3893
3894 2012-04-12  Bruno Haible  <bruno@clisp.org>
3895
3896         Tests for module 'sys_resource'.
3897         * modules/sys_resource-tests: New file.
3898         * tests/test-sys_resource.c: New file.
3899
3900         New module 'sys_resource'.
3901         * lib/sys_resource.in.h: New file.
3902         * m4/sys_resource_h.m4: New file.
3903         * modules/sys_resource: New file.
3904         * doc/posix-headers/sys_resource.texi: Mention the new module.
3905
3906 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
3907
3908         ioctl: Fix compilation error on mingw.
3909         * lib/ioctl.c: Include <windows.h>.
3910         Also reported by Ray Satiro <raysatiro@yahoo.com>.
3911
3912 2012-04-04  Jim Meyering  <meyering@redhat.com>
3913
3914         regex: correct #pragma guard expression
3915         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
3916         not 4.3.  Correct its cpp guard expression.
3917
3918 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
3919
3920         regex: remove unnecessary type punning
3921         Problem reported by Vladimir Serbinenko in
3922         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00006.html>.
3923         * lib/regex.h (struct re_pattern_buffer): Change the type of
3924         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
3925         Fix comment to match code.
3926         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
3927         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
3928         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
3929         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
3930         (set_regs):
3931         Omit no-longer-necessary casts.
3932
3933 2012-04-03  Bruno Haible  <bruno@clisp.org>
3934
3935         Tests for module 'ilogbl'.
3936         * modules/ilogbl-tests: New file.
3937         * tests/test-ilogbl.c: New file.
3938
3939         New module 'ilogbl'.
3940         * lib/math.in.h (ilogbl): New declaration.
3941         * lib/ilogbl.c: New file.
3942         * m4/ilogbl.m4: New file.
3943         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
3944         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
3945         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
3946         Split sed invocation, to avoid the limit of 100 substitutions of
3947         HP-UX 'sed'.
3948         * modules/ilogbl: New file.
3949         * tests/test-math-c++.cc: Check the declaration of ilogbl.
3950         * doc/posix-functions/ilogbl.texi: Mention the new module.
3951
3952 2012-04-03  Bruno Haible  <bruno@clisp.org>
3953
3954         Tests for module 'ilogbf'.
3955         * modules/ilogbf-tests: New file.
3956         * tests/test-ilogbf.c: New file.
3957
3958         New module 'ilogbf'.
3959         * lib/math.in.h (ilogbf): New declaration.
3960         * lib/ilogbf.c: New file.
3961         * m4/ilogbf.m4: New file.
3962         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
3963         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
3964         REPLACE_ILOGBF.
3965         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
3966         REPLACE_ILOGBF.
3967         * modules/ilogbf: New file.
3968         * tests/test-math-c++.cc: Check the declaration of ilogbf.
3969         * doc/posix-functions/ilogbf.texi: Mention the new module.
3970
3971 2012-04-03  Bruno Haible  <bruno@clisp.org>
3972
3973         Tests for module 'ilogb'.
3974         * modules/ilogb-tests: New file.
3975         * tests/test-ilogb.c: New file.
3976         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
3977         tests/test-logb-ieee.h.
3978
3979         New module 'ilogb'.
3980         * lib/math.in.h (ilogb): New declaration.
3981         * lib/ilogb.c: New file.
3982         * m4/ilogb.m4: New file.
3983         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
3984         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
3985         REPLACE_ILOGB.
3986         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
3987         REPLACE_ILOGB.
3988         * modules/ilogb: New file.
3989         * tests/test-math-c++.cc: Check the declaration of ilogb.
3990         * doc/posix-functions/ilogb.texi: Mention the new module.
3991
3992 2012-04-03  Bruno Haible  <bruno@clisp.org>
3993
3994         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
3995         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
3996         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
3997         (main): Check their values.
3998         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
3999         problem.
4000
4001 2012-04-03  Bruno Haible  <bruno@clisp.org>
4002
4003         Tests for module 'logbl-ieee'.
4004         * modules/logbl-ieee-tests: New file.
4005         * tests/test-logbl-ieee.c: New file.
4006
4007         New module 'logbl-ieee'.
4008         * modules/logbl-ieee: New file.
4009
4010         Tests for module 'logb-ieee'.
4011         * modules/logb-ieee-tests: New file.
4012         * tests/test-logb-ieee.c: New file.
4013
4014         New module 'logb-ieee'.
4015         * modules/logb-ieee: New file.
4016
4017         Tests for module 'logbf-ieee'.
4018         * modules/logbf-ieee-tests: New file.
4019         * tests/test-logbf-ieee.c: New file.
4020         * tests/test-logb-ieee.h: New file.
4021
4022         New module 'logbf-ieee'.
4023         * modules/logbf-ieee: New file.
4024
4025 2012-04-03  Bruno Haible  <bruno@clisp.org>
4026
4027         Tests for module 'logbl'.
4028         * modules/logbl-tests: New file.
4029         * tests/test-logbl.c: New file.
4030
4031         New module 'logbl'.
4032         * lib/math.in.h (logbl): New declaration.
4033         * lib/logbl.c: New file.
4034         * m4/logbl.m4: New file.
4035         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
4036         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
4037         REPLACE_LOGBL.
4038         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
4039         REPLACE_LOGBL.
4040         * modules/logbl: New file.
4041         * tests/test-math-c++.cc: Check the declaration of logbl.
4042         * doc/posix-functions/logbl.texi: Mention the new module.
4043
4044 2012-04-02  Bruno Haible  <bruno@clisp.org>
4045
4046         Tests for module 'logbf'.
4047         * modules/logbf-tests: New file.
4048         * tests/test-logbf.c: New file.
4049
4050         New module 'logbf'.
4051         * lib/math.in.h (logbf): New declaration.
4052         * lib/logbf.c: New file.
4053         * m4/logbf.m4: New file.
4054         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
4055         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
4056         REPLACE_LOGBF.
4057         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
4058         REPLACE_LOGBF.
4059         * modules/logbf: New file.
4060         * tests/test-math-c++.cc: Check the declaration of logbf.
4061         * doc/posix-functions/logbf.texi: Mention the new module.
4062
4063 2012-04-02  Bruno Haible  <bruno@clisp.org>
4064
4065         logb tests: More tests.
4066         * tests/test-logb.h: New file, based on tests/test-logb.c and
4067         tests/test-frexp.h.
4068         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
4069         (main): Just invoke test_function.
4070         * modules/logb-tests (Files): Add tests/test-logb.h,
4071         tests/minus-zero.h, tests/randomd.c.
4072         (Makefile.am): Add randomd.c to test_logb_SOURCES.
4073
4074         logb: Provide replacement and workarounds.
4075         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
4076         is 1.
4077         * lib/logb.c: New file.
4078         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
4079         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
4080         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
4081         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
4082         * modules/logb (Files): Add lib/logb.c.
4083         (Depends-on): Add isfinite, frexp, isnand.
4084         (configure.ac): Compile the replacement code logb.c if needed.
4085         * tests/test-math-c++.cc: Check the declaration of logb.
4086         * doc/posix-functions/logb.texi: Mention the replacement and the bug
4087         with subnormal numbers.
4088
4089 2012-04-02  Bruno Haible  <bruno@clisp.org>
4090
4091         log10* tests: Speed up.
4092         * tests/test-log10.h (test_function): Reduce amount of random numbers
4093         to test.
4094
4095 2012-04-01  Bruno Haible  <bruno@clisp.org>
4096
4097         logf-ieee: Fix test whether logf works.
4098         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
4099
4100 2012-04-01  Bruno Haible  <bruno@clisp.org>
4101
4102         log10l: Work around log10l-ieee test failure on IRIX 6.5.
4103         * lib/log10l.c: Include <float.h>
4104         (log10l): On IRIX, normalize the +Infinity value.
4105         * modules/log10l (Depends-on): Add 'float'.
4106         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
4107         +Infinity.
4108
4109         log10f-ieee: Work around test failure on NetBSD 5.1.
4110         * m4/log10f-ieee.m4: New file.
4111         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
4112         test whether log10f works with a negative argument. Replace it if not.
4113         * lib/log10f.c (log10f): For negative arguments, return NaN.
4114         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
4115         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
4116         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
4117
4118         log10f-ieee: Work around test failure on Solaris 9.
4119         * modules/log10f-ieee (Depends-on): Add log10-ieee.
4120         (configure.ac): Require gl_FUNC_LOG10F.
4121
4122         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
4123         * m4/log10-ieee.m4: New file.
4124         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
4125         whether log10 works with a negative argument. Replace it if not.
4126         * lib/log10.c (log10): For negative arguments, return NaN.
4127         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
4128         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
4129         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
4130
4131         Tests for module 'log10l-ieee'.
4132         * modules/log10l-ieee-tests: New file.
4133         * tests/test-log10l-ieee.c: New file.
4134
4135         New module 'log10l-ieee'.
4136         * modules/log10l-ieee: New file.
4137
4138         Tests for module 'log10-ieee'.
4139         * modules/log10-ieee-tests: New file.
4140         * tests/test-log10-ieee.c: New file.
4141
4142         New module 'log10-ieee'.
4143         * modules/log10-ieee: New file.
4144
4145         Tests for module 'log10f-ieee'.
4146         * modules/log10f-ieee-tests: New file.
4147         * tests/test-log10f-ieee.c: New file.
4148         * tests/test-log10-ieee.h: New file.
4149
4150         New module 'log10f-ieee'.
4151         * modules/log10f-ieee: New file.
4152
4153 2012-04-01  Bruno Haible  <bruno@clisp.org>
4154
4155         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
4156         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
4157         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
4158         workaround.
4159         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
4160         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
4161         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
4162         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
4163         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
4164         (Depends-on): Update conditions.
4165         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
4166         IRIX 6.5, OSF/1 5.1 problems.
4167
4168 2012-04-01  Bruno Haible  <bruno@clisp.org>
4169
4170         log10f: Work around OSF/1 5.1 bug.
4171         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
4172         * lib/log10f.c (log10f): If logf exists, use it and provide just the
4173         workaround.
4174         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
4175         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
4176         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
4177         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
4178         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
4179         (Depends-on): Update conditions.
4180         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
4181
4182 2012-04-01  Bruno Haible  <bruno@clisp.org>
4183
4184         log10: Work around OSF/1 5.1 bug.
4185         * lib/math.in.h (log10): New declaration.
4186         * lib/log10.c: New file.
4187         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
4188         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
4189         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
4190         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
4191         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
4192         * modules/log10 (Files): Add lib/log10.c.
4193         (Depends-on): Add math.
4194         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
4195         * tests/test-math-c++.cc: Check the declaration of log10.
4196         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
4197
4198 2012-03-31  Bruno Haible  <bruno@clisp.org>
4199
4200         log10l tests: More tests.
4201         * modules/log10l-tests (Files): Add tests/test-log10l.h,
4202         tests/minus-zero.h, tests/randoml.c.
4203         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
4204         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
4205         (main): Invoke test_function.
4206
4207         log10f tests: More tests.
4208         * modules/log10f-tests (Files): Add tests/test-log10.h,
4209         tests/minus-zero.h, tests/randomf.c.
4210         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
4211         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
4212         (main): Invoke test_function.
4213
4214         log10 tests: More tests.
4215         * tests/test-log10.h: New file.
4216         * modules/log10-tests (Files): Add tests/test-log10.h,
4217         tests/minus-zero.h, tests/randomd.c.
4218         (Makefile.am): Add randomd.c to test_log10_SOURCES.
4219         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
4220         (main): Invoke test_function.
4221
4222 2012-03-31  Simon Josefsson  <simon@josefsson.org>
4223
4224         fflush: Fix syntax error.
4225         * lib/fflush.c: Include unused-parameter.h, needed for
4226         _GL_UNUSED_PARAMETER.
4227         * modules/fflush (Depends-on): Add snippet/unused-parameter.
4228
4229 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
4230
4231         regex: pacify GCC when compiling GRUB
4232         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
4233         a diagnostic.  Reported by Vladimir Serbinenko in
4234         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00163.html>.
4235
4236 2012-03-29  Eric Blake  <eblake@redhat.com>
4237
4238         stdio: don't assume gets any more
4239         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
4240         support.
4241         * modules/stdio (Makefile.am): Likewise.
4242         * lib/stdio-read.c (gets): Likewise.
4243         * tests/test-stdio-c++.cc: Likewise.
4244         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
4245         * lib/stdio.in.h (gets): Make warning occur in more places.
4246         * doc/posix-functions/gets.texi (gets): Update documentation.
4247         Reported by Christer Solskogen.
4248
4249         maint.mk: fix syntax checks without exclusions
4250         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
4251         Reported by Daniel P. Berrange.
4252
4253         strerror_r: avoid compiler warning
4254         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
4255         level.
4256
4257         fflush: avoid compiler warning
4258         * lib/fflush.c (update_fpos_cache): Mark variables that are
4259         potentially unused.
4260
4261 2012-03-25  Bruno Haible  <bruno@clisp.org>
4262
4263         Tests for module 'localeconv'.
4264         * modules/localeconv-tests: New file.
4265         * tests/test-localeconv.c: New file.
4266
4267         New module 'localeconv'.
4268         * lib/locale.in.h (localeconv): New declaration.
4269         * lib/localeconv.c: New file.
4270         * m4/localeconv.m4: New file.
4271         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
4272         REPLACE_LOCALECONV.
4273         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
4274         REPLACE_LOCALECONV.
4275         * modules/localeconv: New file.
4276         * modules/nl_langinfo (Depends-on): Add localeconv.
4277         * modules/human (Depends-on): Likewise.
4278         * doc/posix-functions/localeconv.texi: Mention the new module.
4279
4280 2012-03-25  Bruno Haible  <bruno@clisp.org>
4281
4282         locale: Provide a complete 'struct lconv'.
4283         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
4284         'struct lconv' does not contain int_p_cs_precedes.
4285         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
4286         * doc/posix-headers/locale.texi: Update.
4287
4288         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
4289         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
4290         * doc/posix-headers/locale.texi: Update.
4291
4292         locale: Provide a working 'struct lconv'.
4293         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
4294         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
4295         'struct lconv' does not even contain decimal_point.
4296         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
4297         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
4298         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
4299         * doc/posix-headers/locale.texi: Mention the problems with
4300         'struct lconv'.
4301         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
4302
4303 2012-03-24  Bruno Haible  <bruno@clisp.org>
4304
4305         Enable common subexpression optimization in GCC.
4306         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
4307         macros.
4308         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
4309         GCC attribute 'const'.
4310         (uc_locale_language): Declare with GCC attribute 'pure'.
4311         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
4312         with GCC attribute 'const'.
4313         * lib/unictype.in.h (uc_is_general_category_withtable,
4314         uc_combining_class, uc_combining_class_name,
4315         uc_combining_class_long_name, uc_bidi_class_name,
4316         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
4317         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
4318         uc_decimal_value, uc_digit_value, uc_numeric_value,
4319         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
4320         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
4321         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
4322         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
4323         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
4324         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
4325         Declare with GCC attribute 'const'.
4326         (uc_general_category_name, uc_general_category_long_name,
4327         uc_general_category_byname, uc_general_category,
4328         uc_is_general_category, uc_combining_class_byname,
4329         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
4330         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
4331         Declare with GCC attribute 'pure'.
4332         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
4333         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
4334         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
4335         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
4336         with GCC attribute 'pure'.
4337         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
4338         'const'.
4339         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
4340         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
4341         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
4342         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
4343         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
4344         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
4345         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
4346         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
4347         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
4348         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
4349         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
4350         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
4351         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
4352         GCC attribute 'pure'.
4353         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
4354         'const'.
4355         * lib/uniwidth.in.h (uc_width): Simplify declaration.
4356         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
4357         u32_strwidth): Declare with GCC attribute 'pure'.
4358
4359         Enable common subexpression optimization in GCC.
4360         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
4361         (alphasort): Declare with GCC attribute 'pure'.
4362         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
4363         (atoll): Declare with GCC attribute 'pure'.
4364         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
4365         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
4366         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
4367         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
4368         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
4369         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
4370         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
4371
4372 2012-03-24  Bruno Haible  <bruno@clisp.org>
4373
4374         gnulib-tool: Avoid unintended error output from 'cmp'.
4375         * gnulib-tool (func_add_file, func_update_file, func_import): Use
4376         "cmp -s", not "cmp > /dev/null".
4377
4378 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
4379
4380         gnulib-tool: fix imprecise comments w.r.t. an automake bug
4381
4382         It's not just Automake versions < 1.9b that creates an empty
4383         pkgdatadir at installation time if pkgdata_DATA is specified
4384         to empty; modern automake versions do this as well, at least
4385         until automake 1.11.4 (not yet released at the moment of writing,
4386         but soon to appear).  That behaviour was generally considered a
4387         feature rather than a bug, at least until this discussion:
4388         <http://lists.gnu.org/archive/html/automake/2012-03/msg00014.html>
4389
4390         See also automake bugs #10997 and #11030.
4391
4392         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
4393         reference to relevant automake bug numbers.
4394         (func_emit_tests_Makefile_am): Likewise.
4395
4396 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
4397
4398         announce-gen: use Digest::SHA when possible
4399         * build-aux/announce-gen: Use Digest::SHA when possible, falling
4400         back to Digest::SHA1 if necessary.
4401
4402 2012-03-20  Jim Meyering  <meyering@redhat.com>
4403
4404         tests: avoid gcc warnings about argv vs. const initializers
4405         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
4406         warnings about discarding 'const' qualifier from pointer target type.
4407         * tests/test-posix_spawn2.c (main): Likewise.
4408
4409 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
4410
4411         README-release: simplify slightly
4412         * top/README-release: Run "git checkout master" only once.
4413
4414 2012-03-15  Mark Wielaard  <mark@klomp.org>
4415
4416         git-merge-changelog: add specific example on how to use with hg.
4417         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
4418
4419 2012-03-18  Mark Wielaard  <mark@klomp.org>
4420
4421         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
4422
4423 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
4424
4425         git-version-gen: don't let "prefix" envvar cause trouble
4426         * build-aux/git-version-gen (prefix): Initialize properly,
4427         so as not to use a value specified via the environment.
4428         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
4429
4430 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
4431
4432         regex: diagnose too-large repeat counts in EREs
4433         Previously, the code did not diagnose the too-large repeat count
4434         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
4435         as if it were 'b\{1000000000}', which is unexpected.
4436         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
4437         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
4438         is a reasonable one for this problem.  Another option would be to
4439         create a new REG_OVERFLOW error for repeat counts that are too large.
4440         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
4441         count is too large, so that the caller can distinguish the two cases.
4442         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
4443         "Too large" return code, and that repeat counts are one example of this.
4444
4445 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
4446
4447         doc: some glibc x32 integer width issues
4448         * doc/posix-headers/sys_types.texi (sys/types.h):
4449         * doc/posix-headers/time.texi (time.h):
4450         Mention that glibc x32 does not conform to POSIX in a couple of
4451         areas related to integer widths.
4452
4453 2012-03-15  Bruno Haible  <bruno@clisp.org>
4454
4455         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
4456         * lib/fma.c (VOLATILE): New macro.
4457         (FUNC): Use it to work around a GCC compiler bug.
4458
4459 2012-03-13  Bruno Haible  <bruno@clisp.org>
4460
4461         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
4462         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
4463         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
4464         REPLACE_HYPOTL to 1.
4465         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
4466
4467 2012-03-13  Bruno Haible  <bruno@clisp.org>
4468
4469         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
4470         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
4471         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
4472         REPLACE_REMAINDERL to 1.
4473         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
4474         bug.
4475
4476 2012-03-13  Bruno Haible  <bruno@clisp.org>
4477
4478         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
4479         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
4480         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
4481         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
4482         too big rounding errors.
4483         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
4484         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
4485         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
4486         (Depends-on): Update conditions.
4487         * tests/test-sqrtl.c (my_ldexpl): New function.
4488         (main): Add test of a particular value.
4489         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
4490
4491 2012-03-13  Pádraig Brady  <P@draigBrady.com>
4492
4493         doc: Update timer_* platform portability notes.
4494         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
4495         that always return ENOSYS.
4496         * doc/posix-functions/timer_delete.texi: Likewise.
4497         * doc/posix-functions/timer_gettime.texi: Likewise.
4498         * doc/posix-functions/timer_settime.texi: Likewise.
4499
4500 2012-03-13  Bruno Haible  <bruno@clisp.org>
4501
4502         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
4503         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
4504         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
4505         REPLACE_CBRTL to 1.
4506         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
4507
4508 2012-03-13  Bruno Haible  <bruno@clisp.org>
4509
4510         remainderl: Avoid compilation error on AIX >= 5.2.
4511         * lib/math.in.h (remainderl): Undefine macro from the system header.
4512
4513 2012-03-13  Bruno Haible  <bruno@clisp.org>
4514
4515         Avoid compilation errors with MSVC option -fp:strict.
4516         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
4517         * lib/cbrtf.c: Likewise.
4518         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
4519
4520 2012-03-12  Bruno Haible  <bruno@clisp.org>
4521
4522         uninorm: Don't crash in out-of-memory conditions.
4523         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
4524         gracefully.
4525         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
4526         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
4527
4528 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
4529
4530         quote: fix syntax-check
4531         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
4532         also exports quote_quoting_options.
4533
4534 2012-03-12  Simon Josefsson  <simon@josefsson.org>
4535
4536         Collapse list of copyright years to ranges.  See
4537         <https://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00051.html>.
4538         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
4539         build-aux/csharpexec.sh.in, build-aux/gnupload,
4540         build-aux/install-reloc, build-aux/javacomp.sh.in,
4541         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
4542         build-aux/move-if-change, build-aux/reloc-ldflags,
4543         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
4544
4545 2012-03-11  Bruno Haible  <bruno@clisp.org>
4546
4547         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
4548         * m4/log2f-ieee.m4: New file.
4549         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
4550         whether log2f works with a minus zero argument. Replace it if not.
4551         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
4552         (Depends-on): Add log2-ieee.
4553         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
4554         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
4555
4556         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
4557         * m4/log2-ieee.m4: New file.
4558         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
4559         whether log2 works with a minus zero argument. Replace it if not.
4560         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
4561         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
4562         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
4563
4564         Tests for module 'log2l-ieee'.
4565         * modules/log2l-ieee-tests: New file.
4566         * tests/test-log2l-ieee.c: New file.
4567
4568         New module 'log2l-ieee'.
4569         * modules/log2l-ieee: New file.
4570
4571         Tests for module 'log2-ieee'.
4572         * modules/log2-ieee-tests: New file.
4573         * tests/test-log2-ieee.c: New file.
4574
4575         New module 'log2-ieee'.
4576         * modules/log2-ieee: New file.
4577
4578         Tests for module 'log2f-ieee'.
4579         * modules/log2f-ieee-tests: New file.
4580         * tests/test-log2f-ieee.c: New file.
4581         * tests/test-log2-ieee.h: New file.
4582
4583         New module 'log2f-ieee'.
4584         * modules/log2f-ieee: New file.
4585
4586 2012-03-11  Bruno Haible  <bruno@clisp.org>
4587
4588         Tests for module 'log2l'.
4589         * modules/log2l-tests: New file.
4590         * tests/test-log2l.c: New file.
4591
4592         New module 'log2l'.
4593         * lib/math.in.h (log2l): New declaration.
4594         * lib/log2l.c: New file.
4595         * m4/log2l.m4: New file.
4596         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
4597         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
4598         REPLACE_LOG2L.
4599         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
4600         REPLACE_LOG2L.
4601         * modules/log2l: New file.
4602         * tests/test-math-c++.cc: Check the declaration of log2l.
4603         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
4604         and OSF/1 problems.
4605
4606 2012-03-11  Bruno Haible  <bruno@clisp.org>
4607
4608         Tests for module 'log2f'.
4609         * modules/log2f-tests: New file.
4610         * tests/test-log2f.c: New file.
4611
4612         New module 'log2f'.
4613         * lib/math.in.h (log2f): New declaration.
4614         * lib/log2f.c: New file.
4615         * m4/log2f.m4: New file.
4616         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
4617         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
4618         REPLACE_LOG2F.
4619         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
4620         REPLACE_LOG2F.
4621         * modules/log2f: New file.
4622         * tests/test-math-c++.cc: Check the declaration of log2f.
4623         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
4624         and OSF/1 and Cygwin problems.
4625
4626 2012-03-11  Bruno Haible  <bruno@clisp.org>
4627
4628         Tests for module 'log2'.
4629         * modules/log2-tests: New file.
4630         * tests/test-log2.c: New file.
4631         * tests/test-log2.h: New file.
4632
4633         New module 'log2'.
4634         * lib/math.in.h (log2): New declaration.
4635         * lib/log2.c: New file.
4636         * m4/log2.m4: New file.
4637         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
4638         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
4639         REPLACE_LOG2.
4640         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
4641         REPLACE_LOG2.
4642         * modules/log2: New file.
4643         * tests/test-math-c++.cc: Check the declaration of log2.
4644         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
4645         and OSF/1 and Cygwin problems.
4646
4647 2012-03-11  Bruno Haible  <bruno@clisp.org>
4648
4649         exp2* tests: More tests.
4650         * tests/test-exp2.h (test_function): Test all integral arguments that
4651         don't need to overflow or denormalized numbers.
4652         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
4653         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
4654         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
4655
4656 2012-03-10  Bruno Haible  <bruno@clisp.org>
4657
4658         log1pl-ieee: Work around test failure on AIX 7.1.
4659         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
4660
4661         log1pl-ieee: Work around test failure on IRIX 6.5.
4662         * m4/log1pl-ieee.m4: New file.
4663         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
4664         test whether log1pl works with a minus zero argument. Replace it if
4665         not.
4666         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
4667         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
4668         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
4669         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
4670         (Depends-on): Update conditions.
4671         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
4672         m4/signbit.m4.
4673         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
4674         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
4675
4676         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
4677         * m4/log1pf-ieee.m4: New file.
4678         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
4679         test whether log1pf works with a minus zero argument. Replace it if
4680         not.
4681         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
4682         m4/signbit.m4.
4683         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
4684         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
4685
4686         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
4687         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
4688         (configure.ac): Require gl_FUNC_LOG1PF.
4689
4690         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
4691         * m4/log1p-ieee.m4: New file.
4692         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
4693         whether log1p works with a minus zero argument. Replace it if not.
4694         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
4695         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
4696         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
4697         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
4698         (Depends-on): Update conditions.
4699         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
4700         m4/signbit.m4.
4701         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
4702         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
4703
4704         Tests for module 'log1pl-ieee'.
4705         * modules/log1pl-ieee-tests: New file.
4706         * tests/test-log1pl-ieee.c: New file.
4707
4708         New module 'log1pl-ieee'.
4709         * modules/log1pl-ieee: New file.
4710
4711         Tests for module 'log1p-ieee'.
4712         * modules/log1p-ieee-tests: New file.
4713         * tests/test-log1p-ieee.c: New file.
4714
4715         New module 'log1p-ieee'.
4716         * modules/log1p-ieee: New file.
4717
4718         Tests for module 'log1pf-ieee'.
4719         * modules/log1pf-ieee-tests: New file.
4720         * tests/test-log1pf-ieee.c: New file.
4721         * tests/test-log1p-ieee.h: New file.
4722
4723         New module 'log1pf-ieee'.
4724         * modules/log1pf-ieee: New file.
4725
4726 2012-03-10  Bruno Haible  <bruno@clisp.org>
4727
4728         Tests for module 'log1pl'.
4729         * modules/log1pl-tests: New file.
4730         * tests/test-log1pl.c: New file.
4731
4732         New module 'log1pl'.
4733         * lib/math.in.h (log1pl): New declaration.
4734         * lib/log1pl.c: New file.
4735         * m4/log1pl.m4: New file.
4736         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
4737         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
4738         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
4739         * modules/log1pl: New file.
4740         * tests/test-math-c++.cc: Check the declaration of log1pl.
4741         * doc/posix-functions/log1pl.texi: Mention the new module.
4742
4743 2012-03-10  Bruno Haible  <bruno@clisp.org>
4744
4745         Tests for module 'log1pf'.
4746         * modules/log1pf-tests: New file.
4747         * tests/test-log1pf.c: New file.
4748
4749         New module 'log1pf'.
4750         * lib/math.in.h (log1pf): New declaration.
4751         * lib/log1pf.c: New file.
4752         * m4/log1pf.m4: New file.
4753         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
4754         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
4755         REPLACE_LOG1PF.
4756         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
4757         REPLACE_LOG1PF.
4758         * modules/log1pf: New file.
4759         * tests/test-math-c++.cc: Check the declaration of log1pf.
4760         * doc/posix-functions/log1pf.texi: Mention the new module.
4761
4762 2012-03-10  Bruno Haible  <bruno@clisp.org>
4763
4764         log1p tests: More tests.
4765         * tests/test-log1p.h: New file.
4766         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
4767         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
4768         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
4769         (main): Invoke test_function.
4770
4771         log1p: Provide replacement for Minix and MSVC.
4772         * lib/math.in.h (log1p): New declaration.
4773         * lib/log1p.c: New file.
4774         * m4/log1p.m4: New file.
4775         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
4776         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
4777         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
4778         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
4779         (Depends-on): Add math, isnand, log, round.
4780         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
4781         HAVE_LOG1P is 0.
4782         * tests/test-math-c++.cc: Check the declaration of log1p.
4783         * doc/posix-functions/log1p.texi: Mention the replacement.
4784
4785 2012-03-10  Bruno Haible  <bruno@clisp.org>
4786
4787         math tests: Small simplification.
4788         * tests/test-exp.h (test_function): Use the same err_bound for
4789         'double' on platforms with sizeof (long double) == sizeof (double)
4790         than on platforms with sizeof (long double) > sizeof (double).
4791         * tests/test-exp2.h (test_function): Likewise.
4792         * tests/test-expm1.h (test_function): Likewise.
4793         * tests/test-log.h (test_function): Likewise.
4794
4795 2012-03-10  Bruno Haible  <bruno@clisp.org>
4796
4797         Fix some comments.
4798         * lib/expl.c: Fix an ambiguous comment.
4799         * lib/expm1.c: Likewise.
4800         * lib/expm1l.c: Likewise.
4801         * lib/exp2.c: Likewise.
4802         * lib/exp2l.c: Likewise.
4803
4804 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
4805
4806         regex: allow inclusion of <regex.h> before <limits.h>
4807         Without this patch, portable programs had to include <limits.h> before
4808         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
4809         I ran into this problem with a test version of GNU grep on Solaris 8.
4810         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
4811         This is done conditionally so that this change can be merged
4812         back to glibc.
4813         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
4814         using the included regex.
4815
4816         fts: depend on fdopendir
4817         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
4818         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
4819         problem was introduced when fdopendir was split out.
4820
4821 2012-03-10  Bruno Haible  <bruno@clisp.org>
4822
4823         Remove unused variables.
4824         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
4825         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
4826
4827 2012-03-10  Bruno Haible  <bruno@clisp.org>
4828
4829         isnanf-nolibm: Fix last commit.
4830         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
4831
4832         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
4833         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
4834
4835 2012-03-10  Bruno Haible  <bruno@clisp.org>
4836
4837         logf-ieee: Work around test failure on NetBSD 5.1.
4838         * m4/logf-ieee.m4: New file.
4839         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
4840         whether logf works with a negative argument. Replace it if not.
4841         * lib/logf.c (logf): For negative arguments, return NaN.
4842         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
4843         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
4844         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
4845
4846         logf-ieee: Work around test failure on Solaris 9.
4847         * modules/logf-ieee (Depends-on): Add log-ieee.
4848         (configure.ac): Require gl_FUNC_LOGF.
4849
4850         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
4851         * m4/log-ieee.m4: New file.
4852         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
4853         log works with a negative argument. Replace it if not.
4854         * lib/log.c (log): For negative arguments, return NaN.
4855         * modules/log-ieee (Files): Add m4/log-ieee.m4.
4856         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
4857         * doc/posix-functions/log.texi: Mention the log-ieee module.
4858
4859         Tests for module 'logl-ieee'.
4860         * modules/logl-ieee-tests: New file.
4861         * tests/test-logl-ieee.c: New file.
4862
4863         New module 'logl-ieee'.
4864         * modules/logl-ieee: New file.
4865
4866         Tests for module 'log-ieee'.
4867         * modules/log-ieee-tests: New file.
4868         * tests/test-log-ieee.c: New file.
4869
4870         New module 'log-ieee'.
4871         * modules/log-ieee: New file.
4872
4873         Tests for module 'logf-ieee'.
4874         * modules/logf-ieee-tests: New file.
4875         * tests/test-logf-ieee.c: New file.
4876         * tests/test-log-ieee.h: New file.
4877
4878         New module 'logf-ieee'.
4879         * modules/logf-ieee: New file.
4880
4881 2012-03-10  Bruno Haible  <bruno@clisp.org>
4882
4883         log: Fix bug introduced on 2012-03-09.
4884         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
4885
4886 2012-03-10  Pádraig Brady  <P@draigBrady.com>
4887
4888         timer-time: link explicitly with pthreads on glibc
4889         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
4890         to support static linking, when newer glibc is
4891         detected, as that contains pthread emulation of
4892         POSIX timer functions where required.
4893         * modules/timer-time: Depend on threadlib to
4894         pull in the appropriate library to link.
4895
4896 2012-03-10  Bruno Haible  <bruno@clisp.org>
4897
4898         log* tests: More tests.
4899         * tests/test-log.h: New file.
4900         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
4901         (main): Invoke test_function.
4902         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
4903         (main): Invoke test_function.
4904         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
4905         (main): Invoke test_function.
4906         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
4907         tests/randomd.c.
4908         (Makefile.am): Add randomd.c to test_log_SOURCES.
4909         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
4910         tests/randomf.c.
4911         (Makefile.am): Add randomf.c to test_logf_SOURCES.
4912         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
4913         tests/randoml.c.
4914         (Depends-on): Add 'float'.
4915         (Makefile.am): Add randoml.c to test_logl_SOURCES.
4916
4917 2012-03-09  Bruno Haible  <bruno@clisp.org>
4918
4919         logl: Work around OSF/1 5.1 bug.
4920         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
4921         * lib/logl.c (logl): If logl exists, use it and provide just the
4922         workaround.
4923         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
4924         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
4925         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
4926         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
4927         * modules/logl (configure.ac): Consider REPLACE_LOGL.
4928         (Depends-on): Update conditions.
4929         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
4930
4931 2012-03-09  Bruno Haible  <bruno@clisp.org>
4932
4933         logf: Work around OSF/1 5.1 bug.
4934         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
4935         * lib/logf.c (logf): If logf exists, use it and provide just the
4936         workaround.
4937         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
4938         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
4939         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
4940         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
4941         * modules/logf (configure.ac): Consider REPLACE_LOGF.
4942         (Depends-on): Update conditions.
4943         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
4944
4945 2012-03-09  Bruno Haible  <bruno@clisp.org>
4946
4947         log: Work around OSF/1 5.1 bug.
4948         * lib/math.in.h (log): New declaration.
4949         * lib/log.c: New file.
4950         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
4951         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
4952         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
4953         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
4954         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
4955         * modules/log (Files): Add lib/log.c.
4956         (Depends-on): Add math.
4957         (configure.ac): If REPLACE_LOG is 1, compile an override.
4958         * tests/test-math-c++.cc: Check the declaration of log.
4959         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
4960
4961 2012-03-09  Jim Meyering  <meyering@redhat.com>
4962
4963         readtokens.c: adjust wording in a comment
4964         * lib/readtokens.c: Insert omitted "that" in a comment.
4965
4966 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
4967
4968         modechange: add notations +40, 00440, etc.
4969         * lib/modechange.c (mode_compile): Support new notations
4970         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
4971
4972 2012-03-08  Bruno Haible  <bruno@clisp.org>
4973
4974         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
4975         * m4/exp2l-ieee.m4: New file.
4976         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
4977         test whether exp2l works with a NaN argument and with a negative
4978         infinity argument. Replace it if not.
4979         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
4980         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
4981         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
4982         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
4983         (Depends-on): Update conditions.
4984         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
4985         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
4986         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
4987
4988         Tests for module 'exp2l-ieee'.
4989         * modules/exp2l-ieee-tests: New file.
4990         * tests/test-exp2l-ieee.c: New file.
4991
4992         New module 'exp2l-ieee'.
4993         * modules/exp2l-ieee: New file.
4994
4995         Tests for module 'exp2-ieee'.
4996         * modules/exp2-ieee-tests: New file.
4997         * tests/test-exp2-ieee.c: New file.
4998
4999         New module 'exp2-ieee'.
5000         * modules/exp2-ieee: New file.
5001
5002         Tests for module 'exp2f-ieee'.
5003         * modules/exp2f-ieee-tests: New file.
5004         * tests/test-exp2f-ieee.c: New file.
5005         * tests/test-exp2-ieee.h: New file.
5006
5007         New module 'exp2f-ieee'.
5008         * modules/exp2f-ieee: New file.
5009
5010 2012-03-08  Bruno Haible  <bruno@clisp.org>
5011
5012         Tests for module 'exp2l'.
5013         * modules/exp2l-tests: New file.
5014         * tests/test-exp2l.c: New file.
5015
5016         New module 'exp2l'.
5017         * lib/math.in.h (exp2l): New declaration.
5018         * lib/exp2l.c: New file.
5019         * lib/expl-table.c: New file, extracted from lib/expl.c.
5020         * lib/expl.c (gl_expl_table): New declaration.
5021         (expl): Remove expl_table. Update reference.
5022         * m4/exp2l.m4: New file.
5023         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
5024         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
5025         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
5026         * modules/exp2l: New file.
5027         * modules/expl (Files): Add lib/expl-table.c.
5028         (configure.ac): Compile also expl-table.c.
5029         * tests/test-math-c++.cc: Check the declaration of exp2l.
5030         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
5031         problem.
5032
5033 2012-03-08  Bruno Haible  <bruno@clisp.org>
5034
5035         Tests for module 'exp2f'.
5036         * modules/exp2f-tests: New file.
5037         * tests/test-exp2f.c: New file.
5038
5039         New module 'exp2f'.
5040         * lib/math.in.h (exp2f): New declaration.
5041         * lib/exp2f.c: New file.
5042         * m4/exp2f.m4: New file.
5043         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
5044         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
5045         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
5046         * modules/exp2f: New file.
5047         * tests/test-math-c++.cc: Check the declaration of exp2f.
5048         * doc/posix-functions/exp2f.texi: Mention the new module and the
5049         IRIX problem.
5050
5051 2012-03-08  Bruno Haible  <bruno@clisp.org>
5052
5053         Tests for module 'exp2'.
5054         * modules/exp2-tests: New file.
5055         * tests/test-exp2.c: New file.
5056         * tests/test-exp2.h: New file.
5057
5058         New module 'exp2'.
5059         * lib/math.in.h (exp2): New declaration.
5060         * lib/exp2.c: New file.
5061         * m4/exp2.m4: New file.
5062         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
5063         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
5064         REPLACE_EXP2.
5065         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
5066         REPLACE_EXP2.
5067         * modules/exp2: New file.
5068         * tests/test-math-c++.cc: Check the declaration of exp2.
5069         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
5070         and OpenBSD problems.
5071
5072 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
5073
5074         savedir: fix comment typo
5075         * lib/savedir.c (savedirstream): Fix typo in comment.
5076
5077 2012-03-08  Bruno Haible  <bruno@clisp.org>
5078
5079         test-readtokens.c: use const; remove unwarranted cast
5080         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
5081
5082 2012-03-08  Bruno Haible  <bruno@clisp.org>
5083
5084         fmal: Avoid compilation error on AIX.
5085         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
5086         AIX 5.2..7.1.
5087
5088 2012-03-08  Bruno Haible  <bruno@clisp.org>
5089
5090         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
5091         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
5092         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
5093         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
5094         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
5095         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
5096         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
5097
5098 2012-03-08  Bruno Haible  <bruno@clisp.org>
5099
5100         remainderf: Override buggy system function on IRIX 6.5.
5101         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
5102         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
5103         when it exists.
5104         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
5105
5106 2012-03-08  Jim Meyering  <meyering@redhat.com>
5107
5108         test-readtokens.c: avoid const-related compilation warnings
5109         * tests/test-readtokens.c: Avoid const-related compilation warnings.
5110
5111 2012-03-07  Jim Meyering  <meyering@redhat.com>
5112             Bruno Haible  <bruno@clisp.org>
5113
5114         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
5115         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
5116         tests/randomd.c.
5117         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
5118         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
5119         tests/randoml.c.
5120         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
5121
5122 2012-03-07  Bruno Haible  <bruno@clisp.org>
5123
5124         expm1l: Avoid compilation error on AIX.
5125         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
5126         AIX 5.2..7.1.
5127
5128 2012-03-07  Bruno Haible  <bruno@clisp.org>
5129
5130         expm1l: Don't override undeclared system function on IRIX 6.5.
5131         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
5132         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
5133         it exists. Set HAVE_DECL_EXPM1L.
5134         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
5135         HAVE_EXPM1L.
5136         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
5137         HAVE_EXPM1L.
5138         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
5139
5140 2012-03-07  Bruno Haible  <bruno@clisp.org>
5141
5142         remainderl: Don't override undeclared system function on IRIX 6.5.
5143         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
5144         HAVE_REMAINDERL.
5145         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
5146         declared when it exists. Set HAVE_DECL_REMAINDERL.
5147         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
5148         not HAVE_REMAINDERL.
5149         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
5150         HAVE_REMAINDERL.
5151         * doc/posix-functions/remainderl.texi: Mention missing declaration
5152         problem.
5153
5154 2012-03-07  Bruno Haible  <bruno@clisp.org>
5155
5156         rintf: Don't override undeclared system function on IRIX 6.5.
5157         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
5158         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
5159         exists. Set HAVE_DECL_RINTF.
5160         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
5161         HAVE_RINTF.
5162         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
5163         HAVE_RINTF.
5164         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
5165
5166 2012-03-07  Bruno Haible  <bruno@clisp.org>
5167
5168         roundl: Avoid compilation error on AIX.
5169         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
5170         AIX 5.2..7.1.
5171
5172 2012-03-07  Bruno Haible  <bruno@clisp.org>
5173
5174         roundl: Don't override undeclared system function on IRIX 6.5.
5175         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
5176         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
5177         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
5178         * modules/roundl (configure.ac): For replacement code, test
5179         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
5180         (Depends-on): Update conditions.
5181         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
5182
5183 2012-03-07  Bruno Haible  <bruno@clisp.org>
5184
5185         roundf: Don't override undeclared system function on IRIX 6.5.
5186         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
5187         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
5188         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
5189         * modules/roundf (configure.ac): For replacement code, test
5190         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
5191         (Depends-on): Update conditions.
5192         * modules/roundf-ieee (Depends-on): Update conditions.
5193         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
5194
5195 2012-03-07  Bruno Haible  <bruno@clisp.org>
5196
5197         round: Don't override undeclared system function on IRIX 6.5.
5198         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
5199         argument.
5200         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
5201         also when it is not declared. Set HAVE_ROUND. For replacement code,
5202         test HAVE_ROUND, not HAVE_DECL_ROUND.
5203         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
5204         not HAVE_DECL_ROUND.
5205         (Depends-on): Update conditions.
5206         * modules/round-ieee (Depends-on): Update conditions.
5207         * doc/posix-functions/round.texi: Mention the IRIX problem.
5208
5209 2012-03-07  Bruno Haible  <bruno@clisp.org>
5210
5211         copysignf: Don't override undeclared system function on IRIX 6.5.
5212         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
5213         HAVE_COPYSIGNF.
5214         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
5215         declared when it exists. Set HAVE_DECL_COPYSIGNF.
5216         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
5217         not HAVE_COPYSIGNF.
5218         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
5219         HAVE_COPYSIGNF.
5220         * doc/posix-functions/copysignf.texi: Mention missing declaration
5221         problem.
5222
5223 2012-03-07  Jim Meyering  <meyering@redhat.com>
5224
5225         readtokens: add tests
5226         * modules/readtokens-tests: New file.
5227         * tests/test-readtokens.c: New file.
5228
5229 2012-03-07  Jim Meyering  <meyering@redhat.com>
5230
5231         quotearg: the module must now include quote.h
5232         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
5233         So must the module.
5234         * modules/quotearg (Files): Add quote.h.
5235
5236 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
5237
5238         readtokens: avoid core dumps with unusual calling patterns
5239         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
5240         * lib/readtokens.c: Include limits.h.
5241         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
5242         (readtoken): Don't cache the delimiters; the cache code was buggy
5243         if !delim && saved_delim, or if the new n_delim differs from the old.
5244         Also, it wasn't thread-safe.
5245
5246 2012-03-07  Bruno Haible  <bruno@clisp.org>
5247
5248         quote: Adhere to common module description layout.
5249         * modules/quote (Makefile.am): Add back empty section.
5250
5251 2012-03-06  Akim Demaille  <demaille@gostai.com>
5252
5253         quote: fuse into quotearg
5254         This patch is made for the benefit of Bison.
5255         quote does not leave the choice of the quoting style to the user.
5256         quoting_style provides poor customizability, yet quoting_options,
5257         which is very rich, is hidden inside quotearg.c.  So in order to
5258         allow quote customization, move its implementation to quotearg.c.
5259         * lib/quote.c: Remove.
5260         * modules/quote: Adjust.
5261         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
5262         warning: provide all the members of literal structs.
5263         (quote_quoting_options): New.
5264         (quote, quote_n): Import implementation from quote.c.
5265         * lib/quote.h: Import the comments from quote.c.
5266         (quote_quoting_options): New.
5267
5268 2012-03-06  Bruno Haible  <bruno@clisp.org>
5269
5270         Tests for module 'expm1l-ieee'.
5271         * modules/expm1l-ieee-tests: New file.
5272         * tests/test-expm1l-ieee.c: New file.
5273
5274         New module 'expm1l-ieee'.
5275         * modules/expm1l-ieee: New file.
5276
5277         Tests for module 'expm1f-ieee'.
5278         * modules/expm1f-ieee-tests: New file.
5279         * tests/test-expm1f-ieee.c: New file.
5280
5281         New module 'expm1f-ieee'.
5282         * modules/expm1f-ieee: New file.
5283
5284         Tests for module 'expm1-ieee'.
5285         * modules/expm1-ieee-tests: New file.
5286         * tests/test-expm1-ieee.c: New file.
5287         * tests/test-expm1-ieee.h: New file.
5288
5289         New module 'expm1-ieee'.
5290         * modules/expm1-ieee: New file.
5291         * m4/expm1-ieee.m4: New file.
5292         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
5293         whether expm1 works with a minus zero argument. Replace it if not.
5294         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
5295         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
5296         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
5297         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
5298         (Depends-on): Update conditions.
5299         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
5300         AIX problem.
5301
5302 2012-03-06  Bruno Haible  <bruno@clisp.org>
5303
5304         Work around expm1f bug on IRIX 6.5.
5305         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
5306         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
5307         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
5308         not work.
5309         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
5310         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
5311         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
5312         (Depends-on): Update conditions.
5313         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
5314
5315 2012-03-06  Bruno Haible  <bruno@clisp.org>
5316
5317         Tests for module 'expm1l'.
5318         * modules/expm1l-tests: New file.
5319         * tests/test-expm1l.c: New file.
5320
5321         New module 'expm1l'.
5322         * lib/math.in.h (expm1l): New declaration.
5323         * lib/expm1l.c: New file.
5324         * m4/expm1l.m4: New file.
5325         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
5326         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
5327         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
5328         * modules/expm1l: New file.
5329         * tests/test-math-c++.cc: Check the declaration of expm1l.
5330         * doc/posix-functions/expm1l.texi: Mention the new module.
5331
5332 2012-03-06  Bruno Haible  <bruno@clisp.org>
5333
5334         Tests for module 'expm1f'.
5335         * modules/expm1f-tests: New file.
5336         * tests/test-expm1f.c: New file.
5337
5338         New module 'expm1f'.
5339         * lib/math.in.h (expm1f): New declaration.
5340         * lib/expm1f.c: New file.
5341         * m4/expm1f.m4: New file.
5342         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
5343         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
5344         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
5345         * modules/expm1f: New file.
5346         * tests/test-math-c++.cc: Check the declaration of expm1f.
5347         * doc/posix-functions/expm1f.texi: Mention the new module.
5348
5349 2012-03-06  Bruno Haible  <bruno@clisp.org>
5350
5351         Tests for module 'expm1'.
5352         * modules/expm1-tests: New file.
5353         * tests/test-expm1.c: New file.
5354         * tests/test-expm1.h: New file.
5355
5356         New module 'expm1'.
5357         * lib/math.in.h (expm1): New declaration.
5358         * lib/expm1.c: New file.
5359         * m4/expm1.m4: New file.
5360         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
5361         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
5362         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
5363         * modules/expm1: New file.
5364         * tests/test-math-c++.cc: Check the declaration of expm1.
5365         * doc/posix-functions/expm1.texi: Mention the new module.
5366
5367 2012-03-06  Bruno Haible  <bruno@clisp.org>
5368
5369         math: Ensure declarations of math functions.
5370         * modules/acosf (Depends-on): Add 'extensions'.
5371         * modules/asinf (Depends-on): Likewise.
5372         * modules/atan2f (Depends-on): Likewise.
5373         * modules/atanf (Depends-on): Likewise.
5374         * modules/cbrt (Depends-on): Likewise.
5375         * modules/cbrtf (Depends-on): Likewise.
5376         * modules/cbrtl (Depends-on): Likewise.
5377         * modules/copysignf (Depends-on): Likewise.
5378         * modules/copysignl (Depends-on): Likewise.
5379         * modules/cosf (Depends-on): Likewise.
5380         * modules/coshf (Depends-on): Likewise.
5381         * modules/expf (Depends-on): Likewise.
5382         * modules/fabsf (Depends-on): Likewise.
5383         * modules/fabsl (Depends-on): Likewise.
5384         * modules/fmaf (Depends-on): Likewise.
5385         * modules/fmal (Depends-on): Likewise.
5386         * modules/fmodf (Depends-on): Likewise.
5387         * modules/fmodl (Depends-on): Likewise.
5388         * modules/frexpf (Depends-on): Likewise.
5389         * modules/frexpl (Depends-on): Likewise.
5390         * modules/hypot (Depends-on): Likewise.
5391         * modules/hypotf (Depends-on): Likewise.
5392         * modules/hypotl (Depends-on): Likewise.
5393         * modules/ldexpf (Depends-on): Likewise.
5394         * modules/ldexpl (Depends-on): Likewise.
5395         * modules/log10f (Depends-on): Likewise.
5396         * modules/log10l (Depends-on): Likewise.
5397         * modules/log1p (Depends-on): Likewise.
5398         * modules/logb (Depends-on): Likewise.
5399         * modules/logf (Depends-on): Likewise.
5400         * modules/modff (Depends-on): Likewise.
5401         * modules/modfl (Depends-on): Likewise.
5402         * modules/powf (Depends-on): Likewise.
5403         * modules/remainderf (Depends-on): Likewise.
5404         * modules/remainderl (Depends-on): Likewise.
5405         * modules/rintf (Depends-on): Likewise.
5406         * modules/rintl (Depends-on): Likewise.
5407         * modules/sinf (Depends-on): Likewise.
5408         * modules/sinhf (Depends-on): Likewise.
5409         * modules/sqrtf (Depends-on): Likewise.
5410         * modules/tanf (Depends-on): Likewise.
5411         * modules/tanhf (Depends-on): Likewise.
5412         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
5413         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
5414         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
5415         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
5416         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
5417         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
5418         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
5419         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
5420         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
5421         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
5422         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
5423         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
5424         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
5425         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
5426         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
5427         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
5428         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
5429         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
5430         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
5431         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
5432         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
5433         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
5434         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
5435         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
5436         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
5437         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
5438         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
5439         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
5440         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
5441         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
5442         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
5443         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
5444         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
5445         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
5446         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
5447         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
5448         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
5449         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
5450         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
5451         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
5452         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
5453
5454 2012-03-06  Bruno Haible  <bruno@clisp.org>
5455
5456         math: Update module names in warnings.
5457         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
5458         tanl): Use specific module name in warn-on-use warning.
5459
5460 2012-03-06  Bruno Haible  <bruno@clisp.org>
5461
5462         expl: Simplify computation.
5463         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
5464
5465 2012-03-05  Bruno Haible  <bruno@clisp.org>
5466
5467         exp* tests: More tests.
5468         * tests/test-exp.h: New file.
5469         * tests/test-exp.c: Include <float.h> and test-exp.h.
5470         (main): Invoke test_function.
5471         * tests/test-expf.c: Include <float.h> and test-exp.h.
5472         (main): Invoke test_function.
5473         * tests/test-expl.c: Include <float.h> and test-exp.h.
5474         (main): Invoke test_function.
5475         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
5476         (Makefile.am): Add randomd.c to test_exp_SOURCES.
5477         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
5478         (Makefile.am): Add randomf.c to test_expf_SOURCES.
5479         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
5480         (Depends-on): Add 'float'.
5481         (Makefile.am): Add randoml.c to test_expl_SOURCES.
5482
5483         expl: Fix precision of computed result.
5484         * lib/expl.c: Completely rewritten.
5485         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
5486         (Maintainer): Add me.
5487         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
5488
5489 2012-03-05  Bruno Haible  <bruno@clisp.org>
5490
5491         cbrt* tests: More tests.
5492         * tests/test-cbrt.h: New file.
5493         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
5494         (main): Invoke test_function.
5495         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
5496         (main): Invoke test_function.
5497         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
5498         (main): Invoke test_function.
5499         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
5500         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
5501         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
5502         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
5503         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
5504         (Depends-on): Add 'float'.
5505         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
5506
5507 2012-03-05  Bruno Haible  <bruno@clisp.org>
5508
5509         hypot* tests: More tests.
5510         * tests/test-hypot.h: New file, partially extracted from
5511         tests/test-hypotl.c.
5512         * tests/test-hypot.c: Include test-hypot.h.
5513         (main): Invoke test_function.
5514         * tests/test-hypotf.c: Include test-hypot.h.
5515         (main): Invoke test_function.
5516         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
5517         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
5518         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
5519         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
5520         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
5521         tests/randomf.c.
5522         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
5523         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
5524         tests/randoml.c.
5525         (Depends-on): Add 'fpucw', 'float'.
5526         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
5527
5528 2012-03-05  Bruno Haible  <bruno@clisp.org>
5529
5530         fpucw: Doc about FreeBSD.
5531         * lib/fpucw.h: Mention FreeBSD in comments.
5532
5533 2012-03-04  Bruno Haible  <bruno@clisp.org>
5534
5535         sqrt* tests: More tests.
5536         * tests/test-sqrt.h: New file.
5537         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
5538         (main): Invoke test_function.
5539         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
5540         (main): Invoke test_function.
5541         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
5542         (main): Invoke test_function.
5543         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
5544         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
5545         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
5546         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
5547         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
5548         (Depends-on): Add 'float'.
5549         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
5550
5551 2012-03-04  Bruno Haible  <bruno@clisp.org>
5552
5553         remainder* tests: More tests.
5554         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
5555         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
5556         (main): Invoke test_function.
5557         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
5558         (main): Invoke test_function.
5559         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
5560         (main): Invoke test_function.
5561         * modules/remainder-tests (Files): Add tests/test-remainder.h,
5562         tests/randomd.c.
5563         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
5564         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
5565         tests/randomf.c.
5566         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
5567         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
5568         tests/randoml.c.
5569         (Depends-on): Add 'float'.
5570         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
5571
5572 2012-03-04  Bruno Haible  <bruno@clisp.org>
5573
5574         remainder, remainderf, remainderl: Fix computation for large quotients.
5575         * lib/remainder.c: Completely rewritten.
5576         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
5577         USE_FLOAT.
5578         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
5579         USE_LONG_DOUBLE.
5580         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
5581         isnand, isinf. Remove round, fma.
5582         * modules/remainderf (Files): Add lib/remainder.c.
5583         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
5584         Remove roundf, fmaf.
5585         * modules/remainderl (Files): Add lib/remainder.c.
5586         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
5587         isinf. Remove roundl, fmal.
5588         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
5589         REMAINDER_LIBM.
5590         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
5591         REMAINDERF_LIBM.
5592         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
5593         REMAINDERL_LIBM.
5594
5595 2012-03-04  Bruno Haible  <bruno@clisp.org>
5596
5597         fmod* tests: More tests.
5598         * tests/test-fmod.h (my_ldexp): New function.
5599         (test_function): Reduce amount of random numbers to test. Add tests
5600         of very large quotients x / y.
5601         * tests/test-fmod.c (MAX_EXP): New macro.
5602         * tests/test-fmodf.c (MAX_EXP): Likewise.
5603         * tests/test-fmodl.c (MAX_EXP): Likewise.
5604
5605 2012-03-04  Bruno Haible  <bruno@clisp.org>
5606
5607         fmod, fmodl: Fix computation for large quotients x / y.
5608         * lib/fmod.c: Completely rewritten.
5609         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
5610         USE_LONG_DOUBLE.
5611         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
5612         isnand. Remove fma.
5613         * modules/fmodl (Files): Add lib/fmod.c.
5614         (Depends-on): Add float, isfinite, signbit, fabsl,
5615         frexpl, ldexpl, isnanl. Remove fma.
5616         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
5617         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
5618
5619 2012-03-03  Bruno Haible  <bruno@clisp.org>
5620
5621         fmod* tests: More tests.
5622         * tests/test-fmod.h: New file.
5623         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
5624         (main): Invoke test_function.
5625         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
5626         (main): Invoke test_function.
5627         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
5628         (main): Invoke test_function.
5629         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
5630         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
5631         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
5632         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
5633         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
5634         (Depends-on): Add 'float'.
5635         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
5636
5637 2012-03-03  Bruno Haible  <bruno@clisp.org>
5638
5639         rint* tests: More tests.
5640         * tests/test-rint.h: New file, partially extracted from
5641         tests/test-rintl.c.
5642         * tests/test-rint.c: Include test-rint.h.
5643         (main): Invoke test_function.
5644         * tests/test-rintf.c: Include test-rint.h.
5645         (main): Invoke test_function.
5646         * tests/test-rintl.c: Include test-rint.h.
5647         (main): Invoke test_function.
5648         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
5649         (Makefile.am): Add randomd.c to test_rint_SOURCES.
5650         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
5651         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
5652         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
5653         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
5654
5655 2012-03-03  Bruno Haible  <bruno@clisp.org>
5656
5657         modf* tests: More tests.
5658         * tests/test-modf.h: New file.
5659         * tests/test-modf.c: Include <float.h> and test-modf.h.
5660         (main): Invoke test_function.
5661         * tests/test-modff.c: Include <float.h> and test-modf.h.
5662         (main): Invoke test_function.
5663         * tests/test-modfl.c: Include <float.h> and test-modf.h.
5664         (main): Invoke test_function.
5665         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
5666         (Makefile.am): Add randomd.c to test_modf_SOURCES.
5667         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
5668         (Makefile.am): Add randomf.c to test_modff_SOURCES.
5669         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
5670         (Depends-on): Add 'float'.
5671         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
5672
5673 2012-03-03  Bruno Haible  <bruno@clisp.org>
5674
5675         fabs* tests: More tests.
5676         * tests/test-fabs.h: New file, partially extracted from
5677         tests/test-fabsl.c.
5678         * tests/test-fabs.c (RANDOM): New macro.
5679         * tests/test-fabsf.c (RANDOM): New macro.
5680         * tests/test-fabsl.c (RANDOM): New macro.
5681         * modules/fabs-tests (Files): Add tests/randomd.c.
5682         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
5683         * modules/fabsf-tests (Files): Add tests/randomf.c.
5684         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
5685         * modules/fabsl-tests (Files): Add tests/randoml.c.
5686         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
5687
5688 2012-03-03  Bruno Haible  <bruno@clisp.org>
5689
5690         ldexp* tests: More tests.
5691         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
5692         * tests/test-ldexp.c (RANDOM): New macro.
5693         * tests/test-ldexpf.c (RANDOM): New macro.
5694         * tests/test-ldexpl.c (RANDOM): New macro.
5695         * modules/ldexp-tests (Files): Add tests/randomd.c.
5696         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
5697         * modules/ldexpf-tests (Files): Add tests/randomf.c.
5698         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
5699         * modules/ldexpl-tests (Files): Add tests/randoml.c.
5700         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
5701
5702 2012-03-03  Bruno Haible  <bruno@clisp.org>
5703
5704         frexp* tests: More tests.
5705         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
5706         * tests/test-frexp.c (RANDOM): New macro.
5707         * tests/test-frexpf.c (RANDOM): New macro.
5708         * tests/test-frexpl.c (RANDOM): New macro.
5709         * modules/frexp-tests (Files): Add tests/randomd.c.
5710         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
5711         * modules/frexpf-tests (Files): Add tests/randomf.c.
5712         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
5713         * modules/frexpl-tests (Files): Add tests/randoml.c.
5714         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
5715
5716 2012-03-03  Bruno Haible  <bruno@clisp.org>
5717
5718         Support for pseudo-random numbers in tests.
5719         * tests/randomf.c: New file.
5720         * tests/randomd.c: New file.
5721         * tests/randoml.c: New file.
5722         * tests/macros.h (randomf, randomd, randoml): New declarations.
5723
5724 2012-03-03  Bruno Haible  <bruno@clisp.org>
5725
5726         frexp* tests: Refactor.
5727         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
5728         * tests/test-frexp.c: Include and use it.
5729         * tests/test-frexpf.c: Likewise.
5730         * tests/test-frexpl.c: Likewise.
5731         * modules/frexp-tests (Files): Add tests/test-frexp.h.
5732         * modules/frexpf-tests (Files): Likewise.
5733         * modules/frexpl-tests (Files): Likewise.
5734
5735 2012-03-02  Jim Meyering  <meyering@redhat.com>
5736
5737         maint: don't specify XZ_OPT=-9ev in dist-related rule
5738         Using xz's -9 option is warranted only if you have a very large
5739         tarball (see xz's documentation for the sizes vs. presets), and
5740         requires 64MiB of memory at decompression time.
5741         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
5742         Automake's default of just "-e" is fine.  Override on a
5743         per-package basis by setting XZ_OPT e.g., in cfg.mk.
5744
5745 2012-03-01  Eric Blake  <eblake@redhat.com>
5746
5747         maint.mk: allow announcement for non-gnulib project
5748         * maint.mk (announcement): Skip gnulib version if not used.
5749
5750 2012-03-01  Jim Meyering  <meyering@redhat.com>
5751
5752         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
5753         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
5754         envvar settings cannot interfere.  Otherwise, setting envvars like
5755         prohibit=foo require=bar, etc. would cause spurious test failures.
5756
5757 2012-03-01  Eric Blake  <eblake@redhat.com>
5758
5759         maint.mk: add per-line exclusions to prohibitions
5760         * maint.mk (_sc_search_regexp): Add $exclude parameter.
5761         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
5762         (sc_const_long_option): Use it.
5763
5764 2012-03-01  Bruno Haible  <bruno@clisp.org>
5765
5766         Tests for module 'expl-ieee'.
5767         * modules/expl-ieee-tests: New file.
5768         * tests/test-expl-ieee.c: New file.
5769
5770         New module 'expl-ieee'.
5771         * modules/expl-ieee: New file.
5772
5773         Tests for module 'exp-ieee'.
5774         * modules/exp-ieee-tests: New file.
5775         * tests/test-exp-ieee.c: New file.
5776
5777         New module 'exp-ieee'.
5778         * modules/exp-ieee: New file.
5779
5780         Tests for module 'expf-ieee'.
5781         * modules/expf-ieee-tests: New file.
5782         * tests/test-expf-ieee.c: New file.
5783         * tests/test-exp-ieee.h: New file.
5784
5785         New module 'expf-ieee'.
5786         * modules/expf-ieee: New file.
5787
5788 2012-02-29  Bruno Haible  <bruno@clisp.org>
5789
5790         cbrtl-ieee: Work around test failure on IRIX 6.5.
5791         * m4/cbrtl-ieee.m4: New file.
5792         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
5793         test whether cbrtl works with a minus zero argument. Replace it if not.
5794         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
5795         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
5796         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
5797         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
5798         (Depends-on): Update conditions.
5799         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
5800         m4/signbit.m4.
5801         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
5802         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
5803         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
5804
5805         Tests for module 'cbrtl-ieee'.
5806         * modules/cbrtl-ieee-tests: New file.
5807         * tests/test-cbrtl-ieee.c: New file.
5808
5809         New module 'cbrtl-ieee'.
5810         * modules/cbrtl-ieee: New file.
5811
5812         Tests for module 'cbrt-ieee'.
5813         * modules/cbrt-ieee-tests: New file.
5814         * tests/test-cbrt-ieee.c: New file.
5815
5816         New module 'cbrt-ieee'.
5817         * modules/cbrt-ieee: New file.
5818
5819         Tests for module 'cbrtf-ieee'.
5820         * modules/cbrtf-ieee-tests: New file.
5821         * tests/test-cbrtf-ieee.c: New file.
5822         * tests/test-cbrt-ieee.h: New file.
5823
5824         New module 'cbrtf-ieee'.
5825         * modules/cbrtf-ieee: New file.
5826
5827 2012-02-29  Bruno Haible  <bruno@clisp.org>
5828
5829         cbrtf: Work around bug in IRIX 6.5 system function.
5830         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
5831         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
5832         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
5833         work.
5834         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
5835         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
5836         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
5837         (Depends-on): Update conditions.
5838         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
5839
5840 2012-02-29  Bruno Haible  <bruno@clisp.org>
5841
5842         Tests for module 'cbrtl'.
5843         * modules/cbrtl-tests: New file.
5844         * tests/test-cbrtl.c: New file.
5845
5846         New module 'cbrtl'.
5847         * lib/math.in.h (cbrtl): New declaration.
5848         * lib/cbrtl.c: New file.
5849         * m4/cbrtl.m4: New file.
5850         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
5851         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
5852         HAVE_DECL_CBRTL.
5853         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
5854         HAVE_DECL_CBRTL.
5855         * modules/cbrtl: New file.
5856         * tests/test-math-c++.cc: Check the declaration of cbrtl.
5857         * doc/posix-functions/cbrtl.texi: Mention the new module.
5858
5859 2012-02-29  Bruno Haible  <bruno@clisp.org>
5860
5861         Tests for module 'cbrtf'.
5862         * modules/cbrtf-tests: New file.
5863         * tests/test-cbrtf.c: New file.
5864
5865         New module 'cbrtf'.
5866         * lib/math.in.h (cbrtf): New declaration.
5867         * lib/cbrtf.c: New file.
5868         * m4/cbrtf.m4: New file.
5869         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
5870         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
5871         HAVE_DECL_CBRTF.
5872         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
5873         HAVE_DECL_CBRTF.
5874         * modules/cbrtf: New file.
5875         * tests/test-math-c++.cc: Check the declaration of cbrtf.
5876         * doc/posix-functions/cbrtf.texi: Mention the new module.
5877
5878 2012-02-29  Bruno Haible  <bruno@clisp.org>
5879
5880         cbrt: Provide replacement on MSVC and Minix.
5881         * lib/math.in.h (cbrt): New declaration.
5882         * lib/cbrt.c: New file.
5883         * m4/cbrt.m4: New file.
5884         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
5885         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
5886         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
5887         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
5888         (Depends-on): Add dependencies.
5889         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
5890         * tests/test-math-c++.cc: Check the declaration of cbrt.
5891         * doc/posix-functions/cbrt.texi: Mention that the module provides a
5892         replacement.
5893
5894 2012-02-29  Bruno Haible  <bruno@clisp.org>
5895
5896         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
5897         * m4/hypotl-ieee.m4: New file.
5898         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
5899         test whether hypotl works with mixed NaN and Infinity arguments.
5900         Replace it if not.
5901         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
5902         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
5903         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
5904         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
5905         (Depends-on): Update conditions.
5906         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
5907         (Depends-on): Add hypot-ieee.
5908         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
5909         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
5910
5911         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
5912         * m4/hypotf-ieee.m4: New file.
5913         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
5914         test whether hypotf works with mixed NaN and Infinity arguments.
5915         Replace it if not.
5916         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
5917         (Depends-on): Add hypot-ieee.
5918         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
5919         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
5920
5921         hypot-ieee: Work around test failure on OSF/1 and native Windows.
5922         * lib/math.in.h (hypot): New declaration.
5923         * lib/hypot.c: New file.
5924         * m4/hypot-ieee.m4: New file.
5925         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
5926         whether hypot works with mixed NaN and Infinity arguments. Replace it
5927         if not.
5928         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
5929         REPLACE_HYPOT.
5930         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
5931         * modules/hypot (Files): Add lib/hypot.c.
5932         (Depends-on): Add dependencies.
5933         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
5934         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
5935         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
5936         * tests/test-math-c++.cc: Check the declaration of hypot.
5937         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
5938
5939         Tests for module 'hypotl-ieee'.
5940         * modules/hypotl-ieee-tests: New file.
5941         * tests/test-hypotl-ieee.c: New file.
5942
5943         New module 'hypotl-ieee'.
5944         * modules/hypotl-ieee: New file.
5945
5946         Tests for module 'hypot-ieee'.
5947         * modules/hypot-ieee-tests: New file.
5948         * tests/test-hypot-ieee.c: New file.
5949
5950         New module 'hypot-ieee'.
5951         * modules/hypot-ieee: New file.
5952
5953         Tests for module 'hypotf-ieee'.
5954         * modules/hypotf-ieee-tests: New file.
5955         * tests/test-hypotf-ieee.c: New file.
5956         * tests/test-hypot-ieee.h: New file.
5957
5958         New module 'hypotf-ieee'.
5959         * modules/hypotf-ieee: New file.
5960
5961 2012-02-29  Bruno Haible  <bruno@clisp.org>
5962
5963         Remove unused variables.
5964         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
5965         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
5966         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
5967         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
5968
5969 2012-02-29  Eric Blake  <eblake@redhat.com>
5970
5971         termios: fix pid_t always, not just for tcgetsid
5972         * doc/posix-headers/termios.texi (termios.h): Mention problem.
5973         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
5974         just when building tcgetsid.
5975
5976 2012-02-29  Bruno Haible  <bruno@clisp.org>
5977
5978         Tests for module 'hypotl'.
5979         * modules/hypotl-tests: New file.
5980         * tests/test-hypotl.c: New file.
5981
5982         New module 'hypotl'.
5983         * lib/math.in.h (hypotl): New declaration.
5984         * lib/hypotl.c: New file.
5985         * m4/hypotl.m4: New file.
5986         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
5987         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
5988         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
5989         * modules/hypotl: New file.
5990         * tests/test-math-c++.cc: Check the hypotl declaration.
5991         * doc/posix-functions/hypotl.texi: Mention the new module.
5992
5993 2012-02-29  Eric Blake  <eblake@redhat.com>
5994
5995         tcgetsid: fix cygwin header bug
5996         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
5997
5998         docs: update cygwin progress
5999         * doc/posix-functions/llround.texi (llround): Added in cygwin
6000         1.7.8.
6001         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
6002         * doc/glibc-functions/program_invocation_name.texi
6003         (program_invocation_name): Likewise.
6004         * doc/glibc-functions/program_invocation_short_name.texi
6005         (program_invocation_short_name): Likewise.
6006         * doc/glibc-functions/madvise.texi (madvise): Likewise.
6007         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
6008         Likewise.
6009         * doc/posix-functions/pthread_spin_destroy.texi
6010         (pthread_spin_destroy): Added in cygwin 1.7.10.
6011         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
6012         Likewise.
6013         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
6014         Likewise.
6015         * doc/posix-functions/pthread_spin_trylock.texi
6016         (pthread_spin_trylock): Likewise.
6017         * doc/posix-functions/pthread_spin_unlock.texi
6018         (pthread_spin_unlock): Likewise.
6019         * doc/posix-functions/pthread_setschedprio.texi
6020         (pthread_setschedprio): Likewise.
6021         * doc/posix-functions/pthread_attr_getstack.texi
6022         (pthread_attr_getstack): Likewise.
6023         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
6024         (pthread_attr_getstackaddr): Likewise.
6025         * doc/glibc-functions/pthread_getattr_np.texi
6026         (pthread_getattr_np): Likewise.
6027         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
6028         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
6029         * doc/posix-functions/clock_settime.texi (clock_settime):
6030         Likewise.
6031         * doc/posix-functions/pthread_attr_getguardsize.texi
6032         (pthread_attr_getguardsize): Likewise.
6033         * doc/posix-functions/pthread_attr_setguardsize.texi
6034         (pthread_attr_setguardsize): Likewise.
6035         * doc/posix-functions/pthread_attr_setstack.texi
6036         (pthread_attr_setstack): Likewise.
6037         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
6038         (pthread_attr_setstackaddr): Likewise.
6039         * doc/posix-functions/clock_getcpuclockid.texi
6040         (clock_getcpuclockid): Likewise.
6041         * doc/posix-functions/pthread_getcpuclockid.texi
6042         (pthread_getcpuclockid): Likewise.
6043         * doc/glibc-functions/error.texi (error): Likewise.
6044         * doc/glibc-functions/error_at_line.texi (error_at_line):
6045         Likewise.
6046         * doc/glibc-functions/error_message_count.texi
6047         (error_message_count): Likewise.
6048         * doc/glibc-functions/error_one_per_line.texi
6049         (error_one_per_line): Likewise.
6050         * doc/glibc-functions/error_print_progname.texi
6051         (error_print_progname): Likewise.
6052         * doc/posix-functions/pthread_condattr_getclock.texi
6053         (pthread_condattr_getclock): Likewise.
6054         * doc/posix-functions/pthread_condattr_setclock.texi
6055         (pthread_condattr_setclock): Likewise.
6056         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
6057         Likewise.
6058         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
6059         * doc/glibc-functions/getpt.texi (getpt): Likewise.
6060         * doc/glibc-functions/get_current_dir_name.texi
6061         (get_current_dir_name): Likewise.
6062         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
6063         Likewise.
6064         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
6065         wrong return type.
6066         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
6067         1.7.11.
6068
6069 2012-02-29  Bruno Haible  <bruno@clisp.org>
6070
6071         Tests for module 'hypotf'.
6072         * modules/hypotf-tests: New file.
6073         * tests/test-hypotf.c: New file.
6074
6075         New module 'hypotf'.
6076         * lib/math.in.h (hypotf): New declaration.
6077         * lib/hypotf.c: New file.
6078         * m4/hypotf.m4: New file.
6079         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
6080         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
6081         REPLACE_HYPOTF.
6082         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
6083         REPLACE_HYPOTF.
6084         * modules/hypotf: New file.
6085         * tests/test-math-c++.cc: Check the hypotf declaration.
6086         * doc/posix-functions/hypotf.texi: Mention the new module.
6087
6088         hypot: Prepare for hypotf module.
6089         * m4/hypot.m4: New file.
6090         * modules/hypot (Files): Add m4/hypot.m4.
6091         (configure.ac): Invoke gl_FUNC_HYPOT.
6092
6093 2012-02-29  Bruno Haible  <bruno@clisp.org>
6094
6095         hypot tests: More tests.
6096         * tests/test-hypot.c: Include <float.h>.
6097         (main): Add tests about overflow and underflow.
6098
6099 2012-02-29  Bruno Haible  <bruno@clisp.org>
6100
6101         math code: Add comments.
6102         * lib/acosl.c: Add comment about related glibc source files.
6103         * lib/asinl.c: Likewise.
6104         * lib/atanl.c: Likewise.
6105         * lib/expl.c: Likewise.
6106         * lib/logl.c: Likewise.
6107         * lib/sincosl.c: Likewise.
6108         * lib/sinl.c: Likewise.
6109         * lib/tanl.c: Likewise.
6110         * lib/trigl.c: Likewise.
6111         * lib/cosl.c: Likewise. Fix comments.
6112
6113 2012-02-28  Bruno Haible  <bruno@clisp.org>
6114
6115         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
6116         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
6117         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
6118         HUGE_VALL are defined.
6119         (numeric_equald): Renamed from numeric_equal.
6120         (numeric_equalf, numeric_equall): New functions.
6121         (main): Check also HUGE_VALF, HUGE_VALL.
6122         * modules/math-tests (Files): Add tests/macros.h.
6123         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
6124         HUGE_VALL.
6125
6126 2012-02-28  Bruno Haible  <bruno@clisp.org>
6127
6128         doc: Move ISO C11 feature notes into POSIX chapters.
6129         * doc/posix-functions/aligned_alloc.texi: Renamed from
6130         doc/glibc-functions/aligned_alloc.texi.
6131         * doc/posix-functions/quick_exit.texi: Renamed from
6132         doc/glibc-functions/quick_exit.texi.
6133         * doc/posix-headers/uchar.texi: Renamed from
6134         doc/glibc-headers/uchar.texi.
6135         * doc/posix-functions/c16rtomb.texi: Renamed from
6136         doc/glibc-functions/c16rtomb.texi.
6137         * doc/posix-functions/c32rtomb.texi: Renamed from
6138         doc/glibc-functions/c32rtomb.texi.
6139         * doc/posix-functions/mbrtoc16.texi: Renamed from
6140         doc/glibc-functions/mbrtoc16.texi.
6141         * doc/posix-functions/mbrtoc32.texi: Renamed from
6142         doc/glibc-functions/mbrtoc32.texi.
6143         * doc/gnulib.texi: Update.
6144         (Glibc uchar.h): Remove section.
6145         Suggested by Eric Blake.
6146
6147 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
6148
6149         stdnoreturn: port to MSVC better
6150         MSVC standard headers use __declspec(noreturn), so #define noreturn
6151         to empty on that platform.  Reported by Bruno Haible in
6152         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
6153         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
6154         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
6155
6156 2012-02-28  Bruno Haible  <bruno@clisp.org>
6157
6158         doc: Mention new glibc headers and functions.
6159         * doc/glibc-headers/uchar.texi: New file.
6160         * doc/glibc-functions/aligned_alloc.texi: New file.
6161         * doc/glibc-functions/c16rtomb.texi: New file.
6162         * doc/glibc-functions/c32rtomb.texi: New file.
6163         * doc/glibc-functions/clock_adjtime.texi: New file.
6164         * doc/glibc-functions/fanotify_init.texi: New file.
6165         * doc/glibc-functions/fanotify_mark.texi: New file.
6166         * doc/glibc-functions/inet6_opt_append.texi: New file.
6167         * doc/glibc-functions/inet6_opt_find.texi: New file.
6168         * doc/glibc-functions/inet6_opt_finish.texi: New file.
6169         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
6170         * doc/glibc-functions/inet6_opt_init.texi: New file.
6171         * doc/glibc-functions/inet6_opt_next.texi: New file.
6172         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
6173         * doc/glibc-functions/inet6_rth_add.texi: New file.
6174         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
6175         * doc/glibc-functions/inet6_rth_init.texi: New file.
6176         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
6177         * doc/glibc-functions/inet6_rth_segments.texi: New file.
6178         * doc/glibc-functions/inet6_rth_space.texi: New file.
6179         * doc/glibc-functions/login.texi: New file.
6180         * doc/glibc-functions/mbrtoc16.texi: New file.
6181         * doc/glibc-functions/mbrtoc32.texi: New file.
6182         * doc/glibc-functions/name_to_handle_at.texi: New file.
6183         * doc/glibc-functions/ntp_gettimex.texi: New file.
6184         * doc/glibc-functions/open_by_handle_at.texi: New file.
6185         * doc/glibc-functions/prlimit.texi: New file.
6186         * doc/glibc-functions/process_vm_readv.texi: New file.
6187         * doc/glibc-functions/process_vm_writev.texi: New file.
6188         * doc/glibc-functions/recvmmsg.texi: New file.
6189         * doc/glibc-functions/scandirat.texi: New file.
6190         * doc/glibc-functions/sendmmsg.texi: New file.
6191         * doc/glibc-functions/setns.texi: New file.
6192         * doc/glibc-functions/timespec_get.texi: New file.
6193         * doc/gnulib.texi: Include them.
6194         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
6195         sections.
6196         Reported by Eric Blake.
6197
6198 2012-02-28  Bruno Haible  <bruno@clisp.org>
6199
6200         Avoid compilation errors with MSVC option -fp:strict.
6201         * lib/floor.c: Use MSVC specific pragma fenv_access.
6202         * lib/ceil.c: Likewise.
6203         * lib/trunc.c: Likewise.
6204         * lib/round.c: Likewise.
6205         * lib/rint.c: Likewise.
6206         * lib/fma.c: Likewise.
6207         * lib/integer_length.c: Likewise.
6208         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
6209         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
6210         * tests/test-floor2.c: Likewise.
6211         * tests/test-floorf2.c: Likewise.
6212         * tests/test-ceil2.c: Likewise.
6213         * tests/test-ceilf2.c: Likewise.
6214         * tests/test-trunc2.c: Likewise.
6215         * tests/test-truncf2.c: Likewise.
6216         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
6217
6218 2012-02-27  Bruno Haible  <bruno@clisp.org>
6219
6220         Tests for module 'sqrtl-ieee'.
6221         * modules/sqrtl-ieee-tests: New file.
6222         * tests/test-sqrtl-ieee.c: New file.
6223
6224         New module 'sqrtl-ieee'.
6225         * modules/sqrtl-ieee: New file.
6226
6227         Tests for module 'sqrt-ieee'.
6228         * modules/sqrt-ieee-tests: New file.
6229         * tests/test-sqrt-ieee.c: New file.
6230
6231         New module 'sqrt-ieee'.
6232         * modules/sqrt-ieee: New file.
6233
6234         Tests for module 'sqrtf-ieee'.
6235         * modules/sqrtf-ieee-tests: New file.
6236         * tests/test-sqrtf-ieee.c: New file.
6237         * tests/test-sqrt-ieee.h: New file.
6238
6239         New module 'sqrtf-ieee'.
6240         * modules/sqrtf-ieee: New file.
6241
6242 2012-02-27  Bruno Haible  <bruno@clisp.org>
6243
6244         remainderl-ieee: Work around test failure on OSF/1.
6245         * m4/remainderl-ieee.m4: New file.
6246         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
6247         present, test whether remainderl works with a zero second argument.
6248         Replace it if not.
6249         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
6250         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
6251         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
6252         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
6253         (Depends-on): Update conditions.
6254         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
6255         (Depends-on): Add remainder-ieee.
6256         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
6257         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
6258         module.
6259
6260         remainderf-ieee: Work around test failure on OSF/1.
6261         * m4/remainderf-ieee.m4: New file.
6262         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
6263         present, test whether remainderf works with a zero second argument.
6264         Replace it if not.
6265         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
6266         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
6267         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
6268         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
6269         (Depends-on): Update conditions.
6270         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
6271         (Depends-on): Add remainder-ieee.
6272         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
6273         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
6274         module.
6275
6276         remainder-ieee: Work around test failure on OSF/1.
6277         * m4/remainder-ieee.m4: New file.
6278         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
6279         present, test whether remainder works with a zero second argument.
6280         Replace it if not.
6281         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
6282         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
6283         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
6284         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
6285         (Depends-on): Update dependencies.
6286         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
6287         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
6288         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
6289
6290         Tests for module 'remainderl-ieee'.
6291         * modules/remainderl-ieee-tests: New file.
6292         * tests/test-remainderl-ieee.c: New file.
6293
6294         New module 'remainderl-ieee'.
6295         * modules/remainderl-ieee: New file.
6296
6297         Tests for module 'remainder-ieee'.
6298         * modules/remainder-ieee-tests: New file.
6299         * tests/test-remainder-ieee.c: New file.
6300
6301         New module 'remainder-ieee'.
6302         * modules/remainder-ieee: New file.
6303
6304         Tests for module 'remainderf-ieee'.
6305         * modules/remainderf-ieee-tests: New file.
6306         * tests/test-remainderf-ieee.c: New file.
6307         * tests/test-remainder-ieee.h: New file.
6308
6309         New module 'remainderf-ieee'.
6310         * modules/remainderf-ieee: New file.
6311
6312 2012-02-27  Bruno Haible  <bruno@clisp.org>
6313
6314         modff, modfl: Fix configure syntax error.
6315         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
6316         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
6317
6318 2012-02-27  Bruno Haible  <bruno@clisp.org>
6319
6320         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
6321         * m4/fmodl-ieee.m4: New file.
6322         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
6323         whether fmodl works with zero arguments. Replace it if not.
6324         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
6325         (Depends-on): Add fmod-ieee.
6326         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
6327         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
6328
6329         fmodf-ieee: Work around test failure on OSF/1.
6330         * m4/fmodf-ieee.m4: New file.
6331         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
6332         whether fmodf works with zero arguments. Replace it if not.
6333         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
6334         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
6335         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
6336         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
6337         (Depends-on): Update dependencies.
6338         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
6339         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
6340         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
6341
6342         fmodf-ieee: Work around test failure on MSVC 9.
6343         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
6344         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
6345
6346         fmod-ieee: Work around test failures on OSF/1, mingw.
6347         * m4/fmod-ieee.m4: New file.
6348         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
6349         whether fmod works with zero arguments. Replace it if not.
6350         * lib/math.in.h (fmod): New declaration.
6351         * lib/fmod.c: New file.
6352         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
6353         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
6354         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
6355         * modules/fmod (Files): Add lib/fmod.c.
6356         (Depends-on): Add math, isinf, trunc, fma.
6357         (configure.ac): Arrange to compile lib/fmod.c if needed.
6358         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
6359         m4/signbit.m4.
6360         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
6361         * tests/test-math-c++.cc: Check the declaration of fmod.
6362         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
6363
6364         fmodl-ieee: Fix test failures.
6365         * lib/fmodl.c (fmodl): Treat Inf specially.
6366         * modules/fmodl (Depends-on): Add isinf.
6367
6368         Tests for module 'fmodl-ieee'.
6369         * modules/fmodl-ieee-tests: New file.
6370         * tests/test-fmodl-ieee.c: New file.
6371
6372         New module 'fmodl-ieee'.
6373         * modules/fmodl-ieee: New file.
6374
6375         Tests for module 'fmod-ieee'.
6376         * modules/fmod-ieee-tests: New file.
6377         * tests/test-fmod-ieee.c: New file.
6378
6379         New module 'fmod-ieee'.
6380         * modules/fmod-ieee: New file.
6381
6382         Tests for module 'fmodf-ieee'.
6383         * modules/fmodf-ieee-tests: New file.
6384         * tests/test-fmodf-ieee.c: New file.
6385         * tests/test-fmod-ieee.h: New file.
6386
6387         New module 'fmodf-ieee'.
6388         * modules/fmodf-ieee: New file.
6389
6390 2012-02-27  Bruno Haible  <bruno@clisp.org>
6391
6392         Tests for module 'rintl-ieee'.
6393         * modules/rintl-ieee-tests: New file.
6394         * tests/test-rintl-ieee.c: New file.
6395
6396         New module 'rintl-ieee'.
6397         * modules/rintl-ieee: New file.
6398
6399         Tests for module 'rint-ieee'.
6400         * modules/rint-ieee-tests: New file.
6401         * tests/test-rint-ieee.c: New file.
6402
6403         New module 'rint-ieee'.
6404         * modules/rint-ieee: New file.
6405
6406         Tests for module 'rintf-ieee'.
6407         * modules/rintf-ieee-tests: New file.
6408         * tests/test-rintf-ieee.c: New file.
6409         * tests/test-rint-ieee.h: New file.
6410
6411         New module 'rintf-ieee'.
6412         * modules/rintf-ieee: New file.
6413
6414 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
6415
6416         regex: re_search etc. should return -2 when memory exhausted
6417         This bug was uncovered when testing 'grep'.  Without the fix,
6418         re_search and friends return -1 when memory is exhausted, but -1
6419         means no match, and this causes grep to falsely report no-match
6420         instead of memory-exhaustion.  See
6421         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
6422         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
6423         trouble; this can occur if re_search_internal ran out of memory.
6424
6425 2012-02-26  Bruno Haible  <bruno@clisp.org>
6426
6427         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
6428         * m4/modfl-ieee.m4: New file.
6429         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
6430         whether modfl works with Inf. Replace it if not.
6431         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
6432         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
6433         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
6434         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
6435         (Depends-on): Update dependencies.
6436         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
6437         m4/signbit.m4.
6438         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
6439         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
6440
6441         modfl-ieee: Fix dependencies.
6442         * modules/modfl-ieee (Depends-on): Add modf-ieee.
6443
6444         modfl-ieee: Fix test failures.
6445         * lib/modfl.c (modfl): Treat NaN and Inf specially.
6446         * modules/modfl (Depends-on): Add isfinite, isinf.
6447
6448         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
6449         * m4/modff-ieee.m4: New file.
6450         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
6451         whether modff works with NaN and Inf. Replace it if not.
6452         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
6453         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
6454         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
6455         * modules/modff (configure.ac): Consider REPLACE_MODFF.
6456         (Depends-on): Update dependencies.
6457         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
6458         m4/signbit.m4.
6459         (Depends-on): Add modf-ieee.
6460         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
6461         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
6462
6463         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
6464         * m4/modf-ieee.m4: New file.
6465         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
6466         whether modf works with NaN and Inf. Replace it if not.
6467         * lib/math.in.h (modf): New declaration.
6468         * lib/modf.c: New file.
6469         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
6470         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
6471         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
6472         * modules/modf (Files): Add lib/modf.c.
6473         (Depends-on): Add math, isfinite, trunc, isinf.
6474         (configure.ac): Addrange to compile lib/modf.c if needed.
6475         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
6476         m4/signbit.m4.
6477         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
6478         * tests/test-math-c++.cc: Check the declaration of modf.
6479         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
6480
6481         Tests for module 'modfl-ieee'.
6482         * modules/modfl-ieee-tests: New file.
6483         * tests/test-modfl-ieee.c: New file.
6484
6485         New module 'modfl-ieee'.
6486         * modules/modfl-ieee: New file.
6487
6488         Tests for module 'modf-ieee'.
6489         * modules/modf-ieee-tests: New file.
6490         * tests/test-modf-ieee.c: New file.
6491
6492         New module 'modf-ieee'.
6493         * modules/modf-ieee: New file.
6494
6495         Tests for module 'modff-ieee'.
6496         * modules/modff-ieee-tests: New file.
6497         * tests/test-modff-ieee.c: New file.
6498         * tests/test-modf-ieee.h: New file.
6499
6500         New module 'modff-ieee'.
6501         * modules/modff-ieee: New file.
6502
6503 2012-02-26  Bruno Haible  <bruno@clisp.org>
6504
6505         Tests for module 'fabsl-ieee'.
6506         * modules/fabsl-ieee-tests: New file.
6507         * tests/test-fabsl-ieee.c: New file.
6508
6509         New module 'fabsl-ieee'.
6510         * modules/fabsl-ieee: New file.
6511
6512         Tests for module 'fabs-ieee'.
6513         * modules/fabs-ieee-tests: New file.
6514         * tests/test-fabs-ieee.c: New file.
6515
6516         New module 'fabs-ieee'.
6517         * modules/fabs-ieee: New file.
6518
6519         Tests for module 'fabsf-ieee'.
6520         * modules/fabsf-ieee-tests: New file.
6521         * tests/test-fabsf-ieee.c: New file.
6522         * tests/test-fabs-ieee.h: New file.
6523
6524         New module 'fabsf-ieee'.
6525         * modules/fabsf-ieee: New file.
6526
6527 2012-02-26  Bruno Haible  <bruno@clisp.org>
6528
6529         Tests for module 'fmal-ieee'.
6530         * modules/fmal-ieee-tests: New file.
6531         * tests/test-fmal-ieee.c: New file.
6532
6533         New module 'fmal-ieee'.
6534         * modules/fmal-ieee: New file.
6535
6536         Tests for module 'fma-ieee'.
6537         * modules/fma-ieee-tests: New file.
6538         * tests/test-fma-ieee.c: New file.
6539
6540         New module 'fma-ieee'.
6541         * modules/fma-ieee: New file.
6542
6543         Tests for module 'fmaf-ieee'.
6544         * modules/fmaf-ieee-tests: New file.
6545         * tests/test-fmaf-ieee.c: New file.
6546         * tests/test-fma-ieee.h: New file.
6547
6548         New module 'fmaf-ieee'.
6549         * modules/fmaf-ieee: New file.
6550
6551 2012-02-26  Bruno Haible  <bruno@clisp.org>
6552
6553         Tests for module 'ldexpl-ieee'.
6554         * modules/ldexpl-ieee-tests: New file.
6555         * tests/test-ldexpl-ieee.c: New file.
6556
6557         New module 'ldexpl-ieee'.
6558         * modules/ldexpl-ieee: New file.
6559
6560         Tests for module 'ldexp-ieee'.
6561         * modules/ldexp-ieee-tests: New file.
6562         * tests/test-ldexp-ieee.c: New file.
6563
6564         New module 'ldexp-ieee'.
6565         * modules/ldexp-ieee: New file.
6566
6567         Tests for module 'ldexpf-ieee'.
6568         * modules/ldexpf-ieee-tests: New file.
6569         * tests/test-ldexpf-ieee.c: New file.
6570         * tests/test-ldexp-ieee.h: New file.
6571
6572         New module 'ldexpf-ieee'.
6573         * modules/ldexpf-ieee: New file.
6574
6575 2012-02-26  Bruno Haible  <bruno@clisp.org>
6576
6577         Refactor frexp*-ieee tests.
6578         * tests/test-frexp-ieee.h: New file.
6579         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
6580         (main): Just call test_function.
6581         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
6582         (main): Just call test_function.
6583         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
6584         (main): Just call test_function.
6585         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
6586         * modules/frexp-ieee-tests (Files): Likewise.
6587         * modules/frexpl-ieee-tests (Files): Likewise.
6588
6589         Tests for module 'frexpl-ieee'.
6590         * modules/frexpl-ieee-tests: New file.
6591         * tests/test-frexpl-ieee.c: New file.
6592
6593         New module 'frexpl-ieee'.
6594         * modules/frexpl-ieee: New file.
6595
6596         Tests for module 'frexp-ieee'.
6597         * modules/frexp-ieee-tests: New file.
6598         * tests/test-frexp-ieee.c: New file.
6599
6600         New module 'frexp-ieee'.
6601         * modules/frexp-ieee: New file.
6602
6603         Tests for module 'frexpf-ieee'.
6604         * modules/frexpf-ieee-tests: New file.
6605         * tests/test-frexpf-ieee.c: New file.
6606
6607         New module 'frexpf-ieee'.
6608         * modules/frexpf-ieee: New file.
6609
6610 2012-02-26  Bruno Haible  <bruno@clisp.org>
6611
6612         roundl-ieee tests: More tests.
6613         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
6614         (main): Add tests for [MX] shaded specification in POSIX.
6615         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
6616         (Depends-on): Add isnanl-nolibm.
6617
6618         round-ieee tests: More tests.
6619         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
6620         (main): Add tests for [MX] shaded specification in POSIX.
6621         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
6622         (Depends-on): Add isnand-nolibm.
6623
6624         roundf-ieee tests: More tests.
6625         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
6626         (main): Add tests for [MX] shaded specification in POSIX.
6627         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
6628         (Depends-on): Add isnanf-nolibm.
6629
6630         truncl-ieee tests: More tests.
6631         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
6632         (main): Add tests for [MX] shaded specification in POSIX.
6633         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
6634         (Depends-on): Add isnanl-nolibm.
6635
6636         trunc-ieee tests: More tests.
6637         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
6638         (main): Add tests for [MX] shaded specification in POSIX.
6639         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
6640         (Depends-on): Add isnand-nolibm.
6641
6642         truncf-ieee tests: More tests.
6643         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
6644         (main): Add tests for [MX] shaded specification in POSIX.
6645         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
6646         (Depends-on): Add isnanf-nolibm.
6647
6648         ceill-ieee tests: More tests.
6649         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
6650         (main): Add tests for [MX] shaded specification in POSIX.
6651         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
6652         (Depends-on): Add isnanl-nolibm.
6653
6654         ceil-ieee tests: More tests.
6655         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
6656         (main): Add tests for [MX] shaded specification in POSIX.
6657         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
6658         (Depends-on): Add isnand-nolibm.
6659
6660         ceilf-ieee tests: More tests.
6661         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
6662         (main): Add tests for [MX] shaded specification in POSIX.
6663         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
6664         (Depends-on): Add isnanf-nolibm.
6665
6666         floorl-ieee tests: More tests.
6667         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
6668         (main): Add tests for [MX] shaded specification in POSIX.
6669         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
6670         (Depends-on): Add isnanl-nolibm.
6671
6672         floor-ieee tests: More tests.
6673         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
6674         (main): Add tests for [MX] shaded specification in POSIX.
6675         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
6676         (Depends-on): Add isnand-nolibm.
6677
6678         floorf-ieee tests: More tests.
6679         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
6680         (main): Add tests for [MX] shaded specification in POSIX.
6681         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
6682         (Depends-on): Add isnanf-nolibm.
6683
6684 2012-02-26  Bruno Haible  <bruno@clisp.org>
6685
6686         fpieee: More comments.
6687         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
6688
6689 2012-02-25  Bruno Haible  <bruno@clisp.org>
6690
6691         Tests for module 'log10l'.
6692         * modules/log10l-tests: New file.
6693         * tests/test-log10l.c: New file.
6694         * tests/test-math-c++.cc: Check the declaration of log10l.
6695
6696         New module 'log10l'.
6697         * lib/math.in.h (log10l): New declaration.
6698         * lib/log10l.c: New file.
6699         * m4/log10l.m4: New file.
6700         * modules/log10l: New file.
6701         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
6702         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
6703         HAVE_DECL_LOG10L.
6704         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
6705         HAVE_DECL_LOG10L.
6706         * doc/posix-functions/log10l.texi: Mention the new module.
6707
6708 2012-02-25  Bruno Haible  <bruno@clisp.org>
6709
6710         fmodl, remainder*: Avoid wrong results due to rounding errors.
6711         * lib/fmodl.c (fmodl): Correct the result if it is not within the
6712         expected bounds.
6713         * lib/remainderf.c (remainderf): Likewise.
6714         * lib/remainder.c (remainder): Likewise.
6715         * lib/remainderl.c (remainderl): Likewise.
6716
6717 2012-02-25  Bruno Haible  <bruno@clisp.org>
6718
6719         Tests for module 'remainderl'.
6720         * modules/remainderl-tests: New file.
6721         * tests/test-remainderl.c: New file.
6722         * tests/test-math-c++.cc: Check the declaration of remainderl.
6723
6724         New module 'remainderl'.
6725         * lib/math.in.h (remainderl): New declaration.
6726         * lib/remainderl.c: New file.
6727         * m4/remainderl.m4: New file.
6728         * modules/remainderl: New file.
6729         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
6730         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
6731         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
6732         HAVE_REMAINDERL.
6733         * doc/posix-functions/remainderl.texi: Mention the new module.
6734
6735 2012-02-25  Bruno Haible  <bruno@clisp.org>
6736
6737         Tests for module 'remainderf'.
6738         * modules/remainderf-tests: New file.
6739         * tests/test-remainderf.c: New file.
6740         * tests/test-math-c++.cc: Check the declaration of remainderf.
6741
6742         New module 'remainderf'.
6743         * lib/math.in.h (remainderf): New declaration.
6744         * lib/remainderf.c: New file.
6745         * m4/remainderf.m4: New file.
6746         * modules/remainderf: New file.
6747         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
6748         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
6749         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
6750         HAVE_REMAINDERF.
6751         * doc/posix-functions/remainderf.texi: Mention the new module.
6752
6753 2012-02-25  Bruno Haible  <bruno@clisp.org>
6754
6755         remainder: Support for MSVC.
6756         * lib/math.in.h (remainder): New declaration.
6757         * lib/remainder.c: New file.
6758         * m4/remainder.m4: New file.
6759         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
6760         (Depends-on): Add math, round, fma.
6761         (configure.ac): Use results of gl_FUNC_REMAINDER.
6762         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
6763         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
6764         HAVE_DECL_REMAINDER.
6765         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
6766         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
6767         * tests/test-math-c++.cc: Check the declaration of remainder.
6768         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
6769         problems are fixed.
6770
6771 2012-02-25  Bruno Haible  <bruno@clisp.org>
6772
6773         Tests for module 'fmodl'.
6774         * modules/fmodl-tests: New file.
6775         * tests/test-fmodl.c: New file.
6776         * tests/test-math-c++.cc: Check the declaration of fmodl.
6777
6778         New module 'fmodl'.
6779         * lib/math.in.h (fmodl): New declaration.
6780         * lib/fmodl.c: New file.
6781         * m4/fmodl.m4: New file.
6782         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
6783         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
6784         REPLACE_FMODL.
6785         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
6786         REPLACE_FMODL.
6787         * modules/fmodl: New file.
6788         * doc/posix-functions/fmodl.texi: Mention the new module.
6789
6790 2012-02-25  Bruno Haible  <bruno@clisp.org>
6791
6792         Tests for module 'modfl'.
6793         * modules/modfl-tests: New file.
6794         * tests/test-modfl.c: New file.
6795         * tests/test-math-c++.cc: Check the declaration of modfl.
6796
6797         New module 'modfl'.
6798         * lib/math.in.h (modfl): New declaration.
6799         * lib/modfl.c: New file.
6800         * m4/modfl.m4: New file.
6801         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
6802         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
6803         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
6804         * modules/modfl: New file.
6805         * doc/posix-functions/modfl.texi: Mention the new module.
6806
6807 2012-02-25  Bruno Haible  <bruno@clisp.org>
6808
6809         Tests for module 'fabsl'.
6810         * modules/fabsl-tests: New file.
6811         * tests/test-fabsl.c: New file.
6812         * tests/test-math-c++.cc: Check the declaration of fabsl.
6813
6814         New module 'fabsl'.
6815         * lib/math.in.h (fabsl): New declaration.
6816         * lib/fabsl.c: New file.
6817         * m4/fabsl.m4: New file.
6818         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
6819         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
6820         REPLACE_FABSL.
6821         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
6822         REPLACE_FABSL.
6823         * modules/fabsl: New file.
6824         * doc/posix-functions/fabsl.texi: Mention the new module.
6825
6826 2012-02-25  Bruno Haible  <bruno@clisp.org>
6827
6828         fabs tests: More tests.
6829         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
6830         (zero): New variable.
6831         (main): Add tests for signed zero.
6832         * modules/fabs-tests (Files): Add tests/minus-zero.h.
6833
6834         fabsf tests: More tests.
6835         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
6836         (zero): New variable.
6837         (main): Add tests for signed zero.
6838         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
6839
6840 2012-02-24  Bruno Haible  <bruno@clisp.org>
6841
6842         atanl: Provide function definition on MSVC.
6843         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
6844         function pointer.
6845         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
6846
6847 2012-02-24  Bruno Haible  <bruno@clisp.org>
6848
6849         acosl: Provide function definition on MSVC.
6850         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
6851         function pointer.
6852         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
6853
6854 2012-02-24  Bruno Haible  <bruno@clisp.org>
6855
6856         asinl: Provide function definition on MSVC.
6857         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
6858         function pointer.
6859         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
6860
6861 2012-02-24  Bruno Haible  <bruno@clisp.org>
6862
6863         tanl: Provide function definition on MSVC.
6864         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
6865         function pointer.
6866         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
6867
6868 2012-02-24  Bruno Haible  <bruno@clisp.org>
6869
6870         cosl: Provide function definition on MSVC.
6871         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
6872         function pointer.
6873         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
6874
6875 2012-02-24  Bruno Haible  <bruno@clisp.org>
6876
6877         sinl: Provide function definition on MSVC.
6878         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
6879         function pointer.
6880         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
6881
6882 2012-02-24  Bruno Haible  <bruno@clisp.org>
6883
6884         logl: Provide function definition on MSVC.
6885         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
6886         function pointer.
6887         * lib/math.in.h (logl): Undefine if it does not exist as a function.
6888
6889 2012-02-24  Bruno Haible  <bruno@clisp.org>
6890
6891         expl: Provide function definition on MSVC.
6892         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
6893         function pointer.
6894         * lib/math.in.h (expl): Undefine if it does not exist as a function.
6895
6896 2012-02-24  Bruno Haible  <bruno@clisp.org>
6897
6898         sqrtl: Provide function definition on MSVC.
6899         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
6900         a function pointer.
6901         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
6902
6903 2012-02-24  Bruno Haible  <bruno@clisp.org>
6904
6905         ceill: Provide function definition on MSVC.
6906         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
6907         used as a function pointer.
6908         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
6909
6910 2012-02-24  Bruno Haible  <bruno@clisp.org>
6911
6912         floorl: Provide function definition on MSVC.
6913         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
6914         used as a function pointer.
6915         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
6916
6917 2012-02-24  Bruno Haible  <bruno@clisp.org>
6918
6919         ceilf: Provide function definition on MSVC.
6920         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
6921         used as a function pointer.
6922         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
6923
6924 2012-02-24  Bruno Haible  <bruno@clisp.org>
6925
6926         floorf: Provide function definition on MSVC.
6927         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
6928         used as a function pointer.
6929         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
6930
6931 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
6932
6933         stdnoreturn: new module
6934         This implements a replacement for C11's <stdnoreturn.h>.
6935         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
6936         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
6937         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
6938         * tests/test-stdnoreturn.c: New files.
6939
6940 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
6941
6942         regex: fix false multibyte matches in some regular expressions
6943         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
6944         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
6945         * lib/regex_internal.c (re_string_skip_chars):
6946         Fix miscomputation of remain_len that may cause incomplete
6947         multi-byte character and false match.
6948
6949 2012-02-24  Jim Meyering  <meyering@redhat.com>
6950
6951         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
6952         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
6953         uses with "==" *before* the call, e.g., 0 == strcmp (...)
6954         Remove now-unnecessary str''cmp obfuscation.
6955         Suggested by Akim Demaille.
6956
6957 2012-02-24  Bruno Haible  <bruno@clisp.org>
6958
6959         streq: Rename macro.
6960         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
6961         * NEWS: Mention the change.
6962         * lib/mbrtowc.c (mbrtowc): Update.
6963         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
6964         * lib/wcwidth.c (wcwidth): Update.
6965         Suggested by Akim Demaille and Jim Meyering.
6966
6967 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
6968
6969         regex: fix typo in definition of MIN
6970         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
6971         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
6972
6973 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
6974             Bruno Haible  <bruno@clisp.org>
6975
6976         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
6977         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
6978         entries into a stack-allocated buffer directly.
6979         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
6980
6981 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
6982             Bruno Haible  <bruno@clisp.org>
6983
6984         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
6985
6986          - There were several instances of this pattern:
6987
6988              for (;;) {
6989                n = acl (f, GETACLCNT, 0, NULL);
6990                [ allocate an array A of size N ]
6991                if (acl (f, GETACL, n, a) == n)
6992                  break;
6993              }
6994
6995            This loop might never terminate if some other process is constantly
6996            manipulating the file's ACL.  The loop should be rewritten to
6997            terminate.
6998
6999          - The acl (... GETACLNT ...) call is merely an optimization; its value
7000            is merely a hint as to how big to make the array.  A better
7001            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
7002            and just guess a reasonably-big size, growing the size and trying
7003            again if it's not large enough.  This guarantees termination, and
7004            saves a system call.
7005
7006         * lib/acl-internal.h: Include <limits.h>.
7007         (MIN, SIZE_MAX): New macros.
7008         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
7009         a stack-allocated buffer, and use malloc if it does not fit. Don't
7010         use GETACLCNT.
7011         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
7012
7013 2012-02-19  Bruno Haible  <bruno@clisp.org>
7014
7015         acl: Fix endless loop on Solaris with vxfs.
7016         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
7017         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
7018         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
7019         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
7020         * tests/test-sameacls.c (main)[Solaris]: Likewise.
7021         Reported by Bill Jones in
7022         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
7023
7024 2012-02-19  Bruno Haible  <bruno@clisp.org>
7025
7026         acl: Fix copy-acl test failure on Solaris 11 2011-11.
7027         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
7028         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
7029         that this function returns 0 in some more cases.
7030
7031 2012-02-19  Bruno Haible  <bruno@clisp.org>
7032
7033         acl: Update doc references.
7034         * doc/acl-resources.txt: Update links to Solaris documentation.
7035
7036 2012-02-19  Bruno Haible  <bruno@clisp.org>
7037
7038         Fix test failure in many locales on Solaris 11.
7039         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
7040         'tr' arguments.
7041         * tests/test-pipe-filter-ii1.c (main): Likewise.
7042         * build-aux/bootstrap (check_versions): Run 'tr' command with range
7043         expressions in the C locale.
7044         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
7045         * m4/host-os.m4 (gl_HOST_OS): Likewise.
7046
7047 2012-02-19  Bruno Haible  <bruno@clisp.org>
7048
7049         gnulib-tool: Improve usage message.
7050         * gnulib-tool (func_usage): Move doc of --help and --version to the
7051         section "Operation modes".
7052
7053 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
7054
7055         README-release: make it easier to execute commands
7056         * top/README-release: break commands out on to separate lines.
7057
7058 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
7059
7060         GNUmakefile: simplify detection of unconfigured trees
7061         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
7062         whether the tree make is being run from is already configured or
7063         not.  Related simplifications.
7064
7065 2012-02-13  Simon Josefsson  <simon@josefsson.org>
7066
7067         * gnulib-tool (func_usage): Document --help and --version.
7068
7069 2012-02-11  Jim Meyering  <meyering@redhat.com>
7070
7071         bootstrap: don't exit 0 upon gnulib-tool failure
7072         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
7073         its exit status, not 0.
7074
7075 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
7076
7077         README-release: various improvements
7078         * top/README-release: Give a command to push changes for the
7079         release.  Add "distcheck" to list of other pre-release checks.
7080         Fix instance of "make stable" which should be "make TYPE".
7081
7082 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
7083
7084         maint: replace FSF snail-mail addresses with URLs
7085         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
7086         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
7087         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
7088         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
7089         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
7090         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
7091         * lib/check-version.c, lib/check-version.h, lib/config.charset:
7092         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
7093         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
7094         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
7095         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
7096         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
7097         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
7098         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
7099         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
7100         * lib/glthread/thread.c, lib/glthread/thread.h:
7101         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
7102         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
7103         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
7104         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
7105         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
7106         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
7107         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
7108         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
7109         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
7110         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
7111         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
7112         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
7113         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
7114         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
7115         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
7116         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
7117         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
7118         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
7119         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
7120         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
7121         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
7122         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
7123         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
7124         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
7125         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
7126         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
7127         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
7128         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
7129         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
7130         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
7131         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
7132         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
7133         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
7134         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
7135         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
7136         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
7137         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
7138         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
7139         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
7140         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
7141         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
7142         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
7143         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
7144         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
7145         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
7146         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
7147         * tests/test-poll.c, tests/test-quotearg-simple.c:
7148         * tests/test-quotearg.c, tests/test-quotearg.h:
7149         * tests/test-round-ieee.c, tests/test-round1.c:
7150         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
7151         * tests/test-roundl-ieee.c, tests/test-roundl.c:
7152         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
7153         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
7154         * tests/test-strerror.c, tests/test-strerror_r.c:
7155         * tests/test-strsignal.c, tests/test-strverscmp.c:
7156         * tests/test-xmemdup0.c:
7157         Replace FSF snail mail addresses with URLs, as per GNU coding
7158         standards.  See glibc bug
7159         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
7160
7161 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
7162
7163         README-release: capitalize a word and split a line
7164         * top/README-release: Fix punctuation and spacing.
7165
7166 2012-02-08  Akim Demaille  <demaille@gostai.com>
7167
7168         fatal-signal: use C prototypes (with explicit void).
7169         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
7170         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
7171
7172 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
7173
7174         regex: spelling fix
7175         * lib/regexec.c: spelling fix
7176
7177         regex: rely on stdint.h for SIZE_MAX
7178         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
7179
7180 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
7181
7182         regex: merge glibc changes
7183
7184         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
7185         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
7186         (init_word_char): Work even if bitset words are not exactly 32 or
7187         64 bits wide.  Don't assume there are no padding bits.
7188         * lib/regex.c [_LIBC]: Do not include <config.h>.
7189         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
7190         and -Wtype-limits.
7191         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
7192         needless disagreement with glibc.  All uses changed.  Define it to
7193         1 only if _GNU_SOURCE, to match glibc.
7194         (_REG_RM_NAME): Remove; no longer needed, since the names in
7195         question are now all protected by __USE_GNU.
7196         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
7197         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
7198         * lib/regex_internal.h (MIN): New macro.
7199
7200         2012-01-03 Ulrich Drepper <drepper@gmail.com>
7201         * lib/regcomp.c (init_word_char): Optimize regex a bit.
7202
7203         2011-12-30 Jakub Jelinek <jakub@redhat.com>
7204         * lib/regex_internal.c (re_string_fetch_byte_case):
7205         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
7206         is miscompiled, and it turns out it is because of an incorrect
7207         attribute on re_string_fetch_byte_case.  Unlike
7208         re_string_peek_byte_case, this one is really not pure, it modifies
7209         memory (increments pstr->cur_idx), and with the pure attribute GCC
7210         assumed it doesn't and it cached the presumed value of
7211         regexp->cur_idx in a variable across the
7212          for (;; ++i)
7213            {
7214              if (i >= BRACKET_NAME_BUF_SIZE)
7215                return REG_EBRACK;
7216              if (token->type == OP_OPEN_CHAR_CLASS)
7217                ch = re_string_fetch_byte_case (regexp);
7218              else
7219                ch = re_string_fetch_byte (regexp);
7220              if (re_string_eoi(regexp))
7221                return REG_EBRACK;
7222              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
7223                break;
7224              elem->opr.name[i] = ch;
7225            }
7226
7227         2011-11-29 Andreas Schwab <schwab@redhat.com>
7228         * lib/regcomp.c (build_equiv_class):
7229         Fix access after end of search string in regex matcher.
7230
7231         2011-11-12 Ulrich Drepper <drepper@redhat.com>
7232         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
7233
7234         2011-10-12 Ulrich Drepper <drepper@redhat.com>
7235         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
7236
7237         2011-10-11 Ulrich Drepper <drepper@redhat.com>
7238         * lib/regcomp.c (parse_branch, parse_sub_exp):
7239         More regex memory leak fixes and tests.
7240         (parse_sub_exp, parse_bracket_exp):
7241         Fix memory leak for some invalid regular expressions.
7242
7243         2011-05-28 Ulrich Drepper <drepper@gmail.com>
7244         * lib/regex_internal.c, lib/regexec.c:
7245         Fix unnecessary overallocation due to incomplete character.  When
7246         incomplete characters are found at the end of a string the code
7247         ran amok and allocated lots of memory.  Stricter limits are now in
7248         place.
7249
7250         2011-05-20 Reuben Thomas <rrt@sc3d.org>
7251         * lib/regex.h: Update documentation.
7252
7253         2011-05-16 Aharon Robbins <arnold@skeeve.com>
7254         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
7255
7256         2010-05-05 Andreas Schwab <schwab@redhat.com>
7257         * lib/regexec.c (find_collation_sequence_value):
7258         Fix lookup of collation sequence value during regexp matching.
7259
7260         2010-01-22 Ulrich Drepper <drepper@redhat.com>
7261         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
7262
7263         2008-01-16 Ulrich Drepper <drepper@redhat.com>
7264         * lib/regex.h: Cleanup namespace.
7265
7266         2007-11-26 Ulrich Drepper <drepper@redhat.com>
7267         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
7268
7269         2007-08-26 Ulrich Drepper <drepper@redhat.com>
7270         * lib/regex_internal.h: Prevent some declarations and definitions
7271         to be seen when used in tests.
7272
7273         2005-05-06 Ulrich Drepper <drepper@redhat.com>
7274         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
7275         __libc_lock_* macros if not _LIBC.
7276         (struct re_dfa_t): Add lock.
7277
7278 2012-02-07  Eric Blake  <eblake@redhat.com>
7279
7280         maint.mk: also prohibit lower-case @var@
7281         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
7282         lower case, like @top_srcdir@.
7283
7284 2012-02-04  Eric Blake  <eblake@redhat.com>
7285
7286         canonicalize: avoid uninitialized memory use
7287         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
7288         random '/' left in dest.
7289         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
7290
7291 2012-02-04  Bruno Haible  <bruno@clisp.org>
7292
7293         isatty: Fix test failure of ptsname_r on native Windows.
7294         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
7295         and don't set errno.
7296         (isatty): Test first whether fd is valid. Set errno when returning 0.
7297
7298 2012-02-04  Bruno Haible  <bruno@clisp.org>
7299
7300         spawn-pipe tests: Fix a NULL program name in a diagnostic.
7301         * tests/test-spawn-pipe-main.c: Include progname.h.
7302         (main): Invoke set_program_name.
7303         * modules/spawn-pipe-tests (Depends-on): Add progname.
7304
7305         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
7306         * tests/test-nonblocking-socket-main.c: Include progname.h.
7307         (main): Invoke set_program_name.
7308         * modules/nonblocking-socket-tests (Depends-on): Add progname.
7309
7310         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
7311         * tests/test-nonblocking-pipe-main.c: Include progname.h.
7312         (main): Invoke set_program_name.
7313         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
7314
7315 2012-02-04  Eric Blake  <eblake@redhat.com>
7316
7317         canonicalize-lgpl: fix // handling
7318         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
7319
7320         canonicalize: fix // handling
7321         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
7322         /// to //, since only // is special.
7323
7324 2012-02-04  Bruno Haible  <bruno@clisp.org>
7325
7326         ioctl: Fix test failure on native Windows.
7327         * lib/ioctl.c: Include msvc-nothrow.h.
7328         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
7329
7330 2012-02-04  Bruno Haible  <bruno@clisp.org>
7331
7332         fsync: Avoid test failure on native Windows.
7333         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
7334         read-only.
7335
7336 2012-02-04  Bruno Haible  <bruno@clisp.org>
7337
7338         sys_select: Avoid syntax error on OpenBSD 5.0.
7339         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
7340         currently being included, just include the system's <sys/select.h>.
7341
7342 2012-02-04  Bruno Haible  <bruno@clisp.org>
7343
7344         sys_select: Avoid syntax error on OpenBSD 5.0.
7345         * lib/sys_select.in.h: Include <signal.h> only after the include_next
7346         <sys/select.h>, not before.
7347         Reported by Jiri B <jirib@devio.us>.
7348
7349 2012-02-04  Bruno Haible  <bruno@clisp.org>
7350
7351         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
7352         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
7353         global variables.
7354         * tests/test-get-rusage-data.c (main): Likewise.
7355         Reported by Jim Meyering.
7356
7357 2012-02-04  Bruno Haible  <bruno@clisp.org>
7358
7359         stdioext: Fix last commit.
7360         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
7361
7362 2012-02-03  Bruno Haible  <bruno@clisp.org>
7363
7364         stdioext: Add tentative support for Plan9.
7365         * lib/stdio-impl.h: Include <errno.h>.
7366         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
7367         * lib/freadable.c (freadable): Likewise.
7368         * lib/fwritable.c (fwritable): Likewise.
7369         * lib/fbufmode.c (fbufmode): Likewise.
7370         * lib/freading.c (freading): Likewise.
7371         * lib/fwriting.c (fwriting): Likewise.
7372         * lib/freadptr.c (freadptr): Likewise.
7373         * lib/freadseek.c (freadptrinc): Likewise.
7374         * lib/freadahead.c (freadahead): Likewise.
7375         * lib/fpurge.c (fpurge): Likewise.
7376         * lib/fseeko.c (rpl_fseeko): Likewise.
7377         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
7378         Reported by Jens Staal <staal1978@gmail.com>.
7379
7380 2012-02-02  Jim Meyering  <meyering@redhat.com>
7381
7382         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
7383         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
7384         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
7385         not even to try to add the attribute.  Instead, add a pragma to suppress
7386         the suggestion/warning.
7387
7388 2012-01-31  Karl Berry  <karl@gnu.org>
7389
7390         setstate doc: typo.
7391         * doc/posix-functions/setstate.texi (setstate): { not (.
7392
7393 2012-01-31  Bruno Haible  <bruno@clisp.org>
7394
7395         popen: Make more robust on Windows.
7396         * lib/popen.c: On native Windows, use the _popen based code even if
7397         HAVE_POPEN is set.
7398         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
7399         environment variable on native Windows.
7400
7401 2012-01-30  Bruno Haible  <bruno@clisp.org>
7402
7403         pclose: Fix typo.
7404         * lib/stdio.in.h (pclose): Fix typo in warning message.
7405
7406 2012-01-30  Bruno Haible  <bruno@clisp.org>
7407
7408         doc about getlogin_r, setstate.
7409         * doc/posix-functions/getlogin_r.texi: List the incompatible
7410         declaration problem under "not fixed by gnulib".
7411         * doc/posix-functions/setstate.texi: Mention incompatible declaration
7412         problem on Solaris 11 and other platforms.
7413
7414 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
7415             Bruno Haible  <bruno@clisp.org>
7416
7417         poll tests: Make test more robust.
7418         * tests/test-poll.c: Include macros.h.
7419         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
7420         return value of various I/O operations.
7421         * modules/poll-tests (Files): Add tests/macros.h.
7422
7423 2012-01-30  Bruno Haible  <bruno@clisp.org>
7424
7425         sys_stat: Fix support for mingw64 and MSVC.
7426         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
7427         header files already do it.
7428         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
7429         stat itself.
7430         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
7431
7432 2012-01-30  Bruno Haible  <bruno@clisp.org>
7433
7434         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
7435         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
7436         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
7437
7438 2012-01-29  Bruno Haible  <bruno@clisp.org>
7439
7440         quotearg: Fix test failure on MacOS X 10.5.
7441         * tests/test-quotearg-simple.c: Include localcharset.h.
7442         (main): If the locale encoding is not ASCII, bypass the tests of
7443         locale_quoting_style and clocale_quoting_style.
7444         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
7445
7446 2012-01-29  Jim Meyering  <meyering@redhat.com>
7447
7448         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
7449         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
7450         detect uses of canonicalize_file_name.
7451
7452 2012-01-28  Bruno Haible  <bruno@clisp.org>
7453
7454         test-framework-sh: Fix test failure with AIX 7.1 diff.
7455         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
7456         in column 1, like 'diff -c' does.
7457         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
7458         whether 'diff -u' is used. Instead, test whether the output contains
7459         some '@' character.
7460
7461 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
7462
7463         strtoimax: eliminate need for stdint.h, inttypes.h checks
7464         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
7465         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
7466         the prerequisites for a recently-introduced strtoimax test.
7467         I guess this might cause strtoimax to be replaced when not
7468         strictly necessary on older hosts, but this shouldn't introduce
7469         any bugs and it should make Emacs 'configure' faster on typical
7470         modern hosts.  Problem discovered when importing the latest gnulib
7471         to an Emacs test version.
7472         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
7473
7474 2012-01-28  Bruno Haible  <bruno@clisp.org>
7475
7476         sys_time: Override 'struct timeval' on some native Windows platforms.
7477         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
7478         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
7479         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
7480         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
7481         needs to be overridden.
7482         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
7483         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
7484         * tests/test-sys_select.c: Check that the tv_sec member has the same
7485         size as a 'time_t'.
7486         * tests/test-sys_time.c: Likewise.
7487         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
7488         is set, set also REPLACE_GETTIMEOFDAY.
7489         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
7490         convert the resulting 'struct timeval' before returning.
7491         * lib/select.c: Include <sys/time.h>.
7492         (select, timeval): Undefine at the right place.
7493         * modules/select (Depends-on): Add sys_time.
7494         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
7495         some Windows platforms.
7496         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
7497
7498 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
7499
7500         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
7501         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
7502         an integer.
7503         * lib/fcntl.c (dupfd): Likewise.
7504         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
7505
7506 2012-01-28  Bruno Haible  <bruno@clisp.org>
7507
7508         fcntl: Avoid compilation error on native Windows.
7509         * modules/fcntl (Depends-on): Add 'close'.
7510
7511 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
7512
7513         select, poll, isatty: Avoid warnings on x86_64 mingw64.
7514         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
7515         pointer to an integer.
7516         * lib/poll.c (IsConsoleHandle): Likewise.
7517         * lib/isatty.c (IsConsoleHandle): Likewise.
7518
7519 2012-01-28  Jim Meyering  <meyering@redhat.com>
7520
7521         doc: clarify README-release
7522         * top/README-release: Clarify: you should make a point to have
7523         the latest stable versions of build tools in your PATH, and the
7524         reference to buildreq is solely for its list of tool names, not
7525         for its minimal-functional version numbers.
7526         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
7527
7528         maint.mk: use more readable (yet functionally equivalent) quoting
7529         It is common to quote a single quote in a single quoted string like
7530         this:  '...'\''...'.  Unless you know the idiom, that looks like
7531         gibberish, so prefer to double-quote the string when possible.
7532         Then you can use a more readable, lone single quote: "...'..."
7533         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
7534         "don't" is more readable than the equivalent 'don'\''t'.
7535         (sc_cast_of_x_alloc_return_value): Likewise.
7536         (sc_cast_of_alloca_return_value): Likewise.
7537         (sc_makefile_path_separator_check): Similar: use ":" in '...',
7538         rather than '\'':'\''.
7539
7540 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
7541
7542         stdalign: relax _Alignof and tighten _Alignas test
7543         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
7544         as it was too strict: alignof must divide offsetof, but it need
7545         not equal offsetof.  Inspired by Joseph S. Myers's comment
7546         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
7547         Conversely, tighten the _Alignas test a bit, as the resulting
7548         alignment must be exactly 8.
7549
7550 2012-01-27  Bruno Haible  <bruno@clisp.org>
7551
7552         stdalign: Document the last change.
7553         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
7554
7555 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
7556
7557         stdalign: check that alignof and offsetof are consistent
7558         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
7559         Problem reported for gnulib by Richard W.M. Jones in
7560         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
7561
7562 2012-01-27  Jim Meyering  <meyering@redhat.com>
7563
7564         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
7565         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
7566         convert a sequence with gaps to the minimal containing range.
7567         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
7568         * tests/test-update-copyright.sh: Test for this.
7569         The FSF confirmed it is ok to do this, assuming there is at
7570         least one significant change per year in the affected range:
7571         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
7572
7573 2012-01-26  Bruno Haible  <bruno@clisp.org>
7574
7575         pipe2: refine doc about thread-safety
7576         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
7577         multithread-safety problem.
7578         * doc/glibc-functions/accept4.texi: Likewise.
7579
7580 2012-01-26  Bruno Haible  <bruno@clisp.org>
7581
7582         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
7583         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
7584         In the test program, include <fcntl.h>, for O_RDONLY.
7585
7586 2012-01-26  Eric Blake  <eblake@redhat.com>
7587
7588         pipe2: document lack of thread-safety in replacement
7589         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
7590         issue in replacement.
7591         * doc/glibc-functions/accept4.texi (accept4): Likewise.
7592         Based on a report by Eric Wong.
7593
7594 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
7595             Bruno Haible  <bruno@clisp.org>
7596
7597         malloca: Avoid warnings on x86_64 mingw64.
7598         * lib/malloca.c: Include <stdint.h>.
7599         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
7600         * modules/malloca (Depends-on): Add stdint.
7601         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
7602
7603 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
7604
7605         obstack: remove __STDC__ conditionals
7606         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
7607         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
7608         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
7609         m4/include_next.m4 as the only gnulib-maintained places that still
7610         refer to __STDC__.
7611
7612 2012-01-24  Bruno Haible  <bruno@clisp.org>
7613
7614         havelib: Modern quoting.
7615         * build-aux/config.rpath: Quote 'like this', not `like this', as per
7616         the recent change to the GNU coding standards.
7617
7618 2012-01-24  Bruno Haible  <bruno@clisp.org>
7619
7620         stdint: Improve support for Android.
7621         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
7622         Reported by Simon Josefsson <simon@josefsson.org>.
7623
7624 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
7625
7626         doc: omit trailing empty lines from INSTALL etc.
7627         * doc/Makefile (INSTALL): Omit trailing empty lines.
7628         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
7629         omit trailing empty lines.  This simplifies the build procedure.
7630
7631 2012-01-23  Jim Meyering  <meyering@redhat.com>
7632
7633         tests: avoid spurious warnings about gl_sockets_startup
7634         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
7635         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
7636         reporting a "statement with no effect".
7637         * tests/test-accept.c (main): Mark as "(void)".
7638         * tests/test-accept4.c (main): Likewise.
7639         * tests/test-bind.c (main): Likewise.
7640         * tests/test-connect.c (main): Likewise.
7641         * tests/test-getpeername.c (main): Likewise.
7642         * tests/test-getsockname.c (main): Likewise.
7643         * tests/test-getsockopt.c (main): Likewise.
7644         * tests/test-listen.c (main): Likewise.
7645         * tests/test-recv.c (main): Likewise.
7646         * tests/test-recvfrom.c (main): Likewise.
7647         * tests/test-send.c (main): Likewise.
7648         * tests/test-sendto.c (main): Likewise.
7649         * tests/test-setsockopt.c (main): Likewise.
7650         * tests/test-shutdown.c (main): Likewise.
7651
7652 2012-01-21  Bruno Haible  <bruno@clisp.org>
7653
7654         locale-fr.m4: Fix for Android.
7655         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
7656         failure of the test program on Bionic libc.
7657
7658 2012-01-21  Jim Meyering  <meyering@redhat.com>
7659
7660         bootstrap: fail when bootstrap_post_import_hook fails
7661         Otherwise, it's far too easy to miss diagnostics emitted
7662         between gnulib-tool's output and that of running configure.
7663         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
7664
7665 2012-01-17  Jim Meyering  <meyering@redhat.com>
7666
7667         maint: enable sc_trailing_blank
7668         * build-aux/pmccabe.css: Remove trailing blanks.
7669         * doc/acl-cygwin.txt: Likewise.
7670         * doc/gnu-oids.texi: Likewise
7671         * cfg.mk: Enable sc_trailing_blank.
7672         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
7673
7674 2012-01-17  Jim Meyering  <meyering@redhat.com>
7675
7676         maint: enable sc_prohibit_openat_without_use
7677         * cfg.mk: Enable sc_prohibit_openat_without_use.
7678         Exempt lib/selinux-at.c.
7679
7680 2012-01-17  Jim Meyering  <meyering@redhat.com>
7681
7682         maint: enable sc_prohibit_cloexec_without_use
7683         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
7684         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
7685
7686 2012-01-17  Jim Meyering  <meyering@redhat.com>
7687
7688         maint: enable sc_prohibit_intprops_without_use
7689         * cfg.mk: Enable sc_prohibit_intprops_without_use
7690         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
7691
7692 2012-01-17  Jim Meyering  <meyering@redhat.com>
7693
7694         maint: enable sc_prohibit_hash_pjw_without_use
7695         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
7696         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
7697         to match any use of \<hash_pjw\>, i.e., not necessarily with a
7698         following " (".
7699
7700 2012-01-17  Jim Meyering  <meyering@redhat.com>
7701
7702         maint: enable double-word-prohibiting rule
7703         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
7704         Exempt three files.
7705
7706 2012-01-17  Jim Meyering  <meyering@redhat.com>
7707
7708         maint: remove empty lines at EOF, but excluding modules/*
7709         Apply syntax rules at home as well as abroad.  Most changes
7710         were induced by running this:
7711           make srcdir=. _build-aux=build-aux -f top/maint.mk \
7712             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
7713             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
7714         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
7715         Exempt modules/* and two binary files.
7716         Also exempt doc/INSTALL*, per request from Bruno Haible.
7717         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
7718         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
7719         * doc/Copyright/request-assign.future: Likewise.
7720         * doc/Copyright/request-disclaim.changes: Likewise.
7721         * doc/INSTALL: Likewise.
7722         * doc/INSTALL.ISO: Likewise.
7723         * doc/INSTALL.UTF-8: Likewise.
7724         * doc/acl-cygwin.txt: Likewise.
7725         * doc/acl-resources.txt: Likewise.
7726         * doc/fdl-1.2.texi: Likewise.
7727         * doc/fdl-1.3.texi: Likewise.
7728         * doc/fdl.texi: Likewise.
7729         * lib/argp-pin.c: Likewise.
7730         * lib/round.c: Likewise.
7731         * lib/unicase/u16-totitle.c: Likewise.
7732         * lib/unictype/block_test.c: Likewise.
7733         * lib/uninorm/canonical-decomposition.c: Likewise.
7734         * m4/README: Likewise.
7735         * m4/relocatable-lib.m4: Likewise.
7736         * tests/test-isnand-nolibm.c: Likewise.
7737         * tests/test-isnand.c: Likewise.
7738         * tests/uninorm/NormalizationTest.txt: Likewise.
7739
7740 2012-01-17  Jim Meyering  <meyering@redhat.com>
7741
7742         maint: add framework to run syntax-check rules against gnulib sources
7743         * cfg.mk: New file, to disable all currently-failing tests.
7744         We'll enable them one by one, as they are made to pass.
7745         * Makefile (sc_maint): New rule.
7746
7747 2012-01-21  Bruno Haible  <bruno@clisp.org>
7748
7749         stdint: Add support for Android.
7750         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
7751         include the system's <stdint.h>.
7752         Reported by Simon Josefsson <simon@josefsson.org>.
7753
7754 2012-01-19  Jim Meyering  <meyering@redhat.com>
7755
7756         bootstrap: add bootstrap_post_import_hook
7757         Bison does still need something like the gnulib_mk_hook whose
7758         invocation I had to remove along with slurp in commit 767ccd40.
7759         Technically, we could get along without it, but doing so would
7760         have required living with a warning and a mandatory post-bootstrap
7761         automake rerun.
7762         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
7763         (bootstrap_post_import_hook): New function.
7764         Invoke it after gnulib-tool --import and before autoreconf.
7765
7766 2012-01-18  Jim Meyering  <meyering@redhat.com>
7767
7768         gitlog-to-changelog: don't use "no_"-prefixed variable name
7769         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
7770         to enable both --cluster and --no-cluster.  Change variable name,
7771         s/\$no_cluster/$cluster/, and reverse usage to match.
7772
7773         gitlog-to-changelog: use "||", not "or" in expressions
7774         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
7775         expressions.
7776
7777 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
7778
7779         gitlog-to-changelog: new option --no-cluster
7780         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
7781         clustering of adjacent commit messages.
7782
7783 2012-01-17  Jim Meyering  <meyering@redhat.com>
7784
7785         maint: spell file systems with two words, not one
7786         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
7787         two words, not one.
7788
7789 2012-01-16  Jim Meyering  <meyering@redhat.com>
7790
7791         bootstrap: add a FIXME comment to ensure we eventually remove the hack
7792         * build-aux/bootstrap (gnulib_tool_options): Add comment.
7793
7794 2012-01-16  Eric Blake  <eblake@redhat.com>
7795
7796         bootstrap: cater to autoconf 2.59
7797         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
7798         is not available.
7799
7800         bootstrap: properly check for libtool
7801         * build-aux/bootstrap (libtoolize): Also run libtool when older
7802         usage is detected.
7803
7804 2012-01-15  Bruno Haible  <bruno@clisp.org>
7805
7806         Improve support for MSVC 9.
7807         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
7808         clashes on MSVC.
7809         * lib/fcntl.in.h: Likewise.
7810         * lib/stdlib.in.h: Likewise.
7811         * lib/sys_stat.in.h: Likewise.
7812
7813 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
7814
7815         gnupload: we hold the master copy of this script now
7816         For motivation and more information, see:
7817         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
7818         * build-aux/gnupload: Make it clear in the heading comments that the
7819         master copy of this file is maintained by gnulib.  Since we are at
7820         it, bump its copyright year and ...
7821         ($scriptversion): ... the date in its version.
7822         ($usage): Patches and bug reports should be sent to the gnulib list,
7823         not the automake one.
7824         * config/srclist.txt: Don't try to sync 'gnupload' from automake
7825         anymore.
7826
7827 2012-01-15  Bruno Haible  <bruno@clisp.org>
7828
7829         Fix module 'random'.
7830         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
7831         initstate, setstate are declared.
7832
7833 2012-01-14  Bruno Haible  <bruno@clisp.org>
7834
7835         Tests for module 'random'.
7836         * modules/random-tests: New file.
7837         * tests/test-random.c: New file, based on tests/test-random_r.c.
7838
7839         New module 'random'.
7840         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
7841         declarations.
7842         * lib/random.c: New file, based on glibc/stdlib/random.c.
7843         * m4/random.m4: New file.
7844         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
7845         HAVE_RANDOM.
7846         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
7847         * modules/random: New file.
7848         * config/srclist.txt: Add an entry for random.c.
7849         * doc/posix-functions/random.texi: Mention the 'random' module.
7850         * doc/posix-functions/initstate.texi: Likewise.
7851         * doc/posix-functions/setstate.texi: Likewise.
7852         * doc/posix-functions/srandom.texi: Likewise.
7853
7854 2012-01-12  Bruno Haible  <bruno@clisp.org>
7855
7856         random_r: Use common idioms.
7857         * lib/random_r.c: Include <stdlib.h> first.
7858
7859         random_r: Override incompatible API on AIX, OSF/1.
7860         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
7861         Override the system function if REPLACE_RANDOM_R is 1.
7862         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
7863         and OSF/1, set REPLACE_RANDOM_R.
7864         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
7865         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
7866         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
7867         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
7868         * doc/glibc-functions/random_r.texi: Likewise.
7869         * doc/glibc-functions/setstate_r.texi: Likewise.
7870
7871         random_r: Support for MSVC 9.
7872         * lib/random_r.c: Include stdint.h, not inttypes.h.
7873
7874 2012-01-12  Eric Blake  <eblake@redhat.com>
7875
7876         inet_ntop: guard extra work by IF_LINT
7877         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
7878         better code generation when not checking for warnings.
7879         Suggested by Paul Eggert and Jim Meyering.
7880
7881         strptime: fix regression on mingw
7882         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
7883         Fix regression.  Reported by Bruno Haible.
7884
7885 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
7886             Bruno Haible  <bruno@clisp.org>
7887
7888         copy-file: add error-code-returning variant.
7889         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
7890         (qcopy_file_preserving): New declaration.
7891         * lib/copy-file.c (qcopy_file_preserving): Renamed from
7892         copy_file_preserving. Change return type to 'int'. Don't emit an error
7893         message here.
7894         (copy_file_preserving): New function.
7895         * tests/test-copy-file.c: Include <stdlib.h>.
7896         (main): Test qcopy_file_preserving if the environment variable
7897         NO_STDERR_OUTPUT is set.
7898         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
7899         with NO_STDERR_OUTPUT
7900         * tests/test-copy-file-2.sh: Likewise.
7901
7902 2012-01-10  Bruno Haible  <bruno@clisp.org>
7903
7904         copy-file: Use 'quote' module consistently.
7905         * lib/copy-file.c (copy_file_preserving): Use quote().
7906
7907         copy-file: Refactor.
7908         * lib/copy-file.c: Include quote.h.
7909         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
7910         message here.
7911         * modules/copy-file (Depends-on): Add quote.
7912
7913         acl: Export qcopy_acl.
7914         * lib/acl.h (qcopy_acl): New declaration.
7915         * lib/copy-acl.c (qcopy_acl): Make non-static.
7916
7917         acl: Rename a local variable.
7918         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
7919
7920         acl: Align return values of copy_acl and qcopy_acl.
7921         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
7922         maybe < -1.
7923
7924 2012-01-11  Eric Blake  <eblake@redhat.com>
7925
7926         strptime: silence gcc warnings
7927         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
7928         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
7929         Reported by Daniel P. Berrange.
7930
7931         inet_ntop: silence gcc warning
7932         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
7933         Reported by Daniel P. Berrange.
7934
7935 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
7936
7937         getloadavg test: skip the test on GNU/Linux without /proc mounted
7938         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
7939         file.  When /proc is not mounted, it always fails with ENOENT.
7940         * tests/test-getloadavg.c (main): Treat ENOENT return code from
7941         getloadavg(3) the same way as ENOSYS and ENOTSUP.
7942
7943 2012-01-10  Bruno Haible  <bruno@clisp.org>
7944
7945         regex: Avoid link error on MSVC 9.
7946         * modules/regex (Depends-on): Add wctype.
7947
7948 2012-01-10  Bruno Haible  <bruno@clisp.org>
7949
7950         doc: Mention --with-tests option.
7951         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
7952         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
7953         --with-tests.
7954         Reported by Reuben Thomas.
7955
7956 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
7957
7958         users.txt: order package names lexicographically.
7959         * users.txt: Order package names lexicographically.
7960
7961 2012-01-10  Jim Meyering  <meyering@redhat.com>
7962
7963         maint.mk: fix description in comment
7964         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
7965
7966         ignore-value: remove deprecated ignore_ptr function
7967         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
7968         * NEWS: Note this.
7969
7970 2012-01-09  Jim Meyering  <meyering@redhat.com>
7971
7972         test-init.sh: avoid a subshell
7973         * tests/test-init.sh: Remove protective subshell.
7974         Suggested by Bernhard Voelker.  While a subshell is normally
7975         required to protect against older shells (Solaris, FreeBSD) that
7976         warn about a missing program before performing redirection, the
7977         shell-selection tests performed by init.sh probably exclude any
7978         offending shell.
7979
7980 2012-01-08  Bruno Haible  <bruno@clisp.org>
7981
7982         setlocale tests: Avoid test failure on Solaris 11 2011-11.
7983         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
7984         variable.
7985
7986 2012-01-08  Bruno Haible  <bruno@clisp.org>
7987
7988         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
7989         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
7990         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
7991         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
7992         macro.
7993         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
7994         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
7995         * lib/spawn_faction_addopen.c: Add workaround implementation if
7996         HAVE_WORKING_POSIX_SPAWN.
7997         * modules/spawn (Makefile): Substitute
7998         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
7999         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
8000         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
8001         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
8002         (Depends-on): Update conditions.
8003         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
8004         the Solaris 11 bug.
8005
8006 2012-01-08  Bruno Haible  <bruno@clisp.org>
8007
8008         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
8009         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
8010         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
8011         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
8012         macro.
8013         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
8014         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
8015         * lib/spawn_faction_adddup2.c: Add workaround implementation if
8016         HAVE_WORKING_POSIX_SPAWN.
8017         * modules/spawn (Makefile): Substitute
8018         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
8019         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
8020         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
8021         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
8022         (Depends-on): Update conditions.
8023         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
8024         the Solaris 11 bug.
8025
8026 2012-01-08  Bruno Haible  <bruno@clisp.org>
8027
8028         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
8029         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
8030         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
8031         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
8032         HAVE_WORKING_POSIX_SPAWN.
8033         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
8034         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
8035         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
8036         * lib/spawn_faction_addclose.c: Add workaround implementation if
8037         HAVE_WORKING_POSIX_SPAWN.
8038         * modules/spawn (Makefile): Substitute
8039         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
8040         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
8041         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
8042         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
8043         (Depends-on): Update conditions.
8044         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
8045         the Solaris 11 bug.
8046
8047 2012-01-08  Bruno Haible  <bruno@clisp.org>
8048
8049         doc: Update for Solaris 11 2011-11.
8050         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
8051         * m4/printf.m4: Update comments.
8052
8053 2012-01-08  Bruno Haible  <bruno@clisp.org>
8054
8055         mktime: Avoid compilation error on Solaris 11.
8056         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
8057
8058 2012-01-08  Bruno Haible  <bruno@clisp.org>
8059
8060         doc: Small fix.
8061         * doc/posix-headers/nl_types.texi: Correct platforms list.
8062
8063 2012-01-08  Simon Josefsson  <simon@josefsson.org>
8064
8065         Add lgpl-3.0 module.
8066         * MODULES.html.sh (Support for building documentation): Add
8067         lgpl-3.0.
8068         * modules/lgpl-3.0: New file.
8069
8070 2012-01-08  Jim Meyering  <meyering@redhat.com>
8071
8072         select.c: indent with spaces, not TABs
8073         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
8074
8075 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
8076
8077         quotearg: do not use grave accent for left quote
8078         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
8079         locale_quoting_style.
8080         (quotearg_buffer_restyled): Fix example.
8081         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
8082
8083 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
8084
8085         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
8086         Most programs do not have translation catalogs for English and much
8087         less separate catalogs for British and American English.  Drop the
8088         suggestion to translators about these two, and provide it
8089         automatically for Unicode locales.  Like most programs, even those
8090         using American English, we use single quotation marks.  This conflicts
8091         with the American typographic convention, but works better when you
8092         cite the entire error message within double quotes.  It also tries not
8093         to clash with established practice and with what non-gnulib programs
8094         will usually do.
8095         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
8096         using an UTF-8 or GB-18030 locale.  The list of other locales with
8097         quotes was provided by Bruno Haible.
8098         (quotearg_buffer_restyled): Adjust instructions to translators.
8099         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
8100         text, since this would be wrong when using Unicode.
8101         * modules/quotearg: Depend on c-strcaseeq.
8102
8103 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
8104
8105         quotearg: fix Wikipedia link
8106         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
8107
8108 2012-01-07  Simon Josefsson  <simon@josefsson.org>
8109
8110         Fix for mingw with MSVC9.
8111         * m4/ld-version-script.m4: Check that compiler rejects version
8112         scripts with syntax errors.  Reported by Bruno Haible
8113         <bruno@clisp.org>.
8114
8115 2012-01-06  Bruno Haible  <bruno@clisp.org>
8116
8117         Talk about "native Windows API", not "Woe32".
8118         * lib/accept4.c: Update comments to mention native Windows.
8119         * lib/execute.c: Likewise.
8120         * lib/fatal-signal.c: Likewise.
8121         * lib/localcharset.c: Likewise.
8122         * lib/nanosleep.c: Likewise.
8123         * lib/nl_langinfo.c: Likewise.
8124         * lib/pclose.c: Likewise.
8125         * lib/pipe-filter-gi.c: Likewise.
8126         * lib/pipe-filter-ii.c: Likewise.
8127         * lib/pipe.c: Likewise.
8128         * lib/pipe2.c: Likewise.
8129         * lib/popen.c: Likewise.
8130         * lib/progreloc.c: Likewise.
8131         * lib/relocatable.c: Likewise.
8132         * lib/sigaction.c: Likewise.
8133         * lib/sigprocmask.c: Likewise.
8134         * lib/spawn-pipe.h: Likewise.
8135         * lib/spawn-pipe.c: Likewise.
8136         * lib/spawni.c: Likewise.
8137         * lib/stat-time.h: Likewise.
8138         * lib/w32spawn.h: Likewise.
8139         * tests/test-isatty.c: Likewise.
8140         * lib/config.charset: More comments.
8141         * doc/gnulib-intro.texi: Mention native Windows.
8142         * doc/posix-functions/_Exit_C99.texi: Likewise.
8143         * doc/posix-headers/fcntl.texi: Likewise.
8144
8145 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
8146
8147         argp: Avoid crash if translator uses % characters in a translation.
8148         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
8149         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
8150
8151 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
8152
8153         doc: C11 and C++11 are now official
8154         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
8155         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
8156         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
8157         * modules/stdalign:
8158         Replace references to draft C1X to C11, and to draft C++0X to C++11.
8159
8160 2012-01-06  Bruno Haible  <bruno@clisp.org>
8161
8162         uc-is-grapheme-break tests: Tweak.
8163         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
8164         message.
8165
8166 2012-01-06  Bruno Haible  <bruno@clisp.org>
8167
8168         test-init.sh: correct the test for diff -u
8169         * tests/test-init.sh: Also redirect stdout to /dev/null.
8170
8171 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
8172
8173         Use ', not `, for quoting output.
8174         * build-aux/announce-gen (usage, sizes, print_news_deltas)
8175         (print_changelog_deltas, get_tool_versions, main program):
8176         * build-aux/git-version-gen:
8177         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
8178         * build-aux/move-if-change (help):
8179         * build-aux/useless-if-before-free (usage, main program):
8180         * check-module (parse_module_file, usage)
8181         (find_included_lib_files, check_module):
8182         * lib/argmatch.c (main) [TEST]:
8183         * lib/argp-help.c (_help):
8184         * lib/getopt1.c (main) [TEST]:
8185         * lib/git-merge-changelog.c (usage):
8186         * lib/xstrtol-error.c (xstrtol_error):
8187         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
8188         * m4/argz.m4 (gl_FUNC_ARGZ):
8189         * m4/bison.m4 (gl_BISON):
8190         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
8191         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
8192         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
8193         * m4/fpending.m4 (gl_PREREQ_FPENDING):
8194         * m4/gc-random.m4 (gl_GC_RANDOM):
8195         * m4/intl.m4 (gt_CHECK_DECL):
8196         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
8197         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
8198         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
8199         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
8200         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
8201         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
8202         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
8203         * tests/test-dirname.c (main):
8204         * tests/test-getpass.c (main):
8205         * tests/test-iconvme.c (main):
8206         * tests/test-parse-datetime.c (LOG):
8207         * tests/test-xstrtoimax.sh:
8208         * tests/test-xstrtol.sh:
8209         * tests/test-xstrtoll.sh:
8210         * tests/test-xstrtoumax.sh:
8211         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
8212         * top/GNUmakefile (abort-due-to-no-makefile):
8213         Quote 'like this', not `like this', as per the recent change to
8214         the GNU coding standards.
8215
8216 2012-01-05  Bruno Haible  <bruno@clisp.org>
8217
8218         strtoimax: Don't force a replacement on systems where intmax_t is int.
8219         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
8220         'intmax_t' is not larger than 'int'.
8221         Reported by Pádraig Brady <P@draigBrady.com>.
8222
8223 2012-01-05  Bruno Haible  <bruno@clisp.org>
8224
8225         doc: Mention NetBSD bugs.
8226         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
8227         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
8228
8229 2012-01-05  Bruno Haible  <bruno@clisp.org>
8230
8231         strtoumax tests: Enhance tests.
8232         * tests/test-strtoumax.c (main): Add tests for large values.
8233
8234 2012-01-05  Bruno Haible  <bruno@clisp.org>
8235
8236         strtoimax: Work around AIX 5.1 bug.
8237         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
8238         definition.
8239         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
8240         Set HAVE_STRTOIMAX.
8241         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
8242         REPLACE_STRTOIMAX.
8243         * modules/inttypes-incomplete (Makefile.am): Substitute
8244         REPLACE_STRTOIMAX.
8245         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
8246         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
8247         (Depends-on): Update conditions.
8248         * tests/test-strtoimax.c (main): Add tests for large values.
8249         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
8250
8251 2012-01-05  Bruno Haible  <bruno@clisp.org>
8252
8253         inttypes: Modernize.
8254         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
8255         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
8256         (Makefile.am): Update inttypes.h rule.
8257
8258 2012-01-05  Jim Meyering  <meyering@redhat.com>
8259
8260         init.sh: don't waste a subshell just to redirect stderr
8261         * tests/init.sh: In testing for diff -u and diff -c, use a
8262         stderr-redirecting exec inside `...` rather than a subshell.
8263
8264         test-init.sh: avoid failure on HP-UX 11.00
8265         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
8266         resolves to diff -c or cmp.  Reported by Bruno Haible.
8267
8268 2012-01-05  Bruno Haible  <bruno@clisp.org>
8269
8270         Tests for module 'strtoull'.
8271         * modules/strtoull-tests: New file.
8272         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
8273
8274 2012-01-05  Bruno Haible  <bruno@clisp.org>
8275
8276         Tests for module 'strtoll'.
8277         * modules/strtoll-tests: New file.
8278         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
8279
8280 2012-01-05  Bruno Haible  <bruno@clisp.org>
8281
8282         Tests for module 'strtoul'.
8283         * modules/strtoul-tests: New file.
8284         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
8285
8286 2012-01-05  Bruno Haible  <bruno@clisp.org>
8287
8288         Tests for module 'strtol'.
8289         * modules/strtol-tests: New file.
8290         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
8291
8292 2012-01-04  Jim Meyering  <meyering@redhat.com>
8293
8294         test-init.sh: accommodate Solaris 5.10's different diff -u output
8295         * tests/test-init.sh: Also exempt @@ lines from the comparison
8296         of diff output, since Solaris 5.10 and GNU diff formats differ.
8297         Reported by Stefano Lattarini.
8298
8299 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
8300
8301         test-posixtm: don't assume signed integer wraparound
8302         * tests/test-posixtm.c (main): Don't assume wraparound semantics
8303         after signed integer overflow.  Inspired by (though it may not
8304         fix) Bruno Haible's bug report in
8305         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
8306
8307         Spell out "Windows 9x" and "Windows XP".
8308         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
8309         "Windows 9x" and "WinXP" with "Windows XP".
8310
8311 2012-01-04  Jim Meyering  <meyering@redhat.com>
8312
8313         test-vc-list-files-cvs.sh: remove obsolete comment
8314         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
8315         double exit.  Now that's all encapsulated via skip_ and Exit.
8316
8317 2012-01-04  Bruno Haible  <bruno@clisp.org>
8318
8319         Talk about "native Windows API", not "Win32".
8320         * lib/classpath.c: Update comments to mention native Windows.
8321         * lib/csharpexec.c: Likewise.
8322         * lib/dup2.c: Likewise.
8323         * lib/error.c: Likewise.
8324         * lib/fcntl.c: Likewise.
8325         * lib/filename.h: Likewise.
8326         * lib/findprog.c: Likewise.
8327         * lib/get-rusage-as.c: Likewise.
8328         * lib/get-rusage-data.c: Likewise.
8329         * lib/getpagesize.c: Likewise.
8330         * lib/javaexec.c: Likewise.
8331         * lib/msvc-inval.c: Likewise.
8332         * lib/msvc-nothrow.c: Likewise.
8333         * lib/nanosleep.c: Likewise.
8334         * lib/nonblocking.c: Likewise.
8335         * lib/printf-parse.c: Likewise.
8336         * lib/setlocale.c: Likewise.
8337         * lib/sigaction.c: Likewise.
8338         * lib/strerror_r.c: Likewise.
8339         * lib/tmpdir.c: Likewise.
8340         * lib/vasnprintf.c: Likewise.
8341         * lib/w32spawn.h: Likewise.
8342         * lib/waitpid.c: Likewise.
8343         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
8344         * m4/locale-ar.m4: Likewise.
8345         * m4/locale-fr.m4: Likewise.
8346         * m4/locale-ja.m4: Likewise.
8347         * m4/locale-tr.m4: Likewise.
8348         * m4/locale-zh.m4: Likewise.
8349         * m4/printf.m4: Likewise.
8350         * tests/test-cloexec.c: Likewise.
8351         * tests/test-copy-acl.sh: Likewise.
8352         * tests/test-copy-file.sh: Likewise.
8353         * tests/test-file-has-acl.sh: Likewise.
8354         * tests/test-set-mode-acl.sh: Likewise.
8355         * tests/test-dup-safer.c: Likewise.
8356         * tests/test-dup2.c: Likewise.
8357         * tests/test-dup3.c: Likewise.
8358         * tests/test-fcntl.c: Likewise.
8359         * tests/test-nonblocking-pipe.h: Likewise.
8360         * tests/test-nonblocking-socket.h: Likewise.
8361         * tests/test-pipe.c: Likewise.
8362         * tests/test-pipe2.c: Likewise.
8363         * tests/test-spawn-pipe-child.c: Likewise.
8364         * doc/acl-resources.txt: Likewise.
8365         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
8366         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
8367         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
8368         * lib/localcharset.c: Update comments to mention native Windows.
8369         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
8370         * lib/localename.c: Likewise.
8371         * lib/progreloc.c: Likewise.
8372         * lib/relocatable.c: Likewise.
8373         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
8374         (windows_compute_revents): Renamed from win32_compute_revents.
8375         (windows_compute_revents_socket): Renamed from
8376         win32_compute_revents_socket.
8377         * lib/select.c: Update comments to mention native Windows.
8378         (windows_poll_handle): Renamed from win32_poll_handle.
8379         * m4/threadlib.m4: Update comments to mention native Windows.
8380         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
8381         --enable-threads=windows instead of --enable-threads=win32. Set
8382         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
8383         * lib/glthread/lock.h: Update comments to mention native Windows.
8384         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
8385         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
8386         USE_WIN32_THREADS.
8387         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
8388         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
8389         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
8390         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
8391         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
8392         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
8393         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
8394         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
8395         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
8396         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
8397         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
8398         * tests/test-tls.c: Likewise.
8399         Rationale:
8400         Microsoft renamed the "Win32 API" to "Windows API", as it is available
8401         on both 32-bit and 64-bit Windows systems.
8402         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
8403         line of distinction is between "native Windows" on one side and Unix/
8404         POSIX systems on the other side. More details in
8405         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
8406         Suggested by Paul Eggert.
8407
8408 2012-01-03  Bruno Haible  <bruno@clisp.org>
8409
8410         isatty: Support for MSVC 9.
8411         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
8412         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
8413         (_isatty_nothrow): New function.
8414         (isatty): Use it instead of _isatty.
8415         (IsConsoleHandle): Add comment, from Paolo Bonzini.
8416         * lib/poll.c (IsConsoleHandle): Likewise.
8417         * lib/select.c (IsConsoleHandle): Likewise.
8418         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
8419         (gl_PREREQ_ISATTY): New macro.
8420         * modules/isatty (Depends-on): Add msvc-inval.
8421         (configure.ac): Invoke gl_PREREQ_ISATTY.
8422
8423 2012-01-03  Jim Meyering  <meyering@redhat.com>
8424
8425         maint.mk: remove temporary transition aid from over 1.5 years ago
8426         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
8427         purpose was to aid in the transition (avoiding silent malfunction)
8428         from that old name to the new _sc_search_regexp.  This shim was
8429         added by commit 219c504b.
8430
8431         init.sh: do not try to accommodate compare arguments starting with "-"
8432         * tests/init.sh (compare_dev_null_): Do not try to accommodate
8433         compare arguments that start with "-".  Besides, we do not worry
8434         about this when invoking diff or cmp; why start now with sed?
8435         Using "--" to separate options from argument would trigger sed
8436         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
8437         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
8438
8439 2012-01-02  Bruno Haible  <bruno@clisp.org>
8440
8441         Enhance tests for module 'isatty'.
8442         * modules/isatty-tests (Depends-on): Add pipe-posix.
8443         * tests/test-isatty.c: Include <fcntl.h>.
8444         (DEV_NULL): New macro.
8445         (main): Test the resut of isatty() also on regular files, pipes, and
8446         /dev/null.
8447
8448         New module 'isatty'.
8449         * lib/unistd.in.h (isatty): New declaration.
8450         * lib/isatty.c: New file, based on an idea of
8451         Bastien Roucariès <roucaries.bastien@gmail.com>.
8452         * m4/isatty.m4: New file.
8453         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
8454         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
8455         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
8456         REPLACE_ISATTY.
8457         * modules/isatty: New file.
8458         * doc/posix-functions/isatty.texi: Mention the new module.
8459         Suggested by Paolo Bonzini.
8460
8461 2012-01-02  Bruno Haible  <bruno@clisp.org>
8462
8463         canonicalize: Tweak 2011-12-29 commit.
8464         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
8465         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
8466
8467 2012-01-02  Jim Meyering  <meyering@redhat.com>
8468
8469         gitlog-to-changelog: describe input syntax in --help output
8470         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
8471
8472         gitlog-to-changelog: fix typo in --help: show backslash before email @
8473         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
8474         in sources, but not in actual output.
8475
8476 2011-12-30  Jim Meyering  <meyering@redhat.com>
8477
8478         gitlog-to-changelog: don't malfunction when name contains %-directive
8479         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
8480         in a name string cause trouble.  E.g., with a user name of "%s",
8481         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
8482
8483 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
8484
8485         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
8486         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
8487         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
8488         the "  (tiny change)" notation that is appended to the standard
8489         ChangeLog "date  name  email" header line.
8490
8491 2012-01-01  Jim Meyering  <meyering@redhat.com>
8492
8493         test-framework-sh: init.sh: fix "make dist" failure
8494         When using gnulib-tool's --with-tests option and any module that
8495         depends on test-framework-sh, "make dist" would fail due to the
8496         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
8497         in the gltests directory, and not in the gllib/ directory.
8498         One way to work around that is to move the EXTRA_DIST += init.sh
8499         from the primary module to the -tests one:
8500         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
8501         * modules/test-framework-sh (Makefile.am): ...not here.
8502         Reported by Tom G. Christensen in
8503         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
8504
8505         version-etc: update copyright year reported by --version
8506         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
8507
8508 2011-12-31  Pádraig Brady  <P@draigBrady.com>
8509
8510         canonicalize: only stat() if required
8511         * lib/canonicalize.c (canonicalize_filename_mode):
8512         Avoid calling l?stat() when both CAN_MISSING,
8513         and CAN_NOLINKS are set, as we neither need
8514         to resolve symlinks or test component existence.
8515
8516 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
8517
8518         doc: cover st_ino issues once; add OpenVMS etc.
8519         * doc/posix-functions/stat.texi (stat):
8520         * doc/posix-functions/lstat.texi (lstat):
8521         * doc/posix-functions/fstatat.texi (fstatat):
8522         * doc/posix-functions/fstat.texi (fstat):
8523         Move general 'struct stat' stuff to sys_stat.texi,
8524         leaving behind a pointer.
8525         * doc/posix-headers/sys_stat.texi (sys/stat.h):
8526         Merge duplicate info about 'struct stat' problems into here.
8527         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
8528         and suggest partial workarounds.
8529
8530         same-inode: port to OpenVMS
8531         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
8532         three st_ino values.
8533
8534 2011-12-30  Pádraig Brady  <P@draigBrady.com>
8535
8536         canonicalize: fix references to stat() and lstat()
8537         * lib/canonicalize.c (canonicalize_filename_mode):
8538         Ensure references always resolve to a replacement
8539         function if required (even via a macro).
8540
8541 2011-12-30  Jim Meyering  <meyering@redhat.com>
8542
8543         gitlog-to-changelog: remove a little duplication
8544         * build-aux/gitlog-to-changelog (main): Grep @lines once,
8545         rather than twice.
8546
8547 2011-12-29  Pádraig Brady  <P@draigBrady.com>
8548
8549         canonicalize: add support for not resolving symlinks
8550         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
8551         indicate we don't want to follow symlinks.  Also
8552         provide CAN_MODE_MASK to aid setting these existing
8553         mutually exclusive values.
8554         * lib/canonicalize.c (canonicalize_filename_mode):
8555         Extract the flags from can_mode parameter, which
8556         are currently just used to select between stat()
8557         and lstat().  Also ensure that mutually exclusive
8558         values are flagged immediately as invalid.
8559         * tests/test-canonicalize.c: Verify symlinks are
8560         not followed, and that invalid flag combinations
8561         are diagnosed.
8562
8563 2011-12-25  Jim Meyering  <meyering@redhat.com>
8564
8565         gitlog-to-changelog: do not clump multi-paragraph entries
8566         Identical header lines (date,name,email+coauthors) are suppressed,
8567         thus putting all entries with those same characteristics under
8568         a single header.  However, when a log entry consists of two or
8569         more paragraphs, it may not be clear where it starts and ends.
8570         This change makes it so that such an entry is always separated
8571         from others by a header line, even when that header would
8572         otherwise be suppressed.
8573         * build-aux/gitlog-to-changelog: Implement the above.
8574         Inspired by a related request from Stefano Lattarini in
8575         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
8576
8577 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
8578
8579         announce-gen: fix `cmd' typo in diagnostic
8580         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
8581         diagnostic: a missing '$' meant that the command was not output.
8582
8583 2011-12-23  Jim Meyering  <meyering@redhat.com>
8584
8585         test-framework-sh: distribute init.sh
8586         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
8587         Otherwise, "make -C gnulib-tests check" (at least in grep) would
8588         fail due to the lack of init.sh.
8589
8590         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
8591         * modules/atexit-tests: Rather than listing tests/init.sh,
8592         now that there's a module for it, simply depend on that new module.
8593         * modules/closein-tests: Likewise.
8594         * modules/exclude-tests: Likewise.
8595         * modules/getcwd-tests: Likewise.
8596         * modules/perror-tests: Likewise.
8597         * modules/pread-tests: Likewise.
8598         * modules/pwrite-tests: Likewise.
8599         * modules/vc-list-files-tests: Likewise.
8600         * modules/verify-tests: Likewise.
8601         * modules/xalloc-die-tests: Likewise.
8602         * modules/xstrtoimax-tests: Likewise.
8603         * modules/xstrtol-tests: Likewise.
8604         * modules/xstrtoll-tests: Likewise.
8605         * modules/xstrtoumax-tests: Likewise.
8606         * modules/yesno-tests: Likewise.
8607
8608 2011-12-22  Jim Meyering  <meyering@redhat.com>
8609
8610         test-framework-sh: add minimal tests of init.sh's compare function
8611         * modules/test-framework-sh-tests: New file.
8612         * tests/test-init.sh: New file.
8613
8614         test-framework-sh: new module
8615         * modules/test-framework-sh: New file.
8616         * MODULES.html.sh (Support for maintaining and releasing projects):
8617         List it.
8618
8619         init.sh: do not emit simulated diff output to stderr
8620         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
8621
8622 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
8623
8624         .gitignore: ignore gnulib.dvi and regex.info
8625         * doc/.gitignore:add gnulib.dvi and regex.info
8626
8627 2011-12-22  Jim Meyering  <meyering@redhat.com>
8628
8629         init.sh: correct previous change
8630         * tests/init.sh (compare): My previous change was wrong.
8631         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
8632
8633         init.sh: avoid unwarranted test failure when using "set -e"
8634         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
8635         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
8636         a use like "compare exp out" would get evoke an unconditional failure.
8637
8638 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
8639
8640         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
8641         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
8642         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
8643         autoreconf that did not.
8644         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
8645         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
8646
8647 2011-12-17  Jim Meyering  <meyering@redhat.com>
8648
8649         bootstrap: remove some now-unneeded code
8650         This script arose back when gnulib-tool was young.
8651         Since then, it has seen improvements that render much of this
8652         script unnecessary.  In particular, it can now make symlinks
8653         to the files it uses.  Also, I no longer see as much value in
8654         marking files as read-only via comments.
8655         If you relied on the symlink-creation feature of the preceding
8656         version of this script, you can get most of that functionality
8657         by adding the --symlink option to the definition of
8658         gnulib_tool_option_extras in your bootstrap.conf file.
8659         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
8660         Run autopoint and libtoolize *before* gnulib-tool.
8661         After it, run an abbreviated autoreconf, rather than a loop around
8662         all tools.
8663         (slirp, bt_mark_as_generated): Remove functions.
8664
8665 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
8666
8667         ftoastr: fix typo
8668         * lib/ftoastr.h: Fix misspelling in comment.
8669
8670 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
8671
8672         * top/README-release: fix punctuation.
8673
8674 2011-12-17  Jim Meyering  <meyering@redhat.com>
8675
8676         bootstrap: correct the recent buildreq change
8677         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
8678         had no effect.
8679         * build-aux/bootstrap (buildreq): Bracket each search term with
8680         "*...*", so that the shell "case" statement works as intended.
8681         Add comments.
8682
8683 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
8684
8685         build: let bootstrap resort to wget when downloading .po files
8686         * build-aux/bootstrap (download_po_files): Fallback to wget when
8687         downloading the .po files via rsync fails.  This is necessary to
8688         bootstrap from behind a strict firewall.
8689
8690 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
8691
8692         stdint: don't assume C++11 when compiling with g++
8693         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
8694         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
8695         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
8696         work also in C++ before C++11, as that improperly inhibits
8697         generating a substitute stdint.h for that case.
8698
8699 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
8700
8701         alloca: protect comment from gnulib-tool
8702         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
8703         that gnulib-tool doesn't think it's a license, and munge it to
8704         say "GCC version 3".
8705
8706 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
8707
8708         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
8709         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
8710         $(abs_top_builddir) instead of $(top_builddir).
8711
8712 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
8713
8714         strftime-tests: also test nanoseconds
8715         * tests/test-strftime.c (T): Add a test of %N.
8716
8717 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
8718
8719         inttypes, stdint: add C++11 support
8720         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
8721         when including inttypes.h and stdint.h.  Support this change to
8722         the standard.
8723         * doc/posix-headers/inttypes.texi (inttypes.h):
8724         * doc/posix-headers/stdint.texi (stdint.h): Document this.
8725         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
8726         Define if not defined already, for the benefit of pre-C++11 hosts.
8727         Define the standard format macros (e.g., PRId8) always.
8728         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
8729         Likewise, if __cpluspus.  Define the standard constant and limit
8730         macros (e.g., INT8_C, INT8_MAX) always.
8731         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
8732         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
8733         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
8734         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
8735         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
8736         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
8737         Likewise.
8738
8739 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
8740
8741         nonblocking tests: Fix test failure on Linux/PPC.
8742         Suggested by Prerna Saxena in
8743         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
8744         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
8745         Set to 1100000.
8746
8747 2011-12-12  Jim Meyering  <meyering@redhat.com>
8748
8749         argmatch: don't hard-code `' when listing valid option arguments
8750         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
8751         use the quote function to add quotes.  Use fputs rather than
8752         fprintf for the format string with no format directive.
8753
8754 2011-12-07  Eric Blake  <eblake@redhat.com>
8755
8756         bootstrap: detect tools required by gnulib-tool
8757         * build-aux/bootstrap (buildreq): Provide minimum implicit
8758         dependencies.
8759         * DEPENDENCIES: Mention patch as a prereq.
8760
8761 2011-12-04  Bruno Haible  <bruno@clisp.org>
8762
8763         sethostname: Port to Windows platforms.
8764         * lib/sethostname.c: Provide an alternate implementation for Windows
8765         platforms.
8766         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
8767         (main): Skip the test if sethostname() fails with EPERM. On Windows
8768         platforms, don't check the result of gethostname().
8769
8770 2011-12-04  Bruno Haible  <bruno@clisp.org>
8771             Jim Meyering  <meyering@redhat.com>
8772
8773         tests: Avoid spurious error message on platforms without mktemp program.
8774         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
8775
8776 2011-12-04  Bruno Haible  <bruno@clisp.org>
8777
8778         sethostname: Fix documentation.
8779         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
8780         "not fixed" section.
8781
8782 2011-12-03  Bruno Haible  <bruno@clisp.org>
8783
8784         gnulib-tool: Verify that the License field is present and non-empty.
8785         * gnulib-tool (func_get_license_raw): New function, extracted from
8786         func_get_license.
8787         (func_get_license): Use it. Warn if the module is not a test module and
8788         has no license.
8789         Suggested by Jim Meyering.
8790
8791 2011-12-03  Bruno Haible  <bruno@clisp.org>
8792
8793         sethostname tests: Fix link error on mingw.
8794         * tests/test-sethostname1.c: New file, extracted from
8795         tests/test-sethostname.c.
8796         * tests/test-sethostname2.c: New file, extracted from
8797         tests/test-sethostname.c.
8798         * tests/test-sethostname.c: Remove file.
8799         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
8800         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
8801         (Depends-on): Add gethostname.
8802         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
8803         Link the latter with $(GETHOSTNAME_LIB).
8804
8805         sethostname tests: Fix compilation error on mingw.
8806         * tests/test-sethostname.c: Don't include <sys/types.h>.
8807         (geteuid): Use a dummy value without uid_t.
8808         * modules/sethostname-tests (Depends-on): Remove sys_types.
8809
8810         sethostname tests: Avoid a gcc warning.
8811         * tests/test-sethostname.c (main): Remove an unused variable.
8812
8813         Tweak last commit.
8814         * modules/sethostname-tests (Files): Sort by decreasing importance.
8815         (configure.ac): Check for geteuid.
8816         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
8817         the test when there's nothing to test. Drop an unnecessary cast.
8818         Improve an error message. Verify that the final sethostname() call
8819         succeeds.
8820
8821 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
8822
8823         Add a test suite for the sethostname module.
8824         * modules/sethostname-tests: New file.  A test program
8825         for the sethostname module.
8826         * tests/test-sethostname.c: Likewise.
8827
8828 2011-12-03  Bruno Haible  <bruno@clisp.org>
8829
8830         Tweak last commit.
8831         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
8832         Fix preprocessor directives indentation. Fix typos.
8833         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
8834         * modules/unistd (Makefile): Likewise.
8835
8836 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
8837
8838         Integrate the sethostname module into unistd.
8839         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
8840         into the unistd.h header.
8841         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
8842         preprocessor directives.
8843         * modules/unistd: Setup the Makefile substitutions of the
8844         SETHOSTNAME preprocessor directives.
8845
8846 2011-12-03  Bruno Haible  <bruno@clisp.org>
8847
8848         Tweak last commit.
8849         * lib/sethostname.c: Don't include <string.h>.
8850         (sethostname): No need to copy the argument string to the stack. Don't
8851         call clearerr. Preserve errno when fprintf failed.
8852         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
8853         Don't invoke AC_REPLACE_FUNCS.
8854         * modules/sethostname (Link): Remove empty section.
8855         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
8856         failure problem.
8857
8858 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
8859
8860         New module 'sethostname'.
8861         * lib/sethostname.c (sethostname): New file.  Provide sethostname
8862         for systems that lack it.
8863         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
8864         sethostname declaration and function.
8865         * modules/sethostname: New file.  Define the sethostname module.
8866
8867 2011-12-03  Bruno Haible  <bruno@clisp.org>
8868
8869         Tweak last commit.
8870         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
8871
8872 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
8873
8874         Split the HOST_NAME_MAX detection into a separate m4 macro.
8875         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
8876         macro so it can be used by the pending sethostname module.
8877
8878 2011-12-03  Bruno Haible  <bruno@clisp.org>
8879
8880         Fix module descriptions syntax.
8881         * modules/argv-iter (License): Fix syntax.
8882         * modules/di-set (License): Likewise.
8883         * modules/ino-map (License): Likewise.
8884         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
8885
8886 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
8887
8888         stdalign: port to Clang 3.0
8889         Problem reported by Simon Josefsson in
8890         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
8891         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
8892         which has <stdalign.h> but which does not define alignof.
8893         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
8894
8895 2011-12-01  Eric Blake  <eblake@redhat.com>
8896
8897         mktempd: silence dd usage
8898         * build-aux/mktempd (rand_bytes): Silence dd.
8899
8900 2011-11-30  Simon Josefsson  <simon@josefsson.org>
8901
8902         manywarnings: Don't mention gcc version in docstring.
8903         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
8904         Jim Meyering <meyering@redhat.com>.
8905
8906 2011-11-30  Jim Meyering  <meyering@redhat.com>
8907
8908         hash: mark a few floating point constants with "f" suffix
8909         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
8910         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
8911         floating point constants with "f", since they're destined to be
8912         saved/used as "float"s.
8913
8914 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
8915
8916         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
8917         * tests/test-float.c (test_long_double): Correct and re-enable the
8918         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
8919
8920 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
8921
8922         Avoid subtracting two pointers that don't point into the same block.
8923         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
8924         only pointers into the same memory block are subtracted. We cannot
8925         assume that sizeof (ptrdiff_t) == sizeof (void *).
8926
8927 2011-11-29  Eric Blake  <eblake@redhat.com>
8928
8929         maint.mk: add syntax check for use of compare from init.sh
8930         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
8931         moved here from coreutils.
8932
8933         manywarnings: drop -Wunsuffixed-float-constants
8934         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
8935         '1.0D', which is the only way to silence this warning for 'double'.
8936
8937 2011-11-29  Jim Meyering  <meyering@redhat.com>
8938
8939         hash: mark compute_bucket_size with the pure attribute
8940         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
8941
8942         quotearg, propername: correct pragma guard expression
8943         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
8944         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
8945
8946 2011-11-28  Jim Meyering  <meyering@redhat.com>
8947
8948         propername: do not mark proper_name with the const attribute
8949         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
8950         since it examines data pointed to by its parameter.
8951         * lib/propername.c (proper_name): Instead, add a pragma to suppress
8952         the suggestion from -Wsuggest-attribute=const.
8953
8954         propername: mark one more function as const
8955         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
8956
8957 2011-11-27  Jim Meyering  <meyering@redhat.com>
8958
8959         mark functions with const and pure attributes
8960
8961         Mark functions per suggestions from gcc-4.6 when using these options:
8962         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
8963         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
8964         Follow these guidelines: when possible, apply the attribute to
8965         an extern declaration, not to its definition.  Apply it to the
8966         definition only when the definition is static.
8967         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
8968         * lib/argv-iter.h (argv_iter_n_args): Likewise.
8969         * lib/base64.h (isbase64): Likewise.
8970         * lib/basename-lgpl.c (last_component, base_len): Likewise.
8971         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
8972         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
8973         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
8974         (c_tolower, c_toupper): Likewise.
8975         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
8976         * lib/chdir-long.c (find_non_slash): Likewise.
8977         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
8978         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
8979         * lib/file-type.h (file_type): Likewise.
8980         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
8981         * lib/filevercmp.c (verrevcmp): Likewise.
8982         * lib/freadahead.h (freadahead): Likewise.
8983         * lib/fts.c (fts_maxarglen): Likewise.
8984         * lib/hash-pjw.h (hash_pjw): Likewise.
8985         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
8986         * lib/hash.c (is_prime, next_prime): Likewise.
8987         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
8988         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
8989         (hash_table_ok, hash_get_first, hash_string): Likewise.
8990         (compute_bucket_size): Likewise.
8991         * lib/i-ring.h (i_ring_empty): Likewise.
8992         * lib/isnan.c (isnanl): Likewise.
8993         * lib/math.h (isnanl, rpl_isnanl): Likewise.
8994         * lib/memcasecmp.h (memcasecmp): Likewise.
8995         * lib/memchr2.h (memchr2): Likewise.
8996         * lib/memcmp2.h (memcmp2): Likewise.
8997         * lib/parse-datetime.y (lookup_zone): Likewise.
8998         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
8999         [!WINDOWS_SOCKETS]: Likewise.
9000         * lib/strnlen1.h (strnlen1): Likewise.
9001         * lib/uniwidth.in.h (uc_width): Likewise.
9002         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
9003         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
9004         (quoting_options_from_style): Add a comment.
9005         * lib/propername.h (proper_name): Add a comment.
9006
9007 2011-11-27  Bruno Haible  <bruno@clisp.org>
9008
9009         Remove unused macros from !_LIBC code in glibc-borrowed files.
9010         * lib/fnmatch.c (STRCOLL): Remove macro.
9011         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
9012         * lib/glob.c (__stat, __readdir64): Remove macros.
9013         * lib/tempname.c (__open64, __xstat64): Remove macros.
9014         Suggested by Paul Eggert.
9015
9016 2011-11-27  Bruno Haible  <bruno@clisp.org>
9017
9018         getcwd: Fix link error on MSVC 9.
9019         * modules/getcwd (Depends-on): Add readdir, rewinddir.
9020
9021 2011-11-27  Bruno Haible  <bruno@clisp.org>
9022
9023         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
9024         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
9025         HAVE_OPENDIR is 0.
9026         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
9027         HAVE_CLOSEDIR is 0.
9028         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
9029         is 0.
9030         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
9031
9032 2011-11-27  Bruno Haible  <bruno@clisp.org>
9033
9034         getcwd: Fix bug from 2011-08-17.
9035         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
9036         platforms that need it.
9037         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
9038         code of 4 to be a failure, not a success. This ensures that
9039         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
9040
9041 2011-11-27  Bruno Haible  <bruno@clisp.org>
9042
9043         binary-io tests: Avoid test failure on mingw when libtool is used.
9044         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
9045         Don't verify the size of t-bin-out1.tmp here.
9046         * tests/test-binary-io.sh: Verify it here.
9047         Reported by Simon Josefsson.
9048
9049 2011-11-26  Bruno Haible  <bruno@clisp.org>
9050
9051         Fix conflict between two instantiations of module 'unistd'.
9052         * gnulib-tool (func_emit_autoconf_snippet): Substitute
9053         ${include_guard_prefix} also in the autoconf snippet.
9054         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
9055         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
9056         GNULIB_UNISTD_H_GETOPT.
9057         * modules/getopt-posix (configure.ac): Set the
9058         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
9059         * modules/getopt-gnu (configure.ac): Likewise.
9060         * modules/unistd (Makefile.am): Change the substitution value of
9061         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
9062         Reported by Simon Josefsson.
9063
9064 2011-11-25  Bruno Haible  <bruno@clisp.org>
9065
9066         pagealign_alloc: Doc and comments.
9067         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
9068         module.
9069         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
9070
9071 2011-11-25  Jim Meyering  <meyering@redhat.com>
9072
9073         test-update-copyright.sh: avoid false-positive failure
9074         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
9075         around false positive failure on Cygwin/Windows.  The latter was
9076         matching erroneously-created files with names like
9077         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
9078
9079 2011-11-25  Simon Josefsson  <simon@josefsson.org>
9080
9081         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
9082         * m4/valgrind-tests.m4: Check that the parameters that will be
9083         used works, not just a subset of them.  Reported by Bruno Haible
9084         <bruno@clisp.org>.
9085
9086 2011-11-24  Jim Meyering  <meyering@redhat.com>
9087
9088         test-stdalign.c: comment out long double tests
9089         * tests/test-stdalign.c: Don't try to reduce alignment of long double
9090         variables.  That provokes errors like this from gcc-4.7.0 20111124:
9091         error: '_Alignas' specifiers cannot reduce alignment of \
9092         'static_longdouble_alignas'.
9093
9094 2011-11-22  Jim Meyering  <meyering@redhat.com>
9095
9096         init.sh: make "compare /dev/null FILE" output more readable
9097         * tests/init.sh (compare_): Document the preferred order of arguments.
9098         (emit_diff_u_header_): New function.
9099         (compare_dev_null_): Emit a simulated diff, rather than just the
9100         contents of the unexpected file.  Suggestion from Bruno Haible.
9101
9102 2011-11-21  Jim Meyering  <meyering@redhat.com>
9103             Eric Blake  <eblake@redhat.com>
9104
9105         init.sh: work around OSF/1 5.1's mishandling of /dev/null
9106         * tests/init.sh: Make our compare function slightly more portable.
9107         Reported by Bruno Haible in
9108         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
9109
9110 2011-11-21  Simon Josefsson  <simon@josefsson.org>
9111
9112         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
9113         before using it, in code that ends up in config.h.
9114
9115 2011-11-20  Bruno Haible  <bruno@clisp.org>
9116
9117         getcwd: Work around getcwd bug on AIX 5..7.
9118         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
9119         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
9120         Use a different value for gl_cv_func_getcwd_path_max. Move the
9121         definition of HAVE_PARTLY_WORKING_GETCWD from here...
9122         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
9123         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
9124         Define HAVE_MINIMALLY_WORKING_GETCWD.
9125         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
9126         where it is not even minimally working, that is, on AIX.
9127         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
9128         m4/getcwd-path-max.m4.
9129         (main): Update exit code computation.
9130         * doc/posix-functions/getcwd.texi: Mention list of platforms where
9131         getcwd does not handle long file names.
9132
9133 2011-11-20  Bruno Haible  <bruno@clisp.org>
9134
9135         getcwd: Fix bug from 2009-09-10.
9136         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
9137         like "no".
9138
9139 2011-11-20  Simon Josefsson  <simon@josefsson.org>
9140
9141         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
9142
9143 2011-11-20  Bruno Haible  <bruno@clisp.org>
9144
9145         fma tests: Avoid shadowing local variables.
9146         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
9147         expected.
9148
9149 2011-11-20  Bruno Haible  <bruno@clisp.org>
9150
9151         copysignf tests: Fix.
9152         * tests/test-copysignf.c: Fix signature check.
9153
9154 2011-11-20  Bruno Haible  <bruno@clisp.org>
9155
9156         fma: Remove unused code.
9157         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
9158         unused macros.
9159
9160 2011-11-20  Bruno Haible  <bruno@clisp.org>
9161
9162         sethostname: Fix doc about AIX.
9163         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
9164         sethostname; it has it.
9165
9166         sethostname: Mention more portability problems.
9167         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
9168         problem.
9169         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
9170
9171 2011-11-19  Bruno Haible  <bruno@clisp.org>
9172
9173         Depend on module fcntl-h when AT_FDCWD is used.
9174         * modules/utimens (Depends-on): Add fcntl-h.
9175         * modules/areadlinkat (Depends-on): Likewise.
9176         * modules/areadlinkat-with-size (Depends-on): Likewise.
9177         * modules/faccessat (Depends-on): Likewise.
9178         * modules/fchmodat (Depends-on): Likewise.
9179         * modules/fchownat (Depends-on): Likewise.
9180         * modules/getcwd (Depends-on): Likewise.
9181         * modules/mkdirat (Depends-on): Likewise.
9182         * modules/mkfifoat (Depends-on): Likewise.
9183         * modules/readlinkat (Depends-on): Likewise.
9184         * modules/symlinkat (Depends-on): Likewise.
9185         * modules/dup2-tests (Depends-on): Likewise.
9186         * modules/fdutimensat-tests (Depends-on): Likewise.
9187         * modules/futimens-tests (Depends-on): Likewise.
9188
9189 2011-11-19  Bruno Haible  <bruno@clisp.org>
9190
9191         euidaccess: Update a comment.
9192         * lib/euidaccess.c: Update comment about platforms with faccessat.
9193
9194 2011-11-19  Bruno Haible  <bruno@clisp.org>
9195
9196         openat: Fix file list.
9197         * modules/openat (Files): Remove lib/at-func.c.
9198
9199 2011-11-19  Bruno Haible  <bruno@clisp.org>
9200
9201         fstatat: Simplify.
9202         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
9203         gnulib should define rpl_fstatat, there is a
9204         "#define fstatat rpl_fstatat" in <sys/stat.h>.
9205
9206 2011-11-19  Bruno Haible  <bruno@clisp.org>
9207
9208         Ensure 'inline' can be used in tests/test-utimens-common.h.
9209         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
9210         * modules/futimens-tests (configure.ac): Likewise.
9211         * modules/utimens-tests (configure.ac): Likewise.
9212         * modules/utimensat-tests (configure.ac): Likewise.
9213
9214 2011-11-19  Simon Josefsson  <simon@josefsson.org>
9215
9216         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
9217         not hash_insert0.
9218         (hash_insert_if_absent): Doc fix.
9219
9220 2011-11-19  Simon Josefsson  <simon@josefsson.org>
9221
9222         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
9223
9224 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
9225
9226         test-getcwd: disambiguate exit status
9227         * tests/test-getcwd.c (test_long_name): Return 0..7.
9228         (main): Exit with an unambiguous exit status.  The old
9229         code yielded a mysterious mixture of two failure codes.
9230
9231         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
9232         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
9233         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
9234         rpl_fstatat or fstatat.  This should fix the other problem
9235         reported by Kai Habel in
9236         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
9237         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
9238         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
9239         and I reproduced it on a Solaris 8 host we still have in production.
9240
9241 2011-11-18  Jim Meyering  <meyering@redhat.com>
9242
9243         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
9244         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
9245         Add a sentence to the comment.
9246         (hash_insert0): New function that simply calls hash_insert_if_absent.
9247         * lib/hash.h (hash_insert_if_absent): Declare it.
9248         (hash_insert0): Add deprecation attribute.
9249         (_GL_ATTRIBUTE_DEPRECATED): Define.
9250         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
9251         not hash_insert0.
9252         * NEWS: Mention it, even though it's not really an incompatible change.
9253
9254 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
9255
9256         openat: avoid compilation failure due to lack of <errno.h> inclusion
9257         * lib/openat.c: Include <errno.h>.
9258
9259 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
9260
9261         * modules/getcwd (Depends-on): Add fdopendir.
9262         This fixes one of the two problems reported by Kai Habel in
9263         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
9264
9265         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
9266         stdalign problem reported by Ian Beckwith in
9267         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
9268         * modules/crypto/gc-arcfour (Depends-on):
9269         Depend conditionally on crypto/arcfour.
9270         * modules/crypto/gc-arctwo (Depends-on):
9271         Depend conditionally on crypto/arctwo.
9272         * modules/crypto/gc-des (Depends-on):
9273         Depend conditionally on crypto/des.
9274         * modules/crypto/gc-hmac-md5 (Depends-on):
9275         Depend conditionally on crypto/hmac-md5.
9276         * modules/crypto/gc-hmac-sha1 (Depends-on):
9277         Depend conditionally on crypto/hmac-sha1.
9278         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
9279         * modules/crypto/gc-md4 (Depends-on):
9280         Depend conditionally on crypto/md4.
9281         * modules/crypto/gc-md5 (Depends-on):
9282         Depend conditionally on crypto/md5.
9283         * modules/crypto/gc-rijndael (Depends-on):
9284         Depend conditionally on crypto/rijndael.
9285         * modules/crypto/gc-sha1 (Depends-on):
9286         Depend conditionally on crypto/sha1.
9287         * modules/crypto/gc-arcfour:
9288         * modules/crypto/gc-arctwo:
9289         * modules/crypto/gc-des:
9290         * modules/crypto/gc-hmac-md5:
9291         * modules/crypto/gc-hmac-sha1:
9292         * modules/crypto/gc-md2:
9293         * modules/crypto/gc-md4:
9294         * modules/crypto/gc-md5:
9295         * modules/crypto/gc-rijndael:
9296         * modules/crypto/gc-sha1:
9297         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
9298         now that the conditional dependencies do the work for us.
9299
9300 2011-11-17  Jim Meyering  <meyering@redhat.com>
9301
9302         tests: factor st_ctime-comparison out of two headers
9303         * tests/test-utimens-common.h (ctime_compare): Define.
9304         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
9305         * tests/test-lutimens.h (test_lutimens): Likewise.
9306         * tests/test-utimens.h (test_utimens): Likewise.
9307
9308         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
9309         Invoke the test program via an init.sh-using wrapper.
9310         * tests/test-getcwd.sh: New file.
9311         * modules/getcwd-tests (Files): Add it.
9312         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
9313
9314 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
9315
9316         gitlog-to-changelog: support multi-author commits.
9317         The FSF cares about keeping track of all authors of patches to its
9318         projects, but Git doesn't provide obvious support for multi-author
9319         changesets. Consensus seems to be forming around the use of extra
9320         Signed-off-by inspired lines in the log message formatted as
9321         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
9322         multi-author commits between version control systems.
9323         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
9324         log message and output in standard ChangeLog multi-author format.
9325         Reported by Peter Rosin <peda@lysator.liu.se>
9326
9327 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
9328             Bruno Haible  <bruno@clisp.org>
9329
9330         Fix some modules' file list.
9331         * modules/fstatat (Files): Add m4/lstat.m4.
9332         * modules/openat (Files): Likewise.
9333         * modules/unlinkat (Files): Likewise.
9334
9335 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
9336
9337         maint.mk: fix tight-scope.mk generation in VPATH builds.
9338         * top/maint.mk (tight-scope.mk): Make sure to prefix file
9339         reference with $(srcdir) so that the file is found correctly even
9340         when running `make syntax-check' in a VPATH build.
9341
9342 2011-11-13  Bruno Haible  <bruno@clisp.org>
9343             Jim Meyering  <meyering@redhat.com>
9344
9345         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
9346         * tests/init.sh (compare): Remove "No differences encountered" or
9347         synonymous output from the 'diff' program.
9348
9349 2011-11-13  Bruno Haible  <bruno@clisp.org>
9350
9351         Makefile: Tweak indentation.
9352         * Makefile: Use tab as first character in every line that contains rule
9353         commands.
9354
9355 2011-11-13  Bruno Haible  <bruno@clisp.org>
9356
9357         Syntax check for copyright statements.
9358         * check-copyright: New file.
9359         * Makefile (sc_check_copyright): New rule.
9360
9361 2011-11-13  Simon Josefsson  <simon@josefsson.org>
9362
9363         * build-aux/git-version-gen: Add --prefix to configure the tag
9364         match string.
9365
9366 2011-11-13  Simon Josefsson  <simon@josefsson.org>
9367
9368         * build-aux/git-version-gen: Add --help and --version.
9369
9370 2011-11-12  Jim Meyering  <meyering@redhat.com>
9371
9372         revamp the other test-exclude?.sh scripts to use init.sh, too
9373         * tests/test-exclude1.sh: Use init.sh.
9374         * tests/test-exclude2.sh: Likewise.
9375         * tests/test-exclude3.sh: Likewise.
9376         * tests/test-exclude4.sh: Likewise.
9377         * tests/test-exclude5.sh: Likewise.
9378         * tests/test-exclude6.sh: Likewise.
9379         * tests/test-exclude7.sh: Likewise.
9380         * tests/test-exclude8.sh: Likewise.
9381         * modules/exclude-tests (Files): List init.sh.
9382
9383         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
9384         These shell scripts ignored failure of the binary test-exclude,
9385         so making the latter return 77 didn't cause them to be skipped.
9386         * tests/test-exclude5.sh: Exit with test-exclude's error status
9387         when that program fails.  Revamp to use init.sh.
9388         * tests/test-exclude2.sh: Likewise.
9389
9390         test-exclude: fix a typo
9391         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
9392
9393 2011-11-11  Bruno Haible  <bruno@clisp.org>
9394
9395         obstack: Fix compilation error on MSVC 9.
9396         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
9397
9398 2011-11-11  Jim Meyering  <meyering@redhat.com>
9399
9400         test-exclude: skip tests rather than failing on deficient systems
9401         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
9402         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
9403         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
9404         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
9405
9406 2011-11-10  Bruno Haible  <bruno@clisp.org>
9407
9408         ptsname_r test: Avoid gcc warning on glibc systems.
9409         * tests/test-ptsname_r.c (null_ptr): New function.
9410         (test_errors): Use it.
9411
9412 2011-11-10  Bruno Haible  <bruno@clisp.org>
9413
9414         ptsname_r: Avoid compilation error on OSF/1 5.1.
9415         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
9416         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
9417         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
9418         function is not declared or incompatibly declared.
9419         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
9420         * modules/ptsname_r (Depends-on, configure.ac): Update.
9421         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
9422
9423 2011-11-10  Bruno Haible  <bruno@clisp.org>
9424
9425         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
9426         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
9427         When cross-compiling, guess yes on all platforms except AIX.
9428         Reported by Ludovic Courtès <ludo@gnu.org>.
9429
9430 2011-11-09  Bruno Haible  <bruno@clisp.org>
9431
9432         ptsname_r tests: Fix bugs.
9433         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
9434         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
9435
9436 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
9437
9438         fstatat: work with cross-compilation
9439         Problem reported by Ludovic Courtès in
9440         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
9441         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
9442         "cross-compiling" and assume the bug is present.  Replace
9443         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
9444         an inverted sense, to be more conservative about our assumptions.
9445         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
9446
9447 2011-11-09  Bruno Haible  <bruno@clisp.org>
9448
9449         Improve MODULES.html output.
9450         * modules/mkfifoat (Description): Use the word "function".
9451         * modules/readlinkat (Description): Likewise.
9452         * modules/symlinkat (Description): Likewise.
9453
9454 2011-11-09  Eric Blake  <eblake@redhat.com>
9455
9456         ptsname_r-tests: new test module
9457         * modules/ptsname_r-tests: New module.
9458         * tests/test-ptsname_r.c: New file.
9459
9460         ptsname_r: new module
9461         * modules/ptsname_r: New module.
9462         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
9463         * lib/ptsname.c (__ptsname_r): Split...
9464         * lib/ptsname_r.c: ...into new file.
9465         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
9466         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
9467         * modules/stdlib (Makefile.am): Substitute witnesses.
9468         * lib/stdlib.in.h (ptsname_r): Declare it.
9469         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
9470         * MODULES.html.sh (Misc): Likewise.
9471         * modules/ptsname (Depends-on): Alter dependency.
9472         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
9473
9474 2011-11-09  Jim Meyering  <meyering@redhat.com>
9475
9476         announce-gen: be more concise when there's only one URL+tarball
9477         * build-aux/announce-gen (get_tool_versions): When you distribute
9478         only one type of tarball, combine the first two "Here are..."
9479         sections and make the key-checking grammar independent of
9480         how many tarballs there are.
9481
9482 2011-11-09  Eric Blake  <eblake@redhat.com>
9483
9484         openpty: provide a stub on mingw
9485         * lib/pty.in.h (includes): Provide forward declarations.
9486         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
9487
9488         raise: fix mingw handling of SIGPIPE
9489         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
9490
9491 2011-11-08  Bruno Haible  <bruno@clisp.org>
9492
9493         More conditional dependencies.
9494         * modules/faccessat (Depends-on): Add conditions.
9495         * modules/fchmodat (Depends-on): Likewise.
9496         * modules/fchownat (Depends-on): Likewise.
9497         * modules/fstatat (Depends-on): Likewise.
9498         * modules/mkfifoat (Depends-on): Likewise.
9499         * modules/readlinkat (Depends-on): Likewise.
9500         * modules/symlinkat (Depends-on): Likewise.
9501         * modules/unlinkat (Depends-on): Likewise.
9502         * modules/utimensat (Depends-on): Likewise.
9503         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
9504         * modules/linkat (Depends-on): Refine the conditions.
9505         * modules/renameat (Depends-on): Likewise.
9506
9507 2011-11-08  Bruno Haible  <bruno@clisp.org>
9508
9509         faccessat: Move AC_LIBOBJ invocation to module description.
9510         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
9511         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
9512         invocation from here...
9513         * modules/faccessat (configure.ac): ... to here. Invoke
9514         gl_PREREQ_FACCESSAT.
9515
9516 2011-11-08  Bruno Haible  <bruno@clisp.org>
9517
9518         faccessat: Simplify autoconf macro.
9519         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
9520         gl_FUNC_EUIDACCESS.
9521
9522 2011-11-08  Bruno Haible  <bruno@clisp.org>
9523
9524         renameat: Fix dependencies.
9525         * modules/renameat (Depends-on): Add stdbool.
9526
9527 2011-11-08  Bruno Haible  <bruno@clisp.org>
9528
9529         mkfifoat: Fix module description.
9530         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
9531         not gl_UNISTD_MODULE_INDICATOR.
9532
9533 2011-11-08  Bruno Haible  <bruno@clisp.org>
9534
9535         fstatat: Remove unused dependency.
9536         * modules/fstatat (Depends-on): Remove fstat.
9537
9538 2011-11-08  Simon Josefsson  <simon@josefsson.org>
9539
9540         GNUmakefile: behave when Makefile is missing.
9541         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
9542
9543 2011-11-08  Bruno Haible  <bruno@clisp.org>
9544
9545         openat: Conditionalize dependencies.
9546         * lib/openat.c: Reduce the scope of some #includes.
9547         * modules/openat (Depends-on): Add conditions.
9548
9549 2011-11-07  Jim Meyering  <meyering@redhat.com>
9550
9551         maint.mk: extract GPG key ID without using a temporary file
9552         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
9553         without using a temporary file.  Based on a suggestion from Werner Koch
9554         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
9555
9556 2011-11-07  Eric Blake  <eblake@redhat.com>
9557
9558         grantpt: fix typo
9559         * lib/stdlib.in.h (grantpt): Check correct function.
9560
9561         maint.mk: silence new syntax check
9562         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
9563
9564 2011-11-06  Bruno Haible  <bruno@clisp.org>
9565
9566         Doc about floating-point and math API.
9567         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
9568         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
9569
9570 2011-11-06  Bruno Haible  <bruno@clisp.org>
9571
9572         stdalign tests: Skip the test when compiled by Sun C.
9573         * tests/test-stdalign.c (main): Skip the test on Sun C.
9574
9575 2011-11-06  Bruno Haible  <bruno@clisp.org>
9576
9577         ansi-c++-opt: Complete the 2011-06-05 change.
9578         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
9579         does not support namespaces, set the variable to "no", not to ":".
9580
9581 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
9582
9583         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
9584
9585 2011-11-06  Bruno Haible  <bruno@clisp.org>
9586
9587         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
9588         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
9589         (minus_zerol) [HP-UX]: New macro.
9590         (unary_minus) [HP-UX]: New function.
9591         (copysignl) [HP-UX]: Use unary_minus function.
9592
9593 2011-11-06  Bruno Haible  <bruno@clisp.org>
9594
9595         ldexp, ldexpf, ldexpl: Enhance tests.
9596         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
9597         and tests/test-ldexpl.c.
9598         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
9599         LDEXP, MIN_EXP, MAX_EXP): New macros.
9600         Include test-ldexp.h.
9601         (main): Just call test_function.
9602         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
9603         infinity.h, nan.h.
9604         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
9605         MAX_EXP): New macros.
9606         Include test-ldexp.h.
9607         (x, y): Remove variables.
9608         (main): Just call test_function.
9609         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
9610         infinity.h, nan.h.
9611         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
9612         MAX_EXP): New macros.
9613         Include test-ldexp.h.
9614         (x, y): Remove variables.
9615         (main): Just call test_function.
9616         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
9617         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
9618         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
9619         (Depends-on): Add isnand-nolibm, signbit, float.
9620         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
9621         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
9622         (Depends-on): Add isnanf-nolibm, signbit, float.
9623
9624 2011-11-06  Bruno Haible  <bruno@clisp.org>
9625
9626         math tests: Cosmetics.
9627         * tests/test-math-c++.cc: Reorder declarations.
9628
9629 2011-11-05  Bruno Haible  <bruno@clisp.org>
9630
9631         fma*: Simplify test.
9632         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
9633         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
9634
9635         Tests for module 'fmal'.
9636         * modules/fmal-tests: New file.
9637         * tests/test-fmal1.c: New file.
9638         * tests/test-fmal2.c: New file.
9639
9640         New module 'fmal'.
9641         * lib/math.in.h (fmal): New declaration.
9642         * lib/fmal.c: New file.
9643         * m4/fmal.m4: New file.
9644         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
9645         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
9646         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
9647         REPLACE_FMAL.
9648         * modules/fmal: New file.
9649         * doc/posix-functions/fmal.texi: Mention the new module and the various
9650         bugs.
9651
9652         Tests for module 'fmaf'.
9653         * modules/fmaf-tests: New file.
9654         * tests/test-fmaf1.c: New file.
9655         * tests/test-fmaf2.c: New file.
9656
9657         New module 'fmaf'.
9658         * lib/math.in.h (fmaf): New declaration.
9659         * lib/fmaf.c: New file.
9660         * m4/fmaf.m4: New file.
9661         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
9662         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
9663         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
9664         REPLACE_FMAF.
9665         * modules/fmaf: New file.
9666         * doc/posix-functions/fmaf.texi: Mention the new module and the various
9667         bugs.
9668
9669         Tests for module 'fma'.
9670         * modules/fma-tests: New file.
9671         * tests/test-fma1.c: New file.
9672         * tests/test-fma1.h: New file.
9673         * tests/test-fma2.c: New file.
9674         * tests/test-fma2.h: New file.
9675
9676         New module 'fma'.
9677         * lib/math.in.h (fma): New declaration.
9678         * lib/fma.c: New file.
9679         * m4/fma.m4: New file.
9680         * m4/fegetround.m4: New file.
9681         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
9682         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
9683         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
9684         REPLACE_FMA.
9685         * modules/fma: New file.
9686         * doc/posix-functions/fma.texi: Mention the new module and the various
9687         bugs.
9688
9689         Extend gl_MATHFUNC.
9690         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
9691         Support 'void' as argument type.
9692         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
9693
9694 2011-11-05  Jim Meyering  <meyering@redhat.com>
9695
9696         maint.mk: also prohibit inclusion of dirent.h without use
9697         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
9698
9699 2011-11-05  Bruno Haible  <bruno@clisp.org>
9700
9701         ldexpl tests: Avoid test failure on MSVC 9.
9702         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
9703         value. Needed in order to enforce the conversion from a value greater
9704         than LDBL_MAX to Infinity.
9705
9706 2011-11-05  Bruno Haible  <bruno@clisp.org>
9707
9708         New modules 'at-internal', 'openat-h', split off from module 'openat'.
9709         * modules/at-internal: New file, extracted from modules/openat.
9710         * modules/openat-h: New file.
9711         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
9712         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
9713         * modules/openat (Description): Add reference to POSIX function.
9714         (Files): Remove lib/openat.h, lib/openat-proc.c.
9715         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
9716         intprops, unistd.
9717         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
9718         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
9719         gl_FCNTL_MODULE_INDICATOR.
9720         (Include): Remove unistd.h, openat.h.
9721         * modules/areadlinkat (Files): Add lib/at-func.c.
9722         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
9723         openat-die, openat-h, save-cwd.
9724         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
9725         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
9726         openat-die, openat-h, save-cwd, unistd.
9727         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
9728         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
9729         openat-h, save-cwd. Remove fcntl-h, openat.
9730         * modules/fchmodat (Files): Remove lib/openat.h.
9731         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
9732         openat, stdbool, unistd.
9733         * modules/fchownat (Files): Remove lib/openat.h.
9734         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
9735         openat, stdbool, sys_stat.
9736         * modules/fdopendir (Files): Remove lib/openat-priv.h,
9737         lib/openat-proc.c.
9738         (Depends-on): Add at-internal.
9739         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
9740         * modules/fstatat (Files): Remove lib/openat.h.
9741         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
9742         stdbool, unistd.
9743         * modules/fts (Depends-on): Add openat-h.
9744         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
9745         openat.
9746         * modules/mkdirat (Files): Remove lib/openat.h.
9747         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
9748         openat, stdbool, sys_stat.
9749         * modules/mkfifoat (Files): Add lib/at-func.c.
9750         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
9751         openat-h, save-cwd. Remove fcntl-h, openat.
9752         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
9753         * modules/readlinkat (Files): Add lib/at-func.c.
9754         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
9755         openat-h, save-cwd. Remove fcntl-h, openat.
9756         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
9757         openat.
9758         * modules/selinux-at (Files): Add lib/at-func.c.
9759         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
9760         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
9761         * modules/symlinkat (Files): Add lib/at-func.c.
9762         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
9763         openat-h, save-cwd. Remove fcntl-h, openat.
9764         * modules/unlinkat (Files): Remove lib/openat.h.
9765         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
9766         stdbool.
9767         * modules/utimensat (Files): Add lib/at-func.c.
9768         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
9769         openat-die, openat-h, save-cwd.
9770         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
9771         * modules/fdutimensat-tests (Depends-on): Add openat.
9772         * modules/fstatat-tests (Depends-on): Add openat-h.
9773         * modules/readlinkat-tests (Depends-on): Add openat.
9774         * modules/symlinkat-tests (Depends-on): Add openat.
9775
9776 2011-11-05  Bruno Haible  <bruno@clisp.org>
9777
9778         openat: Include <stdbool.h>.
9779         * lib/openat.c: Include <stdbool.h>.
9780
9781 2011-11-04  Bruno Haible  <bruno@clisp.org>
9782
9783         fchownat, renameat, unlinkat: Fix dependencies.
9784         * modules/fchownat (Depends-on): Add fstatat.
9785         * modules/renameat (Depends-on): Likewise.
9786         * modules/unlinkat (Depends-on): Likewise.
9787
9788 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
9789
9790         openat: remove direct dependency on dirent
9791         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
9792         and hasn't been needed ever since fdopendir was split into its own
9793         module on 2009-08-31.
9794         * modules/openat (Depends-on): Remove dirent.
9795
9796 2011-11-04  Bruno Haible  <bruno@clisp.org>
9797
9798         renameat: Optimize code size.
9799         * modules/renameat (configure.ac): Don't compile at-func2.c if
9800         REPLACE_RENAMEAT is 1.
9801
9802 2011-11-04  Bruno Haible  <bruno@clisp.org>
9803
9804         openat tests: Fix file list.
9805         * modules/openat-tests (Files): Add tests/test-open.h.
9806
9807 2011-11-04  Bruno Haible  <bruno@clisp.org>
9808
9809         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
9810         * modules/fchmodat (Depends-on): Add openat-die.
9811         * modules/fchownat (Depends-on): Likewise.
9812         * modules/linkat (Depends-on): Likewise.
9813         * modules/renameat (Depends-on): Likewise.
9814         * modules/openat (Depends-on): Add dirent.
9815
9816 2011-11-04  Jim Meyering  <meyering@redhat.com>
9817
9818         at-func*.c: fix comments
9819         * lib/at-func2.c: Correct/improve first-line comment.
9820         * lib/at-func.c: Correct grammar in first-line comment.
9821
9822 2011-11-04  Bruno Haible  <bruno@clisp.org>
9823
9824         New module 'mkdirat', split off from module 'openat'.
9825         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
9826         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
9827         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
9828         * modules/mkdirat: New file, extracted from modules/openat.
9829         * modules/openat (Files): Remove lib/mkdirat.c.
9830         (Depends-on): Remove mkdir.
9831         (configure.ac): Remove AC_LIBOBJ of mkdirat.
9832         (Include): Remove <sys/stat.h>.
9833         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
9834         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
9835         tests/test-mkdir.h.
9836         (Depends-on): Remove ignore-value.
9837         (Makefile.am): Remove rules for test-mkdirat.
9838         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
9839         of module 'openat'.
9840         * NEWS: Mention the change.
9841
9842 2011-11-04  Bruno Haible  <bruno@clisp.org>
9843
9844         closedir: Avoid warning on mingw.
9845         * lib/closedir.c: Include <unistd.h>.
9846
9847 2011-11-04  Bruno Haible  <bruno@clisp.org>
9848
9849         New module 'fstatat', split off from module 'openat'.
9850         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
9851         defined.
9852         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
9853         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
9854         gl_FUNC_FSTATAT.
9855         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
9856         * modules/fstatat: New file, extracted from modules/openat.
9857         * modules/openat (Files): Remove lib/fstatat.c.
9858         (Depends-on): Remove lstat.
9859         (configure.ac): Remove AC_LIBOBJ of fstatat.
9860         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
9861         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
9862         tests/test-lstat.h, tests/test-stat.h.
9863         (Depends-on): Remove getcwd-lgpl.
9864         (Makefile.am): Remove rules for test-fstatat.
9865         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
9866         of module 'openat'.
9867         * NEWS: Mention the change.
9868         * modules/getcwd (Depends-on): Add fstatat.
9869         * modules/linkat (Depends-on): Likewise.
9870         * modules/mkfifoat-tests (Depends-on): Likewise.
9871         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
9872
9873 2011-11-03  Bruno Haible  <bruno@clisp.org>
9874
9875         New module 'unlinkat', split off from module 'openat'.
9876         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
9877         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
9878         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
9879         * modules/unlinkat: New file, extracted from modules/openat. Correct
9880         the dependency conditions.
9881         * modules/openat (Files): Remove lib/unlinkat.c.
9882         (Depends-on): Remove rmdir, unlink.
9883         (configure.ac): Remove AC_LIBOBJ of unlinkat.
9884         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
9885         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
9886         tests/test-rmdir.h, tests/test-unlink.h.
9887         (Depends-on): Remove unlinkdir.
9888         (Makefile.am): Remove rules for test-unlinkat.
9889         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
9890         of module 'openat'.
9891         * NEWS: Mention the change.
9892         * modules/linkat-tests (Depends-on): Add unlinkat.
9893         * modules/mkfifoat-tests (Depends-on): Likewise.
9894         * modules/readlinkat-tests (Depends-on): Likewise.
9895
9896 2011-11-02  Bruno Haible  <bruno@clisp.org>
9897
9898         New module 'fchmodat', split off from module 'openat'.
9899         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
9900         defined.
9901         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
9902         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
9903         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
9904         * modules/fchmodat: New file, extracted from modules/openat.
9905         * modules/openat (Files): Remove lib/fchmodat.c.
9906         (configure.ac): Remove AC_LIBOBJ of fchmodat.
9907         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
9908         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
9909         (Makefile.am): Remove rules for test-fchmodat.
9910         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
9911         of module 'openat'.
9912         * NEWS: Mention the change.
9913
9914 2011-11-02  Jim Meyering  <meyering@redhat.com>
9915
9916         putenv: indent #definition of "environ" to placate cppi
9917         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
9918
9919         gitlog-to-changelog: provide a ChangeLog-repair mechanism
9920         Git logs are often treated as immutable, because editing them
9921         changes the SHA1 checksums of all descendants.  Thus, errors in
9922         git logs tend to stay there forever.  However, when we generate
9923         a ChangeLog file -- typically for distribution -- from that git log,
9924         we can actually make corrections in the generated file.  The key
9925         lies in recording in machine-readable/applicable form the desired
9926         corrections.  See --help for description and an example.
9927         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
9928         (usage): Describe it; alphabetize option descriptions.
9929         (main): Honor the new option, carefully.
9930
9931 2011-11-01  Jim Meyering  <meyering@redhat.com>
9932
9933         gitlog-to-changelog: avoid an infloop
9934         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
9935         that ends up being empty.
9936
9937 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
9938
9939         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
9940         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
9941         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
9942         contains (possibly-quoted) backslashes.  This should avoid
9943         all-too-common shell bugs if COMPLICATED contains backslashes in
9944         the "wrong" places.  Reported by David Evans in
9945         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
9946         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
9947         because we want ASCII ranges.  Is there some reason we don't use
9948         the C locale everywhere in this script?
9949         (func_module, top level): Avoid unwanted pathname expansion when
9950         $repo_url_prefix or $repo_url_suffix_repl contain shell
9951         metacharacters like '?' and '*'.
9952
9953 2011-11-01  Bruno Haible  <bruno@clisp.org>
9954
9955         fchownat: Improve description.
9956         * modules/fchownat (Description): Add link to function.
9957
9958 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
9959
9960         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
9961         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
9962         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
9963         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
9964
9965 2011-11-01  Bruno Haible  <bruno@clisp.org>
9966
9967         alignof: Avoid collision with stdalign module.
9968         * lib/alignof.h (alignof): Remove macro.
9969         * NEWS: Mention the change.
9970         Reported by Paul Eggert.
9971
9972 2011-11-01  Bruno Haible  <bruno@clisp.org>
9973
9974         New module 'fchownat', split off from module 'openat'.
9975         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
9976         defined.
9977         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
9978         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
9979         invoke gl_FUNC_FCHOWNAT.
9980         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
9981         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
9982         * modules/fchownat: New file, extracted from modules/openat.
9983         * modules/openat (Files): Remove lib/fchownat.c.
9984         (Depends-on): Remove lchown.
9985         (configure.ac): Remove AC_LIBOBJ of fchownat.
9986         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
9987         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
9988         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
9989         (Depends-on): Remove mgetgroups, usleep, stat-time.
9990         (configure.ac): Remove test for getegid.
9991         (Makefile.am): Remove rules for test-fchownat.
9992         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
9993         of module 'openat'.
9994         * NEWS: Mention the change.
9995
9996 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
9997
9998         stdalign: port better to MSVC and to Sun C 5.11
9999         This fixes some of the problems reported by Bruno Haible in
10000         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
10001         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
10002         shortcomings of MSVC and of Sun C 5.11.
10003         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
10004         around __declspec arg.
10005         * modules/stdalign-tests (Files): Add tests/macros.h.
10006         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
10007         Include macros.h, for ASSERT.
10008         (DECLARE_ALIGNED): Remove.
10009         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
10010         to catch bug), and to 1 if not (simplifies the rest of the code).
10011         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
10012         (CHECK_AUTO): Remove.
10013         (CHECK_ALIGNED): Check only the alignment of the static vars,
10014         since auto var alignment isn't supported by Sun C 5.11.
10015         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
10016         ASSERT failures are easier to diagnose.
10017
10018 2011-10-31  Bruno Haible  <bruno@clisp.org>
10019
10020         doc about some IRIX 5.3 problems.
10021         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
10022         on IRIX 5.3.
10023         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
10024         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
10025         5.3.
10026         * doc/posix-functions/grantpt.texi: Likewise.
10027         * doc/posix-functions/unlockpt.texi: Likewise.
10028         * doc/posix-functions/lgamma.texi: Likewise.
10029         * doc/posix-functions/nextafter.texi: Likewise.
10030         * doc/posix-functions/remainder.texi: Likewise.
10031         * doc/posix-functions/select.texi: Mention misplaced declaration on
10032         IRIX 5.3.
10033         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10034
10035 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
10036
10037         gitlog-to-changelog: fix git-log invocation.
10038         git-log mishandles date strings before 1970-01-01 UTC, and there is
10039         no use to specify --since=1970-01-01 by default anyway.
10040         * build-aux/gitlog-to-changelog: By default, when no --since option
10041         was given, do not specify explicit --since option to git-log.
10042
10043 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
10044
10045         gitlog-to-changelog: new option --append-dot.
10046         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
10047         first non-blank line of each commit message terminated with a dot.
10048
10049 2011-10-30  Bruno Haible  <bruno@clisp.org>
10050
10051         ffsl, ffsll: Avoid compilation error due to 'restrict'.
10052         * lib/ffsl.h: Include <config.h>.
10053         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
10054
10055 2011-10-30  Jim Meyering  <meyering@redhat.com>
10056
10057         GNUmakefile: reenable "make syntax-check" for most projects
10058         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
10059         build-aux variable", "syntax-check" would do nothing but succeed with
10060         the "No version control files detected..." diagnostic (unless you
10061         happened to override _build-aux via cfg.mk).
10062         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
10063         to precede inclusion of maint.mk.  Otherwise, these variables would
10064         be used undefined in any project that does not override the default.
10065
10066 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
10067
10068         gitlog-to-changelog: treat a message with only blank lines as empty.
10069         * build-aux/gitlog-to-changelog: Move the code that removes leading and
10070         trailing blank lines before the code that issues a warning about an
10071         empty commit message.
10072
10073 2011-10-30  Jim Meyering  <meyering@redhat.com>
10074
10075         test-parse-datetime.c: avoid new DST-related false positive test failure
10076         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
10077         based on the time/date we'll convert, not the current time.
10078         Otherwise, the moment we cross a DST boundary like today's in
10079         Europe, (CEST to CET), that offset ends up being one hour off.
10080
10081 2011-10-27  Bruno Haible  <bruno@clisp.org>
10082
10083         fstat: Tweak documentation.
10084         * modules/fstat (Description): More precise description.
10085
10086 2011-10-27  Bruno Haible  <bruno@clisp.org>
10087
10088         Update documentation regarding 'largefile' module.
10089         * doc/posix-functions/fstat.texi: Tweak wording.
10090         * doc/posix-functions/opendir.texi: Mention that the module fixes the
10091         problems with huge directories and/or small ino_t types.
10092         * doc/posix-functions/readdir.texi: Likewise.
10093         * doc/posix-functions/rewinddir.texi: Likewise.
10094
10095 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
10096
10097         maint.mk: don't maintain a second build-aux variable.
10098         * maint.mk (build_aux): Removed.  The maintainer-makefile module
10099         depends on GNUmakefile, which already maintains a cfg.mk
10100         overridable $(_build-aux) for projects with a non-standard
10101         build-aux directory location, although without the $(srcdir)
10102         prefix.  Use that variable consistently instead of introducing a
10103         second one.  Adjust all call sites.
10104
10105 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
10106
10107         Add stdalign module and use it in other modules.
10108         This is based on a previous proposal by Bruno Haible
10109         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
10110
10111         stdalign: new module
10112         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
10113         * modules/stdalign: New files.
10114         * MODULES.html.sh (c1x_core_properties): Add stdalign.
10115         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
10116
10117         stdalign-tests: new module
10118         * modules/stdalign-tests, tests/test-stdalign.c: New files.
10119
10120         argp: use stdalign
10121         * lib/argp-parse.c: Include <stdalign.h>.
10122         (alignof): Remove.
10123         * modules/argp (Depends-on): Add stdalign.
10124
10125         crypto libraries: use stdalign
10126         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
10127         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
10128         Do not include <stdlib.h> twice, in md4.c.
10129         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
10130         because we are accessing a pointer's bit-pattern, not a size.
10131         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
10132         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
10133         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
10134         * modules/crypto/sha512: Likewise.
10135
10136         sys_socket: use stdalign, not alignof
10137         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
10138         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
10139
10140 2011-10-27  Bruno Haible  <bruno@clisp.org>
10141
10142         raise test: Avoid a test failure on Linux/MIPS.
10143         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
10144         because 99 is a valid signal on Linux/MIPS.
10145
10146 2011-10-27  Bruno Haible  <bruno@clisp.org>
10147
10148         nonblocking tests: Fix test failure on Linux/MIPS.
10149         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
10150         Set to 270000.
10151
10152 2011-10-27  Bruno Haible  <bruno@clisp.org>
10153
10154         utimensat: Work around problem on Linux/hppa.
10155         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
10156         values.
10157         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
10158
10159 2011-10-25  Jim Meyering  <meyering@redhat.com>
10160
10161         maint.mk: fix a bug in sc_prohibit_stddef_without_use
10162         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
10163         after symbols like NULL, size_t, etc.
10164         Reported by Alfred M. Szmidt.
10165
10166         maint.mk: exempt ENODATA from a syntax-check rule
10167         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
10168         from the sc_prohibit_always-defined_macros syntax-check rule.
10169         Add a comment.  See this for more details:
10170         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
10171
10172 2011-10-23  Jim Meyering  <meyering@redhat.com>
10173
10174         fts: close parent dir FD before returning from post-traversal fts_read
10175         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
10176         unlink A, even though an FD open on A remained.  This is suboptimal
10177         (holding a file descriptor open longer than needed), but otherwise not
10178         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
10179         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
10180         that represents a real problem: it causes the removal of A to fail
10181         with e.g., "rm: cannot remove `A': Device or resource busy"
10182
10183         fts visits each directory twice and keeps a cache (fts_fd_ring) of
10184         directory file descriptors.  After completing the final, FTS_DP,
10185         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
10186         cache, but then proceeded to add a new FD to it via the subsequent
10187         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
10188         final file descriptor would be closed only via fts_close's call to
10189         fd_ring_clear.  Now, it is usually closed earlier, via the final
10190         FTS_DP-returning fts_read call.
10191         * lib/fts.c (restore_initial_cwd): New function, converted from
10192         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
10193         Update callers.
10194         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
10195         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
10196
10197 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
10198             Bruno Haible  <bruno@clisp.org>
10199             Jim Meyering  <jim@meyering.net>
10200
10201         readme-release: improve safety of release prep instructions.
10202         * README-release: Don't git pull all branches when only master
10203         is needed for the release process.
10204         Run make maintainer-clean before changing trees and merging.
10205         Don't try to run ./configure right after git pull in case files
10206         that influence the bootstrap process have changed, move the
10207         ./configure step to after running ./bootstrap.
10208         Don't bootstrap "one last time"... it's the first time!
10209
10210 2011-10-22  Bruno Haible  <bruno@clisp.org>
10211
10212         errno, strerror-override: Support for MSVC 10.
10213         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
10214         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
10215         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
10216         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
10217         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
10218         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
10219         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
10220         Assign values compatible with MSVC 10.
10221         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
10222         New macros.
10223         (GNULIB_defined_EWINSOCK): New macro.
10224         * lib/strerror-override.c (strerror_override): Update accordingly.
10225         * lib/strerror-override.h: Likewise.
10226         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
10227         longer equal to the corresponding errno value.
10228         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
10229
10230 2011-10-22  Bruno Haible  <bruno@clisp.org>
10231
10232         perror: Recognize when test program crashes.
10233         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
10234         strerror, set gl_cv_func_perror_works to no.
10235         Reported by Daniel Richard G. <skunk@iskunk.org>.
10236
10237         perror: Fix indentation.
10238         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
10239
10240 2011-10-22  Bruno Haible  <bruno@clisp.org>
10241
10242         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
10243         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
10244         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
10245         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
10246         functions, not as a macro.
10247         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
10248         macros.
10249         (isfinite, isinf, isnan, signbit): Check overloaded functions and
10250         absence of macro.
10251         Suggested by Eric Blake.
10252         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
10253
10254 2011-10-21  Bruno Haible  <bruno@clisp.org>
10255
10256         relocatable-prog-wrapper: Don't leave object files behind.
10257         * build-aux/install-reloc: Re-synchronize list of .o files to be
10258         removed with list of compilation units.
10259
10260 2011-10-20  Bruno Haible  <bruno@clisp.org>
10261
10262         openpty, posix_openpt: Remove code duplication.
10263         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
10264         * lib/openpty.c: Include <stdlib.h>.
10265         (openpty): Use posix_openpt on all platforms except IRIX.
10266         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
10267
10268 2011-10-20  Bruno Haible  <bruno@clisp.org>
10269
10270         unlockpt: Detect invalid argument.
10271         * lib/unlockpt.c: Include <fcntl.h>.
10272         (unlockpt): Check whether fd is valid, using fcntl().
10273         * modules/unlockpt (Depends-on): Add fcntl-h.
10274
10275 2011-10-20  Bruno Haible  <bruno@clisp.org>
10276
10277         openpty: Avoid compilation error on AIX 6.1.
10278         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
10279
10280 2011-10-20  Bruno Haible  <bruno@clisp.org>
10281
10282         posix_openpt: Support for OpenBSD.
10283         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
10284         (posix_openpt) [OpenBSD]: New code.
10285         * lib/grantpt.c: Include <fcntl.h>.
10286         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
10287         * modules/grantpt (Depends-on): Add fcntl-h.
10288
10289 2011-10-20  Bruno Haible  <bruno@clisp.org>
10290
10291         posix_openpt test: Coding style.
10292         * tests/test-posix_openpt.c: Use GNU coding style.
10293
10294 2011-10-20  Bruno Haible  <bruno@clisp.org>
10295
10296         grantpt: Support --avoid=pt_chown.
10297         * modules/grantpt (Files): Add lib/pty-private.h.
10298
10299 2011-10-20  Bruno Haible  <bruno@clisp.org>
10300
10301         posix_openpt: Fix autoconf macro.
10302         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
10303         unneeded check for _getpty.
10304
10305 2011-10-20  Bruno Haible  <bruno@clisp.org>
10306
10307         openpty: Update comments.
10308         * lib/openpty.c: Add comments about Minix.
10309
10310 2011-10-19  Eric Blake  <eblake@redhat.com>
10311
10312         openpty: relax license
10313         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
10314
10315         pt_chown: use configmake to simplify build
10316         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
10317
10318         ptsname and others: relax license
10319         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
10320         * modules/unlockpt (License): Likewise.
10321         * modules/pt_chown (License): Likewise.
10322         * modules/ptsname (License): Likewise.
10323         * modules/ttyname_r (License): Likewise.
10324
10325 2011-10-19  Jim Meyering  <meyering@redhat.com>
10326
10327         posix_openpt: remove spurious #endif
10328         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
10329
10330 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
10331
10332         maint.mk: Respect $(build_aux) in web-manual rule.
10333         * top/maint.mk (web-manual): Find gen-announce script in user's
10334         $(build_aux) directory instead of hard-coding 'build-aux'.
10335
10336 2011-10-19  Bruno Haible  <bruno@clisp.org>
10337
10338         posix_openpt: Fix compilation error.
10339         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
10340         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
10341         Mention the openpty module as an alternative.
10342
10343 2011-10-19  Bruno Haible  <bruno@clisp.org>
10344
10345         Support for old NeXTstep 3.3 frexp().
10346         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
10347         execution time of the test to 5 seconds.
10348         Reported by Daniel Richard G. <skunk@iskunk.org>.
10349
10350 2011-10-19  Bruno Haible  <bruno@clisp.org>
10351
10352         Support for old NeXTstep 3.3 sed.
10353         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
10354         part, use /.../, not \|...|. Escape periods in the header file name.
10355         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
10356         Reported by Daniel Richard G. <skunk@iskunk.org>.
10357
10358 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
10359
10360         Support for old NeXTstep 3.3 gcc.
10361         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
10362         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
10363         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
10364         * lib/spawn.in.h (_Restrict_arr_): Likewise.
10365         * lib/regex.h (_Restrict_arr_): Likewise.
10366         * lib/regex_internal.h (re_token_t): Likewise.
10367         * lib/regexec.c (check_node_accept_bytes): Likewise.
10368         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
10369
10370 2011-10-18  Eric Blake  <eblake@redhat.com>
10371
10372         posix_openpt: new module
10373         * modules/posix_openpt: New module.
10374         * m4/posix_openpt.m4: New file.
10375         * lib/posix_openpt.c: Likewise.
10376         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
10377         (gl_STDLIB_H_DEFAULTS): Set defaults.
10378         * modules/stdlib (Makefile.am): Substitute macros.
10379         * lib/stdlib.in.h (posix_openpt): Declare.
10380         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
10381         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
10382         * modules/posix_openpt-tests: New test module.
10383         * tests/test-posix_openpt.c: New test.
10384
10385 2011-10-15  Bruno Haible  <bruno@clisp.org>
10386
10387         xstrtoll: Fix compilation failure.
10388         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
10389         from lib/strtol.c.
10390         * doc/posix-headers/limits.texi: Mention missing numerical limits on
10391         some platforms.
10392         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10393
10394 2011-10-15  Bruno Haible  <bruno@clisp.org>
10395
10396         vasnprintf: Optimize bit search operation.
10397         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
10398         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
10399         gl_DOUBLE_EXPONENT_LOCATION.
10400         * modules/vasnprintf (Files): Add m4/exponentd.m4.
10401         * modules/unistdio/u8-vasnprintf (Files): Likewise.
10402         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
10403         * modules/unistdio/u16-vasnprintf (Files): Likewise.
10404         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
10405         * modules/unistdio/u32-vasnprintf (Files): Likewise.
10406         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
10407         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
10408         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
10409
10410 2011-10-15  Bruno Haible  <bruno@clisp.org>
10411
10412         vasnprintf: Fix comments.
10413         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
10414
10415 2011-10-14  Bruno Haible  <bruno@clisp.org>
10416
10417         Tests for module 'integer_length_ll'.
10418         * modules/integer_length_ll-tests: New file.
10419         * tests/test-integer_length_ll.c: New file.
10420
10421         New module 'integer_length_ll'.
10422         * lib/integer_length_ll.c: New file.
10423         * modules/integer_length_ll: New file.
10424
10425 2011-10-14  Bruno Haible  <bruno@clisp.org>
10426
10427         Tests for module 'integer_length_l'.
10428         * modules/integer_length_l-tests: New file.
10429         * tests/test-integer_length_l.c: New file.
10430
10431         New module 'integer_length_l'.
10432         * lib/integer_length_l.c: New file.
10433         * modules/integer_length_l: New file.
10434
10435 2011-10-14  Bruno Haible  <bruno@clisp.org>
10436
10437         Tests for module 'integer_length'.
10438         * modules/integer_length-tests: New file.
10439         * tests/test-integer_length.c: New file.
10440
10441         New module 'integer_length'.
10442         * lib/integer_length.h: New file.
10443         * lib/integer_length.c: New file.
10444         * modules/integer_length: New file.
10445
10446 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
10447
10448         popen: Fix dependency conditions.
10449         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
10450
10451 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
10452
10453         perror: Fix autoconf test.
10454         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
10455         <stdlib.h> and <string.h>.
10456
10457 2011-10-14  Bruno Haible  <bruno@clisp.org>
10458
10459         ffsl: Optimize on 64-bit platforms.
10460         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
10461         unrolling.
10462
10463 2011-10-13  Bruno Haible  <bruno@clisp.org>
10464
10465         ffsl: Optimize on 32-bit platforms.
10466         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
10467         use ffs() without a loop.
10468
10469         ffsl, ffsll: Optimize for GCC.
10470         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
10471         * lib/ffsl.c (GCC_BUILTIN): New macro.
10472         * lib/ffsll.c (GCC_BUILTIN): Likewise.
10473
10474 2011-10-13  Bruno Haible  <bruno@clisp.org>
10475
10476         ffs, bcopy, memset: Support symbol renaming via config.h.
10477         * lib/ffs.c: Include <config.h>.
10478         * lib/bcopy.c: Likewise.
10479         * lib/memset.c: Likewise.
10480
10481 2011-10-10  Bruno Haible  <bruno@clisp.org>
10482
10483         atanl: Simplify for platforms where 'long double' == 'double'.
10484         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
10485         alternative implementation.
10486         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10487         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10488         * modules/atanl (Depends-on): Add atan. Update conditions.
10489
10490 2011-10-10  Bruno Haible  <bruno@clisp.org>
10491
10492         acosl: Simplify for platforms where 'long double' == 'double'.
10493         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
10494         alternative implementation.
10495         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10496         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10497         * modules/acosl (Depends-on): Add acos. Update conditions.
10498
10499 2011-10-10  Bruno Haible  <bruno@clisp.org>
10500
10501         asinl: Simplify for platforms where 'long double' == 'double'.
10502         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
10503         alternative implementation.
10504         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10505         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10506         * modules/asinl (Depends-on): Add asin. Update conditions.
10507
10508 2011-10-10  Bruno Haible  <bruno@clisp.org>
10509
10510         tanl: Simplify for platforms where 'long double' == 'double'.
10511         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
10512         implementation.
10513         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10514         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10515         * modules/tanl (Depends-on): Add tan. Update conditions.
10516         (configure.ac): Don't compile trigl.c if
10517         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10518
10519 2011-10-10  Bruno Haible  <bruno@clisp.org>
10520
10521         cosl: Simplify for platforms where 'long double' == 'double'.
10522         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
10523         implementation.
10524         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10525         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10526         * modules/cosl (Depends-on): Add cos. Update conditions.
10527         (configure.ac): Don't compile sincosl.c and trigl.c if
10528         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10529
10530 2011-10-10  Bruno Haible  <bruno@clisp.org>
10531
10532         sinl: Simplify for platforms where 'long double' == 'double'.
10533         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
10534         implementation.
10535         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10536         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10537         * modules/sinl (Depends-on): Add sin. Update conditions.
10538         (configure.ac): Don't compile sincosl.c and trigl.c if
10539         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10540
10541 2011-10-10  Bruno Haible  <bruno@clisp.org>
10542
10543         logl: Simplify for platforms where 'long double' == 'double'.
10544         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
10545         implementation.
10546         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10547         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10548         * modules/logl (Depends-on): Add log. Update conditions.
10549
10550 2011-10-10  Bruno Haible  <bruno@clisp.org>
10551
10552         expl: Simplify for platforms where 'long double' == 'double'.
10553         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
10554         implementation.
10555         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10556         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10557         * modules/expl (Depends-on): Add exp. Update conditions.
10558
10559 2011-10-10  Bruno Haible  <bruno@clisp.org>
10560
10561         sqrtl: Simplify for platforms where 'long double' == 'double'.
10562         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
10563         alternative implementation.
10564         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10565         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10566         * modules/sqrtl (Depends-on): Update conditions.
10567
10568 2011-10-10  Bruno Haible  <bruno@clisp.org>
10569
10570         ldexpl: Simplify for platforms where 'long double' == 'double'.
10571         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
10572         alternative implementation.
10573         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10574         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10575         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
10576
10577 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
10578
10579         ffsll: set correct witness
10580         * modules/ffsll (configure.ac): Fix typo.
10581
10582 2011-10-10  Bruno Haible  <bruno@clisp.org>
10583
10584         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
10585         * lib/printf-frexpl.c: Include <config.h>.
10586         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
10587         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
10588         second time.
10589         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
10590         gl_LONG_DOUBLE_VS_DOUBLE.
10591         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
10592         conditions.
10593
10594 2011-10-10  Bruno Haible  <bruno@clisp.org>
10595
10596         frexpl: Simplify for platforms where 'long double' == 'double'.
10597         * lib/frexpl.c: Include <config.h>.
10598         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
10599         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
10600         time.
10601         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10602         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10603         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
10604         * modules/frexpl (Depends-on): Add frexp. Update conditions.
10605         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
10606         conditions.
10607
10608 2011-10-10  Jim Meyering  <meyering@redhat.com>
10609
10610         test-renameat: don't leave behind a temporary file
10611         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
10612           ERROR: files left in build directory after distclean:
10613           ./gltests/test-renameat.too
10614           make[1]: *** [distcleancheck] Error 1
10615         Reported by Tom G. Christensen.
10616
10617 2011-10-09  Bruno Haible  <bruno@clisp.org>
10618
10619         rint: Determine RINT_LIBM correctly on AIX 7.
10620         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
10621         directly, not only through a function pointer. Also accept an optional
10622         4th argument with extra code.
10623         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
10624         rintf() call by gcc when optimizing.
10625
10626         mathfunc.m4: Refactor.
10627         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
10628         m4 variable.
10629
10630 2011-10-09  Bruno Haible  <bruno@clisp.org>
10631
10632         rintl: Simplify for platforms where 'long double' == 'double'.
10633         * lib/rintl.c: Include <config.h>.
10634         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
10635         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
10636         time.
10637         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10638         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10639         * modules/rintl (Depends-on): Add rint. Update conditions.
10640
10641 2011-10-09  Bruno Haible  <bruno@clisp.org>
10642
10643         roundl: Simplify for platforms where 'long double' == 'double'.
10644         * lib/roundl.c: Include <config.h>.
10645         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
10646         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
10647         time.
10648         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10649         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10650         * modules/roundl (Depends-on): Add round. Update conditions.
10651
10652 2011-10-09  Bruno Haible  <bruno@clisp.org>
10653
10654         truncl: Simplify for platforms where 'long double' == 'double'.
10655         * lib/truncl.c: Include <config.h>.
10656         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
10657         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
10658         time.
10659         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10660         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10661         * modules/truncl (Depends-on): Add trunc. Update conditions.
10662
10663 2011-10-09  Bruno Haible  <bruno@clisp.org>
10664
10665         ceill: Simplify for platforms where 'long double' == 'double'.
10666         * lib/ceill.c: Include <config.h>.
10667         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
10668         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
10669         time.
10670         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10671         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10672         * modules/ceill (Depends-on): Add ceil. Update conditions.
10673
10674 2011-10-09  Bruno Haible  <bruno@clisp.org>
10675
10676         floorl: Simplify for platforms where 'long double' == 'double'.
10677         * lib/floorl.c: Include <config.h>.
10678         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
10679         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
10680         time.
10681         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10682         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10683         * modules/floorl (Depends-on): Add floor. Update conditions.
10684
10685 2011-10-09  Bruno Haible  <bruno@clisp.org>
10686
10687         rint: Fix ordering constraints.
10688         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
10689         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
10690         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
10691
10692 2011-10-09  Bruno Haible  <bruno@clisp.org>
10693
10694         copysignl: Simplify for platforms where 'long double' == 'double'.
10695         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
10696         alternative.
10697         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10698         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10699         * modules/copysignl (Depends-on): Add copysign. Update conditions.
10700
10701 2011-10-09  Bruno Haible  <bruno@clisp.org>
10702
10703         Tests for module 'rintl'.
10704         * modules/rintl-tests: New file.
10705         * tests/test-rintl.c: New file.
10706
10707         New module 'rintl'.
10708         * lib/math.in.h (rintl): New declaration.
10709         * lib/rintl.c: New file.
10710         * m4/rintl.m4: New file.
10711         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
10712         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
10713         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
10714         * modules/rintl: New file.
10715         * tests/test-math-c++.cc: Check the declaration of rintl.
10716         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
10717         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
10718         * doc/posix-functions/rintl.texi: Mention the new module.
10719
10720 2011-10-09  Bruno Haible  <bruno@clisp.org>
10721
10722         Tests for module 'rintf'.
10723         * modules/rintf-tests: New file.
10724         * tests/test-rintf.c: New file.
10725
10726         New module 'rintf'.
10727         * lib/math.in.h (rintf): New declaration.
10728         * lib/rintf.c: New file.
10729         * m4/rintf.m4: New file.
10730         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
10731         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
10732         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
10733         * modules/rintf: New file.
10734         * tests/test-math-c++.cc: Check the declaration of rintf.
10735         * doc/posix-functions/rintf.texi: Mention the new module.
10736
10737 2011-10-09  Bruno Haible  <bruno@clisp.org>
10738
10739         rint: Support for MSVC.
10740         * lib/math.in.h (rint): New declaration.
10741         * lib/rint.c: New file.
10742         * m4/rint.m4: New file.
10743         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
10744         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
10745         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
10746         * modules/rint (Description): Fix.
10747         (Files): Add lib/rint.c, m4/rint.m4.
10748         (Depends-on): Add math.
10749         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
10750         gl_MATH_MODULE_INDICATOR.
10751         * tests/test-math-c++.cc: Check the declaration of rint.
10752         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
10753         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
10754         * doc/posix-functions/rint.texi: Mention the replacement provided by
10755         the module.
10756
10757         rint tests: More tests.
10758         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
10759         minus-zero.h, infinity.h, nan.h.
10760         (main): Skip the test if the current rounding mode is not standard. Add
10761         tests for negative numbers, minus zero, infinity, NaN.
10762         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
10763         tests/nan.h.
10764         (Depends-on): Add isnand-nolibm.
10765
10766 2011-10-09  Bruno Haible  <bruno@clisp.org>
10767
10768         Tests for module 'copysignl'.
10769         * modules/copysignl-tests: New file.
10770         * tests/test-copysignl.c: New file.
10771
10772         New module 'copysignl'.
10773         * lib/math.in.h (copysignl): New declaration.
10774         * lib/copysignl.c: New file.
10775         * m4/copysignl.m4: New file.
10776         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
10777         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
10778         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
10779         HAVE_COPYSIGNL.
10780         * modules/copysignl: New file.
10781         * tests/test-math-c++.cc: Check the declaration of copysignl.
10782         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
10783         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
10784         * doc/posix-functions/copysignl.texi: Mention the new module.
10785
10786 2011-10-09  Bruno Haible  <bruno@clisp.org>
10787
10788         Tests for module 'copysignf'.
10789         * modules/copysignf-tests: New file.
10790         * tests/test-copysignf.c: New file.
10791
10792         New module 'copysignf'.
10793         * lib/math.in.h (copysignf): New declaration.
10794         * lib/copysignf.c: New file.
10795         * m4/copysignf.m4: New file.
10796         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
10797         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
10798         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
10799         HAVE_COPYSIGNF.
10800         * modules/copysignf: New file.
10801         * tests/test-math-c++.cc: Check the declaration of copysignf.
10802         * doc/posix-functions/copysignf.texi: Mention the new module.
10803
10804 2011-10-09  Bruno Haible  <bruno@clisp.org>
10805
10806         Ensure that HAVE_* variables are set to 1 before they are set to 0.
10807         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
10808         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
10809         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
10810         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
10811         gl_SIGNAL_H_DEFAULTS.
10812
10813 2011-10-09  Bruno Haible  <bruno@clisp.org>
10814
10815         poll: Make macro safer.
10816         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
10817         ac_cv_header_poll_h is not set.
10818
10819 2011-10-09  Bruno Haible  <bruno@clisp.org>
10820
10821         copysign: Provide replacement.
10822         * lib/math.in.h (copysign): New declaration.
10823         * lib/copysign.c: New file.
10824         * m4/copysign.m4: New file.
10825         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
10826         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
10827         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
10828         HAVE_COPYSIGN.
10829         * modules/copysign (Description): Clarify.
10830         (Files): Add lib/copysign.c, m4/copysign.m4.
10831         (Depends-on): Add math, signbit.
10832         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
10833         gl_MATH_MODULE_INDICATOR.
10834         * tests/test-math-c++.cc: Check the declaration of copysign.
10835         * doc/posix-functions/copysign.texi: Mention the effects of the module
10836         on Minix and MSVC.
10837
10838 2011-10-09  Bruno Haible  <bruno@clisp.org>
10839
10840         isinf: Ensure macro on AIX 5.1.
10841         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
10842         macro.
10843         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
10844
10845 2011-10-09  Bruno Haible  <bruno@clisp.org>
10846
10847         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
10848         * modules/snprintf-posix-tests (configure.ac): Require
10849         gl_LONG_DOUBLE_VS_DOUBLE.
10850         * modules/sprintf-posix-tests (configure.ac): Likewise.
10851         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
10852         * modules/vasprintf-posix-tests (configure.ac): Likewise.
10853         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
10854         * modules/vsprintf-posix-tests (configure.ac): Likewise.
10855         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
10856         tests on platforms where 'long double' is the same as 'double'.
10857         * tests/test-sprintf-posix.h (test_function): Likewise.
10858         * tests/test-vasnprintf-posix.c (test_function): Likewise.
10859         * tests/test-vasprintf-posix.c (test_function): Likewise.
10860
10861         *printf: Fix for platforms where 'long double' == 'double'.
10862         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
10863         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
10864         * modules/dprintf-posix (Files): Add m4/math_h.m4.
10865         * modules/fprintf-posix (Files): Likewise.
10866         * modules/obstack-printf-posix (Files): Likewise.
10867         * modules/snprintf-posix (Files): Likewise.
10868         * modules/sprintf-posix (Files): Likewise.
10869         * modules/vasnprintf (Files): Likewise.
10870         * modules/vasnprintf-posix (Files): Likewise.
10871         * modules/vasprintf-posix (Files): Likewise.
10872         * modules/vdprintf-posix (Files): Likewise.
10873         * modules/vfprintf-posix (Files): Likewise.
10874         * modules/vsnprintf-posix (Files): Likewise.
10875         * modules/vsprintf-posix (Files): Likewise.
10876         * modules/unistdio/u8-vasnprintf (Files): Likewise.
10877         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
10878         * modules/unistdio/u16-vasnprintf (Files): Likewise.
10879         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
10880         * modules/unistdio/u32-vasnprintf (Files): Likewise.
10881         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
10882         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
10883
10884         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
10885         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
10886         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10887         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
10888         'long double'.
10889         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
10890
10891         isinf: Fix for platforms where 'long double' == 'double'.
10892         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
10893         Don't blindly assume 80-bit 'long double'.
10894
10895         isfinite: Fix for platforms where 'long double' == 'double'.
10896         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
10897         Don't blindly assume 80-bit 'long double'.
10898
10899         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
10900         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
10901         * modules/isfinite-tests (configure.ac): Require
10902         gl_LONG_DOUBLE_VS_DOUBLE.
10903         * modules/isinf-tests (configure.ac): Likewise.
10904         * modules/isnan-tests (configure.ac): Likewise.
10905         * modules/isnanl-tests (configure.ac): Likewise.
10906         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
10907         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
10908         tests on platforms where 'long double' is the same as 'double'.
10909         * tests/test-isinf.c (test_isinfl): Likewise.
10910         * tests/test-isnan.c (test_long_double): Likewise.
10911         * tests/test-isnanl.h (main): Likewise.
10912
10913 2011-10-08  Bruno Haible  <bruno@clisp.org>
10914
10915         Tests for module 'tanhf'.
10916         * modules/tanhf-tests: New file.
10917         * tests/test-tanhf.c: New file.
10918
10919         New module 'tanhf'.
10920         * lib/math.in.h (tanhf): New declaration.
10921         * lib/tanhf.c: New file.
10922         * m4/tanhf.m4: New file.
10923         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
10924         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
10925         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
10926         * modules/tanhf: New file.
10927         * tests/test-math-c++.cc: Check the declaration of tanhf.
10928         * doc/posix-functions/tanhf.texi: Mention the new module.
10929
10930         tanh: Use a .m4 file.
10931         * m4/tanh.m4: New file.
10932         * modules/tanh (Files): Add it.
10933         (configure.ac): Just invoke gl_FUNC_TANH.
10934
10935 2011-10-08  Bruno Haible  <bruno@clisp.org>
10936
10937         Tests for module 'coshf'.
10938         * modules/coshf-tests: New file.
10939         * tests/test-coshf.c: New file.
10940
10941         New module 'coshf'.
10942         * lib/math.in.h (coshf): New declaration.
10943         * lib/coshf.c: New file.
10944         * m4/coshf.m4: New file.
10945         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
10946         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
10947         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
10948         * modules/coshf: New file.
10949         * tests/test-math-c++.cc: Check the declaration of coshf.
10950         * doc/posix-functions/coshf.texi: Mention the new module.
10951
10952         cosh: Use a .m4 file.
10953         * m4/cosh.m4: New file.
10954         * modules/cosh (Files): Add it.
10955         (configure.ac): Just invoke gl_FUNC_COSH.
10956
10957 2011-10-08  Bruno Haible  <bruno@clisp.org>
10958
10959         Tests for module 'sinhf'.
10960         * modules/sinhf-tests: New file.
10961         * tests/test-sinhf.c: New file.
10962
10963         New module 'sinhf'.
10964         * lib/math.in.h (sinhf): New declaration.
10965         * lib/sinhf.c: New file.
10966         * m4/sinhf.m4: New file.
10967         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
10968         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
10969         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
10970         * modules/sinhf: New file.
10971         * tests/test-math-c++.cc: Check the declaration of sinhf.
10972         * doc/posix-functions/sinhf.texi: Mention the new module.
10973
10974         sinh: Use a .m4 file.
10975         * m4/sinh.m4: New file.
10976         * modules/sinh (Files): Add it.
10977         (configure.ac): Just invoke gl_FUNC_SINH.
10978
10979 2011-10-08  Bruno Haible  <bruno@clisp.org>
10980
10981         Tests for module 'atan2f'.
10982         * modules/atan2f-tests: New file.
10983         * tests/test-atan2f.c: New file.
10984
10985         New module 'atan2f'.
10986         * lib/math.in.h (atan2f): New declaration.
10987         * lib/atan2f.c: New file.
10988         * m4/atan2f.m4: New file.
10989         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
10990         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
10991         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
10992         * modules/atan2f: New file.
10993         * tests/test-math-c++.cc: Check the declaration of atan2f.
10994         * doc/posix-functions/atan2f.texi: Mention the new module.
10995
10996         atan2: Use a .m4 file.
10997         * m4/atan2.m4: New file.
10998         * modules/atan2 (Files): Add it.
10999         (configure.ac): Just invoke gl_FUNC_ATAN2.
11000
11001 2011-10-08  Bruno Haible  <bruno@clisp.org>
11002
11003         Tests for module 'atanf'.
11004         * modules/atanf-tests: New file.
11005         * tests/test-atanf.c: New file.
11006
11007         New module 'atanf'.
11008         * lib/math.in.h (atanf): New declaration.
11009         * lib/atanf.c: New file.
11010         * m4/atanf.m4: New file.
11011         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
11012         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
11013         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
11014         * modules/atanf: New file.
11015         * tests/test-math-c++.cc: Check the declaration of atanf.
11016         * doc/posix-functions/atanf.texi: Mention the new module.
11017
11018         atan: Use a .m4 file.
11019         * m4/atan.m4: New file.
11020         * modules/atan (Files): Add it.
11021         (configure.ac): Just invoke gl_FUNC_ATAN.
11022
11023 2011-10-08  Bruno Haible  <bruno@clisp.org>
11024
11025         Tests for module 'acosf'.
11026         * modules/acosf-tests: New file.
11027         * tests/test-acosf.c: New file.
11028
11029         New module 'acosf'.
11030         * lib/math.in.h (acosf): New declaration.
11031         * lib/acosf.c: New file.
11032         * m4/acosf.m4: New file.
11033         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
11034         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
11035         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
11036         * modules/acosf: New file.
11037         * tests/test-math-c++.cc: Check the declaration of acosf.
11038         * doc/posix-functions/acosf.texi: Mention the new module.
11039
11040         acos: Use a .m4 file.
11041         * m4/acos.m4: New file.
11042         * modules/acos (Files): Add it.
11043         (configure.ac): Just invoke gl_FUNC_ACOS.
11044
11045 2011-10-08  Bruno Haible  <bruno@clisp.org>
11046
11047         Tests for module 'asinf'.
11048         * modules/asinf-tests: New file.
11049         * tests/test-asinf.c: New file.
11050
11051         New module 'asinf'.
11052         * lib/math.in.h (asinf): New declaration.
11053         * lib/asinf.c: New file.
11054         * m4/asinf.m4: New file.
11055         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
11056         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
11057         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
11058         * modules/asinf: New file.
11059         * tests/test-math-c++.cc: Check the declaration of asinf.
11060         * doc/posix-functions/asinf.texi: Mention the new module.
11061
11062         asin: Use a .m4 file.
11063         * m4/asin.m4: New file.
11064         * modules/asin (Files): Add it.
11065         (configure.ac): Just invoke gl_FUNC_ASIN.
11066
11067 2011-10-08  Bruno Haible  <bruno@clisp.org>
11068
11069         Tests for module 'tanf'.
11070         * modules/tanf-tests: New file.
11071         * tests/test-tanf.c: New file.
11072
11073         New module 'tanf'.
11074         * lib/math.in.h (tanf): New declaration.
11075         * lib/tanf.c: New file.
11076         * m4/tanf.m4: New file.
11077         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
11078         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
11079         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
11080         * modules/tanf: New file.
11081         * tests/test-math-c++.cc: Check the declaration of tanf.
11082         * doc/posix-functions/tanf.texi: Mention the new module.
11083
11084         tan: Use a .m4 file.
11085         * m4/tan.m4: New file.
11086         * modules/tan (Files): Add it.
11087         (configure.ac): Just invoke gl_FUNC_TAN.
11088
11089 2011-10-08  Bruno Haible  <bruno@clisp.org>
11090
11091         Tests for module 'cosf'.
11092         * modules/cosf-tests: New file.
11093         * tests/test-cosf.c: New file.
11094
11095         New module 'cosf'.
11096         * lib/math.in.h (cosf): New declaration.
11097         * lib/cosf.c: New file.
11098         * m4/cosf.m4: New file.
11099         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
11100         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
11101         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
11102         * modules/cosf: New file.
11103         * tests/test-math-c++.cc: Check the declaration of cosf.
11104         * doc/posix-functions/cosf.texi: Mention the new module.
11105
11106         cos: Use a .m4 file.
11107         * m4/cos.m4: New file.
11108         * modules/cos (Files): Add it.
11109         (configure.ac): Just invoke gl_FUNC_COS.
11110
11111 2011-10-08  Bruno Haible  <bruno@clisp.org>
11112
11113         Tests for module 'sinf'.
11114         * modules/sinf-tests: New file.
11115         * tests/test-sinf.c: New file.
11116
11117         New module 'sinf'.
11118         * lib/math.in.h (sinf): New declaration.
11119         * lib/sinf.c: New file.
11120         * m4/sinf.m4: New file.
11121         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
11122         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
11123         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
11124         * modules/sinf: New file.
11125         * tests/test-math-c++.cc: Check the declaration of sinf.
11126         * doc/posix-functions/sinf.texi: Mention the new module.
11127
11128         sin: Use a .m4 file.
11129         * m4/sin.m4: New file.
11130         * modules/sin (Files): Add it.
11131         (configure.ac): Just invoke gl_FUNC_SIN.
11132
11133 2011-10-08  Bruno Haible  <bruno@clisp.org>
11134
11135         Tests for module 'powf'.
11136         * modules/powf-tests: New file.
11137         * tests/test-powf.c: New file.
11138
11139         New module 'powf'.
11140         * lib/math.in.h (powf): New declaration.
11141         * lib/powf.c: New file.
11142         * m4/powf.m4: New file.
11143         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
11144         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
11145         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
11146         * modules/powf: New file.
11147         * tests/test-math-c++.cc: Check the declaration of powf.
11148         * doc/posix-functions/powf.texi: Mention the new module.
11149
11150         pow: Use a .m4 file.
11151         * m4/pow.m4: New file.
11152         * modules/pow (Files): Add it.
11153         (configure.ac): Just invoke gl_FUNC_POW.
11154
11155 2011-10-08  Bruno Haible  <bruno@clisp.org>
11156
11157         Tests for module 'log10f'.
11158         * modules/log10f-tests: New file.
11159         * tests/test-log10f.c: New file.
11160
11161         New module 'log10f'.
11162         * lib/math.in.h (log10f): New declaration.
11163         * lib/log10f.c: New file.
11164         * m4/log10f.m4: New file.
11165         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
11166         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
11167         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
11168         * modules/log10f: New file.
11169         * tests/test-math-c++.cc: Check the declaration of log10f.
11170         * doc/posix-functions/log10f.texi: Mention the new module.
11171
11172         log10: Use a .m4 file.
11173         * m4/log10.m4: New file.
11174         * modules/log10 (Files): Add it.
11175         (configure.ac): Just invoke gl_FUNC_LOG10.
11176
11177 2011-10-08  Bruno Haible  <bruno@clisp.org>
11178
11179         Tests for module 'logf'.
11180         * modules/logf-tests: New file.
11181         * tests/test-logf.c: New file.
11182
11183         New module 'logf'.
11184         * lib/math.in.h (logf): New declaration.
11185         * lib/logf.c: New file.
11186         * m4/logf.m4: New file.
11187         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
11188         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
11189         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
11190         * modules/logf: New file.
11191         * tests/test-math-c++.cc: Check the declaration of logf.
11192         * doc/posix-functions/logf.texi: Mention the new module.
11193
11194         log: Use a .m4 file.
11195         * m4/log.m4: New file.
11196         * modules/log (Files): Add it.
11197         (configure.ac): Just invoke gl_FUNC_LOG.
11198
11199 2011-10-08  Bruno Haible  <bruno@clisp.org>
11200
11201         Tests for module 'expf'.
11202         * modules/expf-tests: New file.
11203         * tests/test-expf.c: New file.
11204
11205         New module 'expf'.
11206         * lib/math.in.h (expf): New declaration.
11207         * lib/expf.c: New file.
11208         * m4/expf.m4: New file.
11209         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
11210         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
11211         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
11212         * modules/expf: New file.
11213         * tests/test-math-c++.cc: Check the declaration of expf.
11214         * doc/posix-functions/expf.texi: Mention the new module.
11215
11216         exp: Use a .m4 file.
11217         * m4/exp.m4: New file.
11218         * modules/exp (Files): Add it.
11219         (configure.ac): Just invoke gl_FUNC_EXP.
11220
11221 2011-10-08  Bruno Haible  <bruno@clisp.org>
11222
11223         Tests for module 'sqrtf'.
11224         * modules/sqrtf-tests: New file.
11225         * tests/test-sqrtf.c: New file.
11226
11227         New module 'sqrtf'.
11228         * lib/math.in.h (sqrtf): New declaration.
11229         * lib/sqrtf.c: New file.
11230         * m4/sqrtf.m4: New file.
11231         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
11232         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
11233         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
11234         * modules/sqrtf: New file.
11235         * tests/test-math-c++.cc: Check the declaration of sqrtf.
11236         * doc/posix-functions/sqrtf.texi: Mention the new module.
11237
11238 2011-10-08  Bruno Haible  <bruno@clisp.org>
11239
11240         Tests: Avoid link failures w.r.t. libintl.
11241         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
11242         $(LIBINTL).
11243         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
11244         $(LIBINTL).
11245         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
11246         against $(LIBINTL).
11247         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
11248         $(LIBINTL).
11249         * modules/openat-tests (Makefile.am): Link test-fchmodat against
11250         $(LIBINTL).
11251         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
11252
11253 2011-10-08  Bruno Haible  <bruno@clisp.org>
11254
11255         pow tests: Defeat compiler optimizations.
11256         * tests/test-pow.c (main): Assign arguments to x and y before use.
11257
11258 2011-10-08  Bruno Haible  <bruno@clisp.org>
11259
11260         gnulib-tool: Improve last commit.
11261         * gnulib-tool (func_modules_transitive_closure): Simplify code.
11262         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
11263         ignore dependencies that are not among the modules list.
11264
11265 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
11266
11267         gnulib-tool: don't follow dependencies to avoided modules
11268         This fixes a bug that is related to the previous one.
11269         * gnulib-tool (func_modules_transitive_closure)
11270         (func_emit_autoconf_snippets):
11271         Check whether a dependency is acceptable before using it.
11272         (--extract-dependencies): Report an error if --avoid is also used,
11273         since this combination of options is not yet supported.
11274
11275         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
11276         Problem reported by Peter Dyballa in
11277         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
11278         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
11279         when echoing "$condition".
11280
11281 2011-10-07  Bruno Haible  <bruno@clisp.org>
11282
11283         Fix documentation about math functions on MacOS X.
11284         * doc/posix-functions/exp2.texi: Don't say the function is missing on
11285         MacOS X 10.5.
11286         * doc/posix-functions/fdim.texi: Likewise.
11287         * doc/posix-functions/feclearexcept.texi: Likewise.
11288         * doc/posix-functions/fegetenv.texi: Likewise.
11289         * doc/posix-functions/fegetround.texi: Likewise.
11290         * doc/posix-functions/feholdexcept.texi: Likewise.
11291         * doc/posix-functions/feraiseexcept.texi: Likewise.
11292         * doc/posix-functions/fesetenv.texi: Likewise.
11293         * doc/posix-functions/fesetround.texi: Likewise.
11294         * doc/posix-functions/fetestexcept.texi: Likewise.
11295         * doc/posix-functions/feupdateenv.texi: Likewise.
11296         * doc/posix-functions/fmax.texi: Likewise.
11297         * doc/posix-functions/fmin.texi: Likewise.
11298         * doc/posix-functions/log2.texi: Likewise.
11299         * doc/posix-functions/modff.texi: Likewise.
11300         * doc/posix-functions/nan.texi: Likewise.
11301         * doc/posix-functions/nanf.texi: Likewise.
11302         * doc/posix-functions/nextafterf.texi: Likewise.
11303         * doc/posix-functions/remquo.texi: Likewise.
11304
11305 2011-10-07  Bruno Haible  <bruno@clisp.org>
11306
11307         modff: Drop assumption about library that defines modff.
11308         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
11309         AC_CHECK_FUNCS.
11310         * modules/modff (Files): Add m4/mathfunc.m4.
11311
11312 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
11313
11314         raise tests: Avoid a GCC warning.
11315         * tests/test-raise.c (handler): Use _Noreturn.
11316
11317 2011-10-07  Bruno Haible  <bruno@clisp.org>
11318
11319         Tests for module 'ldexpf'.
11320         * modules/ldexpf-tests: New file.
11321         * tests/test-ldexpf.c: New file.
11322
11323         New module 'ldexpf'.
11324         * lib/math.in.h (ldexpf): New declaration.
11325         * lib/ldexpf.c: New file.
11326         * m4/ldexpf.m4: New file.
11327         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
11328         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
11329         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
11330         * modules/ldexpf: New file.
11331         * tests/test-math-c++.cc: Check the declaration of ldexpf.
11332         * doc/posix-functions/ldexpf.texi: Mention the new module.
11333
11334 2011-10-06  Bruno Haible  <bruno@clisp.org>
11335
11336         frexpf: Work around problems on IRIX and mingw.
11337         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
11338         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
11339         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
11340         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
11341         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
11342         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
11343         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
11344
11345 2011-10-06  Bruno Haible  <bruno@clisp.org>
11346
11347         fabsf: Drop assumption about library that defines fabsf.
11348         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
11349         AC_CHECK_FUNCS.
11350         * modules/fabsf (Files): Add m4/mathfunc.m4.
11351
11352 2011-10-06  Bruno Haible  <bruno@clisp.org>
11353
11354         frexpf: Drop assumption about library that defines frexpf.
11355         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
11356         'int *', 'float *', 'long double *', 'float', 'long double'.
11357         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
11358         AC_CHECK_FUNCS.
11359         * modules/frexpf (Files): Add m4/mathfunc.m4.
11360
11361         Tests for module 'frexpf'.
11362         * modules/frexpf-tests: New file.
11363         * tests/test-frexpf.c: New file.
11364
11365         New module 'frexpf'.
11366         * lib/math.in.h (frexpf): New declaration.
11367         * lib/frexpf.c: New file.
11368         * m4/frexpf.m4: New file.
11369         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
11370         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
11371         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
11372         * modules/frexpf: New file.
11373         * tests/test-math-c++.cc: Check the declaration of frexpf.
11374         * doc/posix-functions/frexpf.texi: Mention the new module.
11375
11376 2011-10-06  Bruno Haible  <bruno@clisp.org>
11377
11378         math: Sort function declarations of math.in.h.
11379         * lib/math.in.h (frexp, logb): Move declarations.
11380
11381 2011-10-05  Bruno Haible  <bruno@clisp.org>
11382
11383         Tests for module 'modff'.
11384         * modules/modff-tests: New file.
11385         * tests/test-modff.c: New file.
11386
11387         New module 'modff'.
11388         * lib/math.in.h (modff): New declaration.
11389         * lib/modff.c: New file.
11390         * m4/modff.m4: New file.
11391         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
11392         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
11393         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
11394         * modules/modff: New file.
11395         * tests/test-math-c++.cc: Check the declaration of modff.
11396         * doc/posix-functions/modff.texi: Mention the new module.
11397
11398         modf tests: Make test sharper.
11399         * tests/test-modf.c (main): Strengthen upper bound.
11400
11401         modf: Use a .m4 file.
11402         * m4/modf.m4: New file.
11403         * modules/modf (Files): Add it.
11404         (configure.ac): Just invoke gl_FUNC_MODF.
11405
11406 2011-10-05  Bruno Haible  <bruno@clisp.org>
11407
11408         Tests for module 'fmodf'.
11409         * modules/fmodf-tests: New file.
11410         * tests/test-fmodf.c: New file.
11411
11412         New module 'fmodf'.
11413         * lib/math.in.h (fmodf): New declaration.
11414         * lib/fmodf.c: New file.
11415         * m4/fmodf.m4: New file.
11416         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
11417         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
11418         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
11419         * modules/fmodf: New file.
11420         * tests/test-math-c++.cc: Check the declaration of fmodf.
11421         * doc/posix-functions/fmodf.texi: Mention the new module.
11422
11423         fmod: Use a .m4 file.
11424         * m4/fmod.m4: New file.
11425         * modules/fmod (Files): Add it.
11426         (configure.ac): Just invoke gl_FUNC_FMOD.
11427
11428 2011-10-05  Bruno Haible  <bruno@clisp.org>
11429
11430         Tests for module 'fabsf'.
11431         * modules/fabsf-tests: New file.
11432         * tests/test-fabsf.c: New file.
11433
11434         New module 'fabsf'.
11435         * lib/math.in.h (fabsf): New declaration.
11436         * lib/fabsf.c: New file.
11437         * m4/fabsf.m4: New file.
11438         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
11439         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
11440         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
11441         * modules/fabsf: New file.
11442         * tests/test-math-c++.cc: Check the declaration of fabsf.
11443         * doc/posix-functions/fabsf.texi: Mention the new module.
11444
11445         fabs: Use a .m4 file.
11446         * m4/fabs.m4: New file.
11447         * modules/fabs (Files): Add it.
11448         (configure.ac): Just invoke gl_FUNC_FABS.
11449
11450 2011-10-05  Jim Meyering  <meyering@redhat.com>
11451
11452         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
11453         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
11454         ls -lL regression introduced in coreutils-8.12, it does so at the
11455         cost of an additional stat call in the common case.  Besides, now
11456         that the kernel change that prompted commit 95f7c57f has been reverted
11457         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
11458         we have no use for commit 95f7c57f, "file-has-acl: use
11459         acl_extended_file_nofollow if available".
11460
11461 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
11462
11463         file-has-acl: revert unintended change in behavior of ls -L
11464         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
11465         derived from...
11466         (file_has_acl): ...code here.  Call it.
11467         This problem was introduced with 2011-07-22 commit 95f7c57f,
11468         "file-has-acl: use acl_extended_file_nofollow if available".
11469         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
11470
11471 2011-10-03  Bruno Haible  <bruno@clisp.org>
11472
11473         poll: Avoid link errors on MSVC.
11474         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
11475         * modules/poll (Depends-on): Add sockets.
11476         (Link): New section.
11477         * NEWS: Mention the change.
11478         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
11479         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
11480         $(LIB_POLL) instead of $(LIBSOCKET).
11481
11482 2011-10-03  Bruno Haible  <bruno@clisp.org>
11483
11484         sys_select tests: Fix link error on MSVC 9.
11485         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
11486         with $(LIB_SELECT) instead of $(LIBSOCKET).
11487
11488 2011-10-03  Bruno Haible  <bruno@clisp.org>
11489
11490         sys_select: Fix compilation error on mingw.
11491         * lib/sys_select.in.h: On native Windows, include <io.h>.
11492
11493 2011-10-03  Bruno Haible  <bruno@clisp.org>
11494
11495         wmemset: Support for MSVC.
11496         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
11497         whether wmemset() exists.
11498
11499 2011-10-03  Bruno Haible  <bruno@clisp.org>
11500
11501         wmemmove: Support for MSVC.
11502         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
11503         whether wmemmove() exists.
11504
11505 2011-10-03  Bruno Haible  <bruno@clisp.org>
11506
11507         wmemcpy: Support for MSVC.
11508         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
11509         whether wmemcpy() exists.
11510
11511 2011-10-03  Bruno Haible  <bruno@clisp.org>
11512
11513         wmemcmp: Support for MSVC.
11514         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
11515         whether wmemcmp() exists.
11516
11517 2011-10-03  Bruno Haible  <bruno@clisp.org>
11518
11519         wmemchr: Support for MSVC.
11520         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
11521         whether wmemchr() exists.
11522
11523 2011-10-03  Bruno Haible  <bruno@clisp.org>
11524
11525         glthread/*, strsignal: Support for MSVC.
11526         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
11527         including <winsock.h> on MSVC 9.
11528         * lib/glthread/lock.h: Likewise.
11529         * lib/glthread/thread.h: Likewise.
11530         * lib/glthread/tls.h: Likewise.
11531         * lib/glthread/yield.h: Likewise.
11532         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
11533         if HAVE_UNISTD_H is false.
11534         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
11535
11536 2011-10-03  Bruno Haible  <bruno@clisp.org>
11537
11538         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
11539         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
11540         Set to 100000.
11541
11542 2011-10-03  Bruno Haible  <bruno@clisp.org>
11543
11544         acl: Fix specification.
11545         * lib/file-has-acl.c (file_has_acl): Fix specification.
11546
11547 2011-10-03  Bruno Haible  <bruno@clisp.org>
11548
11549         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
11550         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
11551         (compute_curr_prefix, shared_library_fullname,
11552         find_shared_library_fullname, get_shared_library_fullname, relocate):
11553         Use it together with PIC && INSTALLDIR.
11554         Reported by <jojelino@gmail.com>
11555         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
11556
11557 2011-10-01  Jim Meyering  <meyering@redhat.com>
11558
11559         maint.mk: adjust a release-related rule not to require use of gzip
11560         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
11561         Instead, check each file in $(DIST_ARCHIVES).  This is better for
11562         projects that build only .tar.xz files.  Also fix an erroneous test.
11563
11564         test-linkat: don't leave behind a temporary file
11565         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
11566         Otherwise, coreutils' "make distcheck" would fail with this:
11567           Only in /c/cu/tests/torture/coreutils/test/\
11568             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
11569           make[2]: *** [my-distcheck] Error 1
11570
11571         float, math: add omitted file
11572         * lib/itold.c: Add file, required for yesterday's float change.
11573
11574 2011-10-01  Bruno Haible  <bruno@clisp.org>
11575
11576         isinf: Fix for OpenBSD/x86.
11577         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
11578         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
11579         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
11580
11581 2011-10-01  Bruno Haible  <bruno@clisp.org>
11582
11583         isfinite: Fix syntax error in configure test.
11584         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
11585
11586         isfinite: Fix typo.
11587         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
11588         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
11589
11590 2011-10-01  Bruno Haible  <bruno@clisp.org>
11591
11592         nonblocking tests: Fix test failure on Linux/IA-64.
11593         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
11594         Set to 270000.
11595
11596 2011-10-01  Bruno Haible  <bruno@clisp.org>
11597
11598         mkfifoat tests: Fix a test failure on mingw.
11599         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
11600         with error ENOSYS.
11601
11602 2011-09-30  Bruno Haible  <bruno@clisp.org>
11603
11604         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
11605         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
11606         'long double'. Set REPLACE_ITOLD.
11607         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
11608         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
11609         * lib/itold.c: New file.
11610         * modules/float (Files): Add lib/itold.c.
11611         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
11612         (Makefile.am): Substitute REPLACE_ITOLD.
11613         * modules/math (Depends-on): Add float.
11614         (Makefile.am): Substitute REPLACE_ITOLD.
11615         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
11616         * doc/posix-headers/math.texi: Likewise.
11617         * doc/posix-functions/logl.texi: Likewise.
11618
11619 2011-09-30  Bruno Haible  <bruno@clisp.org>
11620
11621         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
11622         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
11623         Set to 140000.
11624
11625 2011-09-30  Bruno Haible  <bruno@clisp.org>
11626
11627         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
11628         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
11629         invocation, say "right after AC_PROG_CC_STDC", not "right after
11630         AC_PROG_CC".
11631         Reported by Gary V. Vaughan <gary@gnu.org>.
11632
11633 2011-09-30  Bruno Haible  <bruno@clisp.org>
11634
11635         Centralize C99 requirement.
11636         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
11637         * modules/stdarg (configure.ac-early): Invoke it instead of
11638         AC_PROG_CC_STDC.
11639         Reported by Gary V. Vaughan and Paul Eggert.
11640
11641 2011-09-29  Bruno Haible  <bruno@clisp.org>
11642
11643         float: Fix LDBL_MAX value on Linux/PowerPC.
11644         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
11645         on Linux/PowerPC.
11646         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
11647         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
11648         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
11649         platform.
11650         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
11651
11652 2011-09-29  Bruno Haible  <bruno@clisp.org>
11653
11654         doc: Improve doc about gl_EARLY.
11655         * doc/gnulib-tool.texi (Initial import): Mention where to place an
11656         AC_PROG_CC_STDC invocation.
11657         Reported by Gary V. Vaughan <gary@gnu.org>.
11658
11659 2011-09-28  Bruno Haible  <bruno@clisp.org>
11660
11661         fgetc, fputc, fread, fwrite tests: Fix link error.
11662         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
11663         on non-MSVC platforms.
11664         * tests/test-fputc.c (main): Likewise.
11665         * tests/test-fread.c (main): Likewise.
11666         * tests/test-fwrite.c (main): Likewise.
11667         Reported by Jim Meyering.
11668
11669 2011-09-27  Bruno Haible  <bruno@clisp.org>
11670
11671         fputc, fwrite tests: Avoid test failure on MSVC.
11672         * tests/test-fgetc.c: Include msvc-inval.h.
11673         (main): Invoke gl_msvc_inval_ensure_handler.
11674         * tests/test-fputc.c: Include msvc-inval.h.
11675         (main): Invoke gl_msvc_inval_ensure_handler.
11676         * tests/test-fread.c: Include msvc-inval.h.
11677         (main): Invoke gl_msvc_inval_ensure_handler.
11678         * tests/test-fwrite.c: Include msvc-inval.h.
11679         (main): Invoke gl_msvc_inval_ensure_handler.
11680         * modules/fgetc-tests (Depends-on): Add msvc-inval.
11681         * modules/fputc-tests (Depends-on): Likewise.
11682         * modules/fread-tests (Depends-on): Likewise.
11683         * modules/fwrite-tests (Depends-on): Likewise.
11684
11685 2011-09-27  Bruno Haible  <bruno@clisp.org>
11686
11687         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
11688         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
11689         (raise): Remove older, duplicated declaration.
11690         (_gl_raise_SIGPIPE): New declaration.
11691         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
11692         (rpl_raise): Remove function.
11693         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
11694         a gnulib-defined SIGPIPE here.
11695         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
11696         'sigprocmask' has detected missing signal-blocking and the module
11697         'sigpipe' is enabled.
11698         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
11699
11700 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
11701
11702         base64-tests: avoid memory leak
11703         * tests/test-base64.c (main): Plug memory leak.
11704
11705         base32: new module
11706         * modules/base32: New module.
11707         * lib/base32.c: New file.
11708         * lib/base32.h: Likewise.
11709         * m4/base32.m4: Likewise.
11710         * modules/base32-tests: New test.
11711         * tests/test-base32.c: Likewise.
11712         * MODULES.html.sh (Misc): Mention it.
11713
11714 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
11715
11716         gnulib: use more-standard license notice wording
11717         * gnulib-tool (func_emit_copyright_notice): When emitting a
11718         license notice into a file, use the standard wording as suggested
11719         by the current information for GNU maintainers, except say "file"
11720         rather than "program".  The new wording gives a license version
11721         number, which addresses an issue raised by Glenn Morris in
11722         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
11723         * m4/onceonly.m4: Use that same wording here, too.
11724
11725         dup2: minor simplification
11726         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
11727         as lib/dup2.c no longer uses 'inline'.
11728
11729 2011-09-25  Bruno Haible  <bruno@clisp.org>
11730
11731         strings: Fix compilation error on MSVC.
11732         * lib/strings.in.h: Include <stddef.h> for size_t.
11733
11734 2011-09-25  Bruno Haible  <bruno@clisp.org>
11735
11736         fflush et al.: Document limitation on MSVC.
11737         * doc/posix-functions/fflush.texi: Document possible crash in handling
11738         mode other than DEFAULT_HANDLING.
11739         * doc/posix-functions/fgetc.texi: Likewise.
11740         * doc/posix-functions/fputc.texi: Likewise.
11741         * doc/posix-functions/fread.texi: Likewise.
11742         * doc/posix-functions/fwrite.texi: Likewise.
11743
11744 2011-09-25  Bruno Haible  <bruno@clisp.org>
11745
11746         msvc-inval: Allow three invalid parameter handling modes.
11747         * lib/msvc-inval.h: Don't include <stdlib.h> here.
11748         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
11749         macros.
11750         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
11751         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
11752         SANE_LIBRARY_HANDLING as a no-op.
11753         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
11754         <stdlib.h>.
11755         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
11756
11757 2011-09-25  Bruno Haible  <bruno@clisp.org>
11758
11759         msvc-inval: Make handler multithread-safe.
11760         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
11761         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
11762         declarations.
11763         (gl_msvc_inval_current): New declaration.
11764         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
11765         Operate on the structure returned by gl_msvc_inval_current().
11766         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
11767         Remove varaiables.
11768         (tls_index, tls_initialized): New variables.
11769         (not_per_thread): New variable.
11770         (gl_msvc_inval_current): New function.
11771         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
11772         returned by gl_msvc_inval_current().
11773
11774 2011-09-25  Bruno Haible  <bruno@clisp.org>
11775
11776         msvc-inval: Install handler globally.
11777         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
11778         !_MSC_VER.
11779         (gl_msvc_invalid_parameter_handler): Remove declaration.
11780         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
11781         declarations.
11782         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
11783         Install the handler globally, don't uninstall it.
11784         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
11785         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
11786         currently valid, call RaiseException instead.
11787         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
11788         for !_MSC_VER.
11789
11790 2011-09-25  Bruno Haible  <bruno@clisp.org>
11791
11792         strerror_r-posix: Fix for MSVC 9.
11793         * lib/strerror_r.c (local_snprintf): New function.
11794         (snprintf): Define to local_snprintf, not to _snprintf.
11795
11796 2011-09-25  Bruno Haible  <bruno@clisp.org>
11797
11798         ftruncate: Support for MSVC 9.
11799         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
11800         (chsize_nothrow): New function.
11801         (chsize): Redefine as a macro.
11802         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
11803         * modules/ftruncate (Depends-on): Add msvc-inval.
11804
11805 2011-09-25  Bruno Haible  <bruno@clisp.org>
11806
11807         New module 'fstat'.
11808         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
11809         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
11810         * lib/fchdir.c (rpl_fstat): Remove function.
11811         * m4/fstat.m4: New file.
11812         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
11813         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
11814         declared.
11815         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
11816         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
11817         * modules/fstat: New file.
11818         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
11819         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
11820         is set.
11821         * doc/posix-functions/fstat.texi: Mention the new module and the
11822         problem on MSVC.
11823         * NEWS: Mention the change.
11824         * modules/acl (Depends-on): Add fstat.
11825         * modules/chdir-safer (Depends-on): Likewise.
11826         * modules/chown (Depends-on): Likewise.
11827         * modules/copy-file (Depends-on): Likewise.
11828         * modules/fchdir (Depends-on): Likewise.
11829         * modules/fdopendir (Depends-on): Likewise.
11830         * modules/fopen (Depends-on): Likewise.
11831         * modules/fts (Depends-on): Likewise.
11832         * modules/getcwd (Depends-on): Likewise.
11833         * modules/isapipe (Depends-on): Likewise.
11834         * modules/linkat (Depends-on): Likewise.
11835         * modules/lseek (Depends-on): Likewise.
11836         * modules/mkdir-p (Depends-on): Likewise.
11837         * modules/open (Depends-on): Likewise.
11838         * modules/openat (Depends-on): Likewise.
11839         * modules/read-file (Depends-on): Likewise.
11840         * modules/renameat (Depends-on): Likewise.
11841         * modules/utimens (Depends-on): Likewise.
11842
11843 2011-09-25  Bruno Haible  <bruno@clisp.org>
11844
11845         linkat: Fix compilation on MSVC 9.
11846         * lib/linkat.c: Don't include <stdint.h>.
11847
11848 2011-09-25  Bruno Haible  <bruno@clisp.org>
11849
11850         fclose: Support for MSVC 9.
11851         * lib/fclose.c: Include msvc-inval.h.
11852         (fclose_nothrow): New function.
11853         (rpl_fclose): Use it.
11854         * modules/fclose (Depends-on): Add msvc-inval.
11855         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
11856
11857 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
11858
11859         dup2: minor simplifications
11860         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
11861         that it's a performance win.
11862         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
11863         ! defined __CYGWIN__)" to "ifdef F_GETFL".
11864
11865 2011-09-24  Jim Meyering  <meyering@redhat.com>
11866
11867         test-futimens: avoid a warning from gcc -Wshadow
11868         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
11869         to avoid a shadowing warning.
11870
11871 2011-09-24  Bruno Haible  <bruno@clisp.org>
11872
11873         fdopen: Support for MSVC 9.
11874         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
11875         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
11876         * lib/fdopen.c: Include msvc-inval.h.
11877         (fdopen_nothrow): New function.
11878         (rpl_fdopen): Use it.
11879         * modules/fdopen (Depends-on): Add msvc-inval.
11880         * modules/fclose-tests (Depends-on): Add fdopen.
11881         * modules/fflush-tests (Depends-on): Likewise.
11882         * modules/fgetc-tests (Depends-on): Likewise.
11883         * modules/fputc-tests (Depends-on): Likewise.
11884         * modules/fread-tests (Depends-on): Likewise.
11885         * modules/freopen-tests (Depends-on): Likewise.
11886         * modules/fseeko-tests (Depends-on): Likewise.
11887         * modules/ftello-tests (Depends-on): Likewise.
11888         * modules/fwrite-tests  (Depends-on): Likewise.
11889         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
11890
11891 2011-09-24  Bruno Haible  <bruno@clisp.org>
11892
11893         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
11894         * modules/fgetc-tests (Depends-on): Add unistd.
11895         * modules/fputc-tests (Depends-on): Likewise.
11896         * modules/fread-tests (Depends-on): Likewise.
11897         * modules/fwrite-tests (Depends-on): Likewise.
11898
11899 2011-09-24  Bruno Haible  <bruno@clisp.org>
11900
11901         dup: Simplify autoconf test.
11902         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
11903         on gl_MSVC_INVAL's result.
11904
11905 2011-09-24  Bruno Haible  <bruno@clisp.org>
11906
11907         Tests for function fwrite().
11908         * modules/fwrite-tests: New file.
11909         * tests/test-fwrite.c: New file.
11910         * modules/stdio-tests (Depends-on): Add fwrite-tests.
11911
11912         Tests for function fread().
11913         * modules/fread-tests: New file.
11914         * tests/test-fread.c: New file.
11915         * modules/stdio-tests (Depends-on): Add fread-tests.
11916
11917         Activate fputc tests.
11918         * modules/stdio-tests (Depends-on): Add fputc-tests.
11919
11920         Enhance fgetc, fputc tests.
11921         * tests/test-fgetc.c (main): Also test the stream's error indicator.
11922         * tests/test-fputc.c (main): Likewise.
11923
11924 2011-09-24  Bruno Haible  <bruno@clisp.org>
11925
11926         write: Support for MSVC 9.
11927         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
11928         is not 1.
11929         * lib/write.c (write_nothrow): New function.
11930         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
11931         not 1. Use write_nothrow.
11932         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
11933         invalid parameter handler.
11934         (gl_PREREQ_WRITE): New macro.
11935         * modules/write (Depends-on): Add msvc-inval.
11936         (configure.ac): Invoke gl_PREREQ_WRITE.
11937         * doc/posix-functions/write.texi: Mention the problem on MSVC.
11938
11939 2011-09-24  Bruno Haible  <bruno@clisp.org>
11940
11941         read: Fix last commit.
11942         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
11943
11944 2011-09-24  Bruno Haible  <bruno@clisp.org>
11945
11946         dup2: Fix last commit.
11947         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
11948         (rpl_dup2): Disable fcntl workaround on native Windows.
11949
11950         sigprocmask: Make code safer.
11951         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
11952         section that changes macro definitions for this compilation unit.
11953
11954 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
11955
11956         dup2: clarify by coalescing Windows-specific material
11957         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
11958         "msvc-nothrow.h"' to the Windows-specific section, so that the
11959         Emacs source need not contain these include files.
11960         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
11961         Windows-specific fixes into this function rather than just the
11962         nothrow fix, as this shortens and clarifies the code.  Always
11963         define as a function, as that's a bit cleaner than having it be
11964         sometimes a function and sometimes a macro.
11965         (rpl_dup2): Move the Windows-specific stuff out of here and into
11966         ms_windows_dup2.  Don't protect the Haiku-related fix with
11967         "#if !defined __linux__", as the same code also works around
11968         a Linux kernel bug, and it doesn't add any system calls on any
11969         platform.  Add comment about FreeBSD 6.1.
11970
11971         sigprocmask: move #include directive
11972         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
11973         Windows-specific section, so that the Emacs source need not
11974         contain msvc-inval.h.
11975
11976 2011-09-23  Bruno Haible  <bruno@clisp.org>
11977
11978         read: Support for MSVC 9.
11979         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
11980         is not 1.
11981         * lib/read.c (read_nothrow): New function.
11982         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
11983         read_nothrow.
11984         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
11985         invalid parameter handler.
11986         (gl_PREREQ_READ): New macro.
11987         * modules/read (Depends-on): Add msvc-inval.
11988         (configure.ac): Invoke gl_PREREQ_READ.
11989         * doc/posix-functions/read.texi: Mention the problem on MSVC.
11990
11991 2011-09-23  Bruno Haible  <bruno@clisp.org>
11992
11993         close: Support for MSVC 9.
11994         * lib/close.c: Include <errno.h>, msvc-inval.h.
11995         (close_nothrow): New function.
11996         (rpl_close): Use it.
11997         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
11998         invalid parameter handler.
11999         * modules/close (Depends-on): Add msvc-inval.
12000         * modules/dup2-tests (Depends-on): Add close.
12001         * modules/dup3-tests (Depends-on): Likewise.
12002         * modules/fcntl-tests (Depends-on): Likewise.
12003         * modules/spawn-pipe-tests (Depends-on): Likewise.
12004         * modules/unistd-safer-tests (Depends-on): Likewise.
12005         * doc/posix-functions/close.texi: Mention the problem on MSVC.
12006
12007 2011-09-23  Bruno Haible  <bruno@clisp.org>
12008
12009         New module 'dup'.
12010         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
12011         Allow replacement.
12012         * lib/dup.c: New file.
12013         * lib/fchdir.c (rpl_dup): Remove function.
12014         * m4/dup.m4: New file.
12015         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
12016         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
12017         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
12018         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
12019         * modules/dup: New file.
12020         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
12021         'dup' module is in use.
12022         * modules/fdopendir (Depends-on): Add dup.
12023         * modules/fdutimensat-tests (Depends-on): Likewise.
12024         * modules/fts (Depends-on): Likewise.
12025         * modules/futimens-tests (Depends-on): Likewise.
12026         * modules/posix_spawnp-tests (Depends-on): Likewise.
12027         * modules/unistd-safer-tests (Depends-on): Likewise.
12028         * modules/utimens-tests (Depends-on): Likewise.
12029         * doc/posix-functions/dup.texi: Mention the new module and the problem
12030         on MSVC.
12031
12032 2011-09-23  Bruno Haible  <bruno@clisp.org>
12033
12034         getdtablesize: Support for MSVC 9.
12035         * lib/getdtablesize.c: Include msvc-inval.h.
12036         (_setmaxstdio_nothrow): New function.
12037         (_setmaxstdio): Redefine it.
12038         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
12039         * modules/getdtablesize (Depends-on): Add msvc-inval.
12040         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
12041
12042 2011-09-23  Bruno Haible  <bruno@clisp.org>
12043
12044         signal-h: Rename from signal.
12045         * modules/signal-h: Renamed from modules/signal.
12046         * modules/pthread_sigmask (Depends-on): Update.
12047         * modules/raise (Depends-on): Likewise.
12048         * modules/sigaction (Depends-on): Likewise.
12049         * modules/sigpipe (Depends-on): Likewise.
12050         * modules/sigprocmask (Depends-on): Likewise.
12051         * modules/sys_select (Depends-on): Likewise.
12052         * modules/signal-h-tests: Renamed from modules/signal-tests.
12053         (Files, Depends-on, Makefile.am): Update.
12054         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
12055         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
12056         (Files, Makefile.am): Update.
12057         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
12058         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
12059         * modules/signal: New placeholder file.
12060         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
12061         * doc/posix-headers/signal.texi: Update.
12062         * NEWS: Mention the change.
12063
12064 2011-09-23  Bruno Haible  <bruno@clisp.org>
12065
12066         sigprocmask: Avoid crashes through signal() on MSVC 9.
12067         * lib/sigprocmask.c: Include msvc-inval.h.
12068         (signal_nothrow): New function.
12069         (signal): Redefine it.
12070         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
12071         * modules/sigprocmask (Depends-on): Add msvc-inval.
12072         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
12073
12074 2011-09-23  Bruno Haible  <bruno@clisp.org>
12075
12076         Tests for module 'raise'.
12077         * modules/raise-tests: New file.
12078         * tests/test-raise.c: New file.
12079
12080         raise: Support for MSVC.
12081         * lib/signal.in.h (raise): New declaration.
12082         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
12083         for native Windows platforms.
12084         * m4/raise.m4: New file.
12085         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
12086         HAVE_RAISE, REPLACE_RAISE.
12087         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
12088         REPLACE_RAISE.
12089         * modules/raise (Status, Notice): Remove fields.
12090         (Files): Add m4/raise.m4.
12091         (Depends-on): Add signal, msvc-inval.
12092         (configure.ac): Use the common idioms.
12093         (Maintainer): Add me.
12094         * tests/test-signal-c++.cc: Check the signature of raise.
12095         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
12096
12097 2011-09-23  Bruno Haible  <bruno@clisp.org>
12098
12099         pipe2: Fix compilation on pre-C99 compilers.
12100         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
12101
12102 2011-09-23  Bruno Haible  <bruno@clisp.org>
12103
12104         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
12105         * lib/msvc-nothrow.h: New file.
12106         * lib/msvc-nothrow.c: New file.
12107         * m4/msvc-nothrow.m4: New file.
12108         * modules/msvc-nothrow: New file.
12109         * lib/dup2.c: Include msvc-nothrow.h.
12110         (rpl_dup2): No need to protect _get_osfhandle call here.
12111         * lib/accept4.c: Include msvc-nothrow.h.
12112         * lib/error.c: Likewise.
12113         * lib/fcntl.c: Likewise.
12114         * lib/lseek.c: Likewise.
12115         * lib/nonblocking.c: Likewise.
12116         * lib/poll.c: Likewise.
12117         * lib/read.c: Likewise.
12118         * lib/select.c: Likewise.
12119         * lib/sockets.h: Likewise.
12120         * lib/sockets.c: Likewise.
12121         * lib/stdio-read.c: Likewise.
12122         * lib/stdio-write.c: Likewise.
12123         * lib/write.c: Likewise.
12124         * lib/w32sock.h: Likewise.
12125         * lib/w32spawn.h: Likewise.
12126         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
12127         * lib/fsync.c: Likewise.
12128         * lib/isapipe.c: Likewise.
12129         * modules/dup2 (Depends-on): Add msvc-nothrow.
12130         * modules/accept4 (Depends-on): Likewise.
12131         * modules/error (Depends-on): Likewise.
12132         * modules/fcntl (Depends-on): Likewise.
12133         * modules/lseek (Depends-on): Likewise.
12134         * modules/nonblocking (Depends-on): Likewise.
12135         * modules/poll (Depends-on): Likewise.
12136         * modules/read (Depends-on): Likewise.
12137         * modules/select (Depends-on): Likewise.
12138         * modules/sockets (Depends-on): Likewise.
12139         * modules/sigpipe (Depends-on): Likewise.
12140         * modules/write (Depends-on): Likewise.
12141         * modules/accept (Depends-on): Likewise.
12142         * modules/bind (Depends-on): Likewise.
12143         * modules/connect (Depends-on): Likewise.
12144         * modules/gethostname (Depends-on): Likewise.
12145         * modules/getpeername (Depends-on): Likewise.
12146         * modules/getsockname (Depends-on): Likewise.
12147         * modules/getsockopt (Depends-on): Likewise.
12148         * modules/ioctl (Depends-on): Likewise.
12149         * modules/listen (Depends-on): Likewise.
12150         * modules/recv (Depends-on): Likewise.
12151         * modules/recvfrom (Depends-on): Likewise.
12152         * modules/send (Depends-on): Likewise.
12153         * modules/sendto (Depends-on): Likewise.
12154         * modules/setsockopt (Depends-on): Likewise.
12155         * modules/shutdown (Depends-on): Likewise.
12156         * modules/socket (Depends-on): Likewise.
12157         * modules/execute (Depends-on): Likewise.
12158         * modules/spawn-pipe (Depends-on): Likewise.
12159         * modules/flock (Depends-on): Likewise.
12160         * modules/fsync (Depends-on): Likewise.
12161         * modules/isapipe (Depends-on): Likewise.
12162         * tests/test-cloexec.c: Include msvc-nothrow.h.
12163         * tests/test-dup-safer.c: Likewise.
12164         * tests/test-dup2.c: Likewise.
12165         * tests/test-dup3.c: Likewise.
12166         * tests/test-fcntl.c: Likewise.
12167         * tests/test-pipe.c: Likewise.
12168         * tests/test-pipe2.c: Likewise.
12169         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
12170         * modules/unistd-safer-tests (Depends-on): Likewise.
12171         * modules/dup2-tests (Depends-on): Likewise.
12172         * modules/dup3-tests (Depends-on): Likewise.
12173         * modules/fcntl-tests (Depends-on): Likewise.
12174         * modules/pipe-posix-tests (Depends-on): Likewise.
12175         * modules/pipe2-tests (Depends-on): Likewise.
12176
12177 2011-09-23  Bruno Haible  <bruno@clisp.org>
12178
12179         dup2: Make code more maintainable.
12180         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
12181         (rpl_dup2): Use it.
12182         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
12183         * modules/dup2 (configure.ac): Invoke it.
12184         Reported by Paul Eggert.
12185
12186 2011-09-23  Bruno Haible  <bruno@clisp.org>
12187
12188         msvc-inval: Fix compilation error.
12189         * lib/msvc-inval.h: Include <excpt.h>.
12190
12191 2011-09-23  Bruno Haible  <bruno@clisp.org>
12192
12193         mkdir: Tweak for MSVC 9.
12194         * lib/sys_stat.in.h: Update comments.
12195         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
12196
12197         Tests for module 'chdir'.
12198         * modules/chdir-tests: New file.
12199         * tests/test-chdir.c: New file.
12200
12201         New module 'chdir'.
12202         * modules/chdir: New file.
12203         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
12204         (chdir): New declaration.
12205         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
12206         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
12207         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
12208         * tests/test-unistd-c++.cc: Check signature of chdir.
12209         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
12210         * modules/chdir-long (Depends-on): Add chdir.
12211         * modules/fchdir (Depends-on): Likewise.
12212         * modules/rename (Depends-on): Likewise.
12213         * modules/savewd (Depends-on): Likewise.
12214
12215         rmdir: Support for mingw, MSVC 9.
12216         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
12217         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
12218
12219         getcwd: Tweak for MSVC 9.
12220         * lib/unistd.in.h: Update comments.
12221         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
12222
12223 2011-09-22  Bruno Haible  <bruno@clisp.org>
12224
12225         strerror_r-posix: Avoid a link error on MSVC.
12226         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
12227         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
12228
12229 2011-09-22  Bruno Haible  <bruno@clisp.org>
12230
12231         select: Avoid link errors on MSVC.
12232         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
12233         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
12234         * modules/pselect (Link): Likewise.
12235         * NEWS: Mention the change.
12236         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
12237         test-select-stdin against $(LIB_SELECT).
12238         * modules/pselect-tests (Makefile.am): Link test-pselect against
12239         $(LIB_SELECT).
12240
12241 2011-09-22  Bruno Haible  <bruno@clisp.org>
12242
12243         select: Avoid compilation error on MSVC.
12244         * lib/select.c: Don't include <stdbool.h>.
12245
12246 2011-09-21  Bruno Haible  <bruno@clisp.org>
12247
12248         Consolidate all uses of PATH_MAX in *.m4 files.
12249         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
12250         macros.
12251         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
12252         and gl_PATHMAX_SNIPPET.
12253         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
12254         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
12255         * modules/chdir-long (Files): Add m4/pathmax.m4.
12256         * modules/getcwd (Files): Likewise.
12257
12258 2011-09-21  Bruno Haible  <bruno@clisp.org>
12259
12260         ftruncate: Un-deprecate, concentrate on Win32 support.
12261         * modules/ftruncate (Status, Notice): Remove sections.
12262         (Depends-on): Add largefile.
12263         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
12264         non-mingw platforms.
12265         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
12266         include <io.h>.
12267         * modules/perror-tests (Depends-on): Add ftruncate.
12268         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
12269         'ftruncate' module.
12270
12271 2011-09-21  Bruno Haible  <bruno@clisp.org>
12272
12273         Add dependencies to new dirent related modules.
12274         * modules/opendir (Depends-on): Add closedir.
12275         * modules/getcwd (Depends-on): Add opendir, closedir.
12276         * modules/dirent-safer-tests (Depends-on): Likewise.
12277         * modules/fdopendir-tests (Depends-on): Likewise.
12278         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
12279         * modules/renameat-tests (Depends-on): Likewise.
12280
12281 2011-09-21  Bruno Haible  <bruno@clisp.org>
12282
12283         opendir: Avoid compilation error on mingw.
12284         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
12285         * modules/opendir (Depends-on): Add unistd.
12286
12287 2011-09-21  Bruno Haible  <bruno@clisp.org>
12288
12289         ftruncate tests: Avoid a test failure on mingw.
12290         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
12291
12292 2011-09-21  Bruno Haible  <bruno@clisp.org>
12293
12294         select tests: Avoid test failures on OSF/1 5.1 and mingw.
12295         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
12296         native Windows.
12297
12298 2011-09-21  Bruno Haible  <bruno@clisp.org>
12299
12300         New module 'fdopen'.
12301         * lib/stdio.in.h (fdopen): New declaration.
12302         * lib/fdopen.c: New file.
12303         * m4/fdopen.m4: New file.
12304         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
12305         REPLACE_FDOPEN.
12306         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
12307         REPLACE_FDOPEN.
12308         * modules/fdopen: New file.
12309         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
12310         * tests/test-stdio-c++.cc: Check signature of fdopen.
12311         * doc/posix-functions/fdopen.texi: Mention the new module.
12312
12313 2011-09-21  Bruno Haible  <bruno@clisp.org>
12314
12315         unlockpt tests: Avoid test failure on NetBSD 5.1.
12316         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
12317         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
12318
12319 2011-09-21  Bruno Haible  <bruno@clisp.org>
12320
12321         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
12322         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
12323         * tests/test-getlogin_r.c (main): Likewise.
12324
12325 2011-09-20  Bruno Haible  <bruno@clisp.org>
12326
12327         time tests: Don't require pid_t.
12328         * doc/posix-headers/time.texi: Revert last change.
12329         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
12330         * tests/test-time.c: Comment out the check for pid_t.
12331
12332 2011-09-20  Bruno Haible  <bruno@clisp.org>
12333
12334         fsync tests: Avoid a test failure on mingw.
12335         * tests/test-fsync.c (main): Allow a failure with EIO.
12336
12337 2011-09-20  Bruno Haible  <bruno@clisp.org>
12338
12339         euidaccess: Update comments.
12340         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
12341
12342 2011-09-20  Bruno Haible  <bruno@clisp.org>
12343
12344         Ensure EBADF returns for socket functions on mingw.
12345         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
12346         descriptor is invalid.
12347         * lib/bind.c (rpl_bind): Likewise.
12348         * lib/connect.c (rpl_connect): Likewise.
12349         * lib/getpeername.c (rpl_getpeername): Likewise.
12350         * lib/getsockname.c (rpl_getsockname): Likewise.
12351         * lib/getsockopt.c (rpl_getsockopt): Likewise.
12352         * lib/listen.c (rpl_listen): Likewise.
12353         * lib/recv.c (rpl_recv): Likewise.
12354         * lib/recvfrom.c (rpl_recvfrom): Likewise.
12355         * lib/send.c (rpl_send): Likewise.
12356         * lib/sendto.c (rpl_sendto): Likewise.
12357         * lib/setsockopt.c (rpl_setsockopt): Likewise.
12358         * lib/shutdown.c (rpl_shutdown): Likewise.
12359
12360 2011-09-20  Bruno Haible  <bruno@clisp.org>
12361
12362         select tests: EBADF tests.
12363         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
12364         test_bad_fd): New functions.
12365         (test_function): Invoke also test_bad_fd.
12366
12367 2011-09-20  Bruno Haible  <bruno@clisp.org>
12368
12369         Tests for module 'posix_spawn_file_actions_addopen.
12370         * modules/posix_spawn_file_actions_addopen-tests: New file.
12371         * tests/test-posix_spawn_file_actions_addopen.c: New file.
12372
12373         Tests for module 'posix_spawn_file_actions_adddup2'.
12374         * modules/posix_spawn_file_actions_adddup2-tests: New file.
12375         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
12376
12377         Tests for module 'posix_spawn_file_actions_addclose'.
12378         * modules/posix_spawn_file_actions_addclose-tests: New file.
12379         * tests/test-posix_spawn_file_actions_addclose.c: New file.
12380
12381 2011-09-20  Bruno Haible  <bruno@clisp.org>
12382
12383         Tests for module 'unlockpt'.
12384         * modules/unlockpt-tests: New file.
12385         * tests/test-unlockpt.c: New file.
12386         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
12387
12388         Tests for module 'grantpt'.
12389         * modules/grantpt-tests: New file.
12390         * tests/test-grantpt.c: New file.
12391         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
12392
12393 2011-09-20  Bruno Haible  <bruno@clisp.org>
12394
12395         freopen tests: EBADF tests.
12396         * tests/test-freopen.c: Include errno.h, unistd.h.
12397         (main): Add tests for EBADF, commented out for the moment.
12398
12399         fclose tests: EBADF tests.
12400         * tests/test-fclose.c (main): Add tests for EBADF.
12401
12402         fflush tests: EBADF tests.
12403         * tests/test-fflush.c: Include errno.h, macros.h.
12404         (main): Add tests for EBADF.
12405
12406         ftello tests: EBADF tests.
12407         * tests/test-ftello4.sh: New file.
12408         * tests/test-ftello4.c: New file.
12409         * modules/ftello-tests (Files): Add them.
12410         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
12411
12412         fseeko tests: EBADF tests.
12413         * tests/test-fseeko4.sh: New file.
12414         * tests/test-fseeko4.c: New file.
12415         * modules/fseeko-tests (Files): Add them.
12416         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
12417
12418         Tests for function fputc().
12419         * modules/fputc-tests: New file.
12420         * tests/test-fputc.c: New file.
12421         * modules/stdio-tests (Depends-on): Add fputc-tests.
12422
12423         Tests for function fgetc().
12424         * modules/fgetc-tests: New file.
12425         * tests/test-fgetc.c: New file.
12426         * modules/stdio-tests (Depends-on): Add fgetc-tests.
12427
12428         Tests for function fdopen().
12429         * modules/fdopen-tests: New file.
12430         * tests/test-fdopen.c: New file.
12431         * modules/stdio-tests (Depends-on): Add fdopen-tests.
12432
12433         Tests for module 'vdprintf'.
12434         * modules/vdprintf-tests: New file.
12435         * tests/test-vdprintf.c: New file.
12436
12437         Tests for module 'dprintf'.
12438         * modules/dprintf-tests: New file.
12439         * tests/test-dprintf.c: New file.
12440
12441 2011-09-20  Bruno Haible  <bruno@clisp.org>
12442
12443         Tests for module 'ioctl'.
12444         * modules/ioctl-tests: New file.
12445         * tests/test-ioctl.c: New file.
12446
12447 2011-09-20  Bruno Haible  <bruno@clisp.org>
12448
12449         fcntl tests: EBADF tests.
12450         * tests/test-fcntl.c (main): Add more tests for EBADF.
12451
12452 2011-09-20  Bruno Haible  <bruno@clisp.org>
12453
12454         utimensat tests: EBADF tests.
12455         * tests/test-utimensat.c (main): Add tests for EBADF.
12456
12457         renameat tests: EBADF tests.
12458         * tests/test-renameat.c (main): Add tests for EBADF.
12459
12460         mkfifoat tests: EBADF tests.
12461         * tests/test-mkfifoat.c (main): Add tests for EBADF.
12462
12463         readlinkat tests: EBADF tests.
12464         * tests/test-readlinkat.c (main): Add tests for EBADF.
12465
12466         symlinkat tests: EBADF tests.
12467         * tests/test-symlinkat.c (main): Add tests for EBADF.
12468
12469         linkat tests: EBADF tests.
12470         * tests/test-linkat.c (main): Add tests for EBADF.
12471
12472         Tests for module 'faccessat'.
12473         * modules/faccessat-tests: New file.
12474         * tests/test-faccessat.c: New file.
12475
12476         fdopendir tests: EBADF tests.
12477         * tests/test-fdopendir.c (main): Add more tests for EBADF.
12478
12479         openat tests: EBADF tests.
12480         * tests/test-fchownat.c (main): Add tests for EBADF.
12481         * tests/test-fstatat.c (main): Likewise.
12482         * tests/test-mkdirat.c (main): Likewise.
12483         * tests/test-openat.c (main): Likewise.
12484         * tests/test-unlinkat.c (main): Likewise.
12485         * tests/test-fchmodat.c: New file.
12486         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
12487         (Makefile.am): Also run 'test-fchmodat'.
12488
12489 2011-09-20  Bruno Haible  <bruno@clisp.org>
12490
12491         utimens, futimens, fdutimensat tests: EBADF tests.
12492         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
12493
12494         Tests for function fstat().
12495         * modules/fstat-tests: New file.
12496         * tests/test-fstat.c: New file.
12497         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
12498
12499 2011-09-20  Bruno Haible  <bruno@clisp.org>
12500
12501         test-ttyname_r tests: EBADF tests.
12502         * tests/test-ttyname_r.c (main): Add tests for EBADF.
12503
12504         Tests for module 'isatty'.
12505         * modules/isatty-tests: New file.
12506         * tests/test-isatty.c: New file.
12507
12508         Tests for module 'write'.
12509         * modules/write-tests: New file.
12510         * tests/test-write.c: New file.
12511
12512         Tests for module 'read'.
12513         * modules/read-tests: New file.
12514         * tests/test-read.c: New file.
12515
12516         pwrite tests: EBADF tests.
12517         * tests/test-pwrite.c (main): Add tests for EBADF.
12518
12519         pread tests: EBADF tests.
12520         * tests/test-pread.c (main): Add tests for EBADF.
12521
12522         lseek tests: EBADF tests.
12523         * tests/test-lseek.c (main): Add more tests for EBADF.
12524
12525         Tests for module 'ftruncate'.
12526         * modules/ftruncate-tests: New file.
12527         * tests/test-ftruncate.sh: New file.
12528         * tests/test-ftruncate.c: New file.
12529
12530         fsync tests: EBADF tests.
12531         * tests/test-fsync.c (main): Add more tests for EBADF.
12532
12533         fdatasync tests: EBADF tests.
12534         * tests/test-fdatasync.c (main): Add more tests for EBADF.
12535
12536         Tests for module 'fchown'.
12537         * modules/fchown-tests: New file.
12538         * tests/test-fchown.c: New file.
12539
12540         Tests for module 'fchmod'.
12541         * modules/fchmod-tests: New file.
12542         * tests/test-fchmod.c: New file.
12543
12544         fchdir tests: EBADF tests.
12545         * tests/test-fchdir.c (main): Add more tests for EBADF.
12546
12547         dup2 tests: EBADF tests.
12548         * tests/test-dup2.c (main): Add more tests for EBADF.
12549
12550         Tests for module 'dup'.
12551         * modules/dup-tests: New file.
12552         * tests/test-dup.c: New file.
12553
12554         Tests for module 'close'.
12555         * modules/close-tests: New file.
12556         * tests/test-close.c: New file.
12557
12558 2011-09-20  Bruno Haible  <bruno@clisp.org>
12559
12560         Tests for module 'shutdown'.
12561         * modules/shutdown-tests: New file.
12562         * tests/test-shutdown.c: New file.
12563
12564         Tests for module 'setsockopt'.
12565         * modules/setsockopt-tests: New file.
12566         * tests/test-setsockopt.c: New file.
12567
12568         Tests for module 'sendto'.
12569         * modules/sendto-tests: New file.
12570         * tests/test-sendto.c: New file.
12571
12572         Tests for module 'send'.
12573         * modules/send-tests: New file.
12574         * tests/test-send.c: New file.
12575
12576         Tests for module 'recvfrom'.
12577         * modules/recvfrom-tests: New file.
12578         * tests/test-recvfrom.c: New file.
12579
12580         Tests for module 'recv'.
12581         * modules/recv-tests: New file.
12582         * tests/test-recv.c: New file.
12583
12584         Tests for module 'listen'.
12585         * modules/listen-tests: New file.
12586         * tests/test-listen.c: New file.
12587
12588         Tests for module 'getsockopt'.
12589         * modules/getsockopt-tests: New file.
12590         * tests/test-getsockopt.c: New file.
12591
12592         Tests for module 'getsockname'.
12593         * modules/getsockname-tests: New file.
12594         * tests/test-getsockname.c: New file.
12595
12596         Tests for module 'getpeername'.
12597         * modules/getpeername-tests: New file.
12598         * tests/test-getpeername.c: New file.
12599
12600         Tests for module 'connect'.
12601         * modules/connect-tests: New file.
12602         * tests/test-connect.c: New file.
12603
12604         Tests for module 'bind'.
12605         * modules/bind-tests: New file.
12606         * tests/test-bind.c: New file.
12607
12608         accept4 tests: Fix for native Windows.
12609         * tests/test-accept4.c: Include sockets.h.
12610         (main): Invoke gl_sockets_startup.
12611         * modules/accept4-tests (Depends-on): Add sockets.
12612
12613         accept tests: Fix for native Windows.
12614         * tests/test-accept.c: Include sockets.h.
12615         (main): Invoke gl_sockets_startup.
12616         * modules/accept-tests (Depends-on): Add sockets.
12617
12618 2011-09-19  Bruno Haible  <bruno@clisp.org>
12619
12620         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
12621         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
12622         do...while(0).
12623         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
12624         Suggested by Paul Eggert.
12625
12626 2011-09-19  Bruno Haible  <bruno@clisp.org>
12627
12628         sched: Ensure pid_t is defined.
12629         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
12630         not define pid_t.
12631         * lib/sched.in.h: Include <sys/types.h>.
12632         * doc/posix-headers/sched.texi: Mention the pid_t problem.
12633         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12634
12635 2011-09-19  Bruno Haible  <bruno@clisp.org>
12636
12637         msvc-inval: Ensure the entire expansion is a single statement.
12638         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
12639         of braces.
12640
12641 2011-09-19  Jim Meyering  <meyering@redhat.com>
12642
12643         tests: use printf, not echo in init.sh's warn_ function
12644         * tests/init.sh (warn_): Use printf, not echo.  The latter would
12645         misbehave when given strings containing a backslash or starting
12646         with e.g., -n.  James Youngman suggested setting IFS.
12647
12648 2011-09-19  Eric Blake  <eblake@redhat.com>
12649
12650         futimens: enhance test
12651         * tests/test-futimens.h (test_futimens): Also check for EBADF on
12652         closed non-negative fd.
12653
12654         date: accept 'hence' as opposite of 'ago'
12655         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
12656         * tests/test-parse-datetime.c (main): Enhance test.
12657         Suggested by Jesse Wilson.
12658
12659 2011-09-19  Jim Meyering  <meyering@redhat.com>
12660
12661         getcwd: don't fail in a deep directory on a system without openat
12662         Before this change, getcwd would fail when called from a directory
12663         of depth PATH_MAX / 3 or greater.  That was due to the fact that
12664         the non-openat implementation used "..", "../..", "../../..", etc.
12665         to access ancestor directories.  With too many, that string would
12666         be longer than PATH_MAX.
12667         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
12668         using gnulib's openat replacement.
12669         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
12670         we're using the replacement function.
12671
12672 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
12673
12674         maint.mk: avoid warnings from perl about missing files
12675         * top/maint.mk (def_sym_regex): Ignore files listed in
12676         $(gl_other_headers_) that do not exist, say because a project
12677         does not use a corresponding module.
12678
12679 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
12680
12681         stat: use pathmax.h only if needed
12682         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
12683         This is better for Emacs, which does not have a mingw port and
12684         therefore can avoid the pathmax module.
12685
12686         utimens: remove dependency on dup2
12687         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
12688         to work around the Linux kernel bug.
12689         * modules/utimens (Depends-on): Remove dup2.
12690
12691 2011-09-18  Bruno Haible  <bruno@clisp.org>
12692
12693         inet_ntop, inet_pton: Look for it also in libresolv.
12694         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
12695         libnsl, search for it in libresolv.
12696         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
12697         Needed on Solaris 7.
12698
12699 2011-09-18  Bruno Haible  <bruno@clisp.org>
12700
12701         accept, accept4 tests: Avoid link error on Solaris.
12702         * modules/accept-tests (Makefile.am): Link test-accept against
12703         $(LIBSOCKET).
12704         * modules/accept4-tests (Makefile.am): Link test-accept4 against
12705         $(LIBSOCKET).
12706
12707         accept4: Avoid link error on Solaris.
12708         * modules/accept4 (Link): New section.
12709
12710         socket functions: Avoid link errors on Solaris.
12711         * modules/accept (Depends-on): Add socketlib.
12712         (Link): New section.
12713         * modules/bind (Depends-on): Add socketlib.
12714         (Link): New section.
12715         * modules/connect (Depends-on): Add socketlib.
12716         (Link): New section.
12717         * modules/getpeername (Depends-on): Add socketlib.
12718         (Link): New section.
12719         * modules/getsockname (Depends-on): Add socketlib.
12720         (Link): New section.
12721         * modules/getsockopt (Depends-on): Add socketlib.
12722         (Link): New section.
12723         * modules/listen (Depends-on): Add socketlib.
12724         (Link): New section.
12725         * modules/recv (Depends-on): Add socketlib.
12726         (Link): New section.
12727         * modules/recvfrom (Depends-on): Add socketlib.
12728         (Link): New section.
12729         * modules/send (Depends-on): Add socketlib.
12730         (Link): New section.
12731         * modules/sendto (Depends-on): Add socketlib.
12732         (Link): New section.
12733         * modules/setsockopt (Depends-on): Add socketlib.
12734         (Link): New section.
12735         * modules/shutdown (Depends-on): Add socketlib.
12736         (Link): New section.
12737         * modules/socket (Depends-on): Add socketlib.
12738         (Link): New section.
12739
12740 2011-09-18  Bruno Haible  <bruno@clisp.org>
12741
12742         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
12743         * tests/test-ptsname.c (main): Terminate the test if it takes longer
12744         than 5 seconds.
12745         * modules/ptsname-tests (configure.ac): Test for alarm.
12746
12747 2011-09-18  Bruno Haible  <bruno@clisp.org>
12748
12749         posix_spawn_file_actions_add*: Fix module dependencies.
12750         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
12751         posix_spawn_file_actions_init.
12752         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
12753         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
12754
12755 2011-09-18  Bruno Haible  <bruno@clisp.org>
12756
12757         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
12758         * tests/test-rename.h (test_rename): Allow error code EEXIST.
12759         * tests/test-renameat.c (main): Likewise.
12760
12761 2011-09-18  Bruno Haible  <bruno@clisp.org>
12762
12763         Tests for module 'accept4'.
12764         * modules/accept4-tests: New file.
12765         * tests/test-accept4.c: New file.
12766
12767 2011-09-18  Bruno Haible  <bruno@clisp.org>
12768
12769         Tests for module 'accept'.
12770         * modules/accept-tests: New file.
12771         * tests/test-accept.c: New file.
12772
12773 2011-09-18  Bruno Haible  <bruno@clisp.org>
12774
12775         dup2: Support for MSVC.
12776         * lib/dup2.c: Include msvc-inval.h.
12777         (rpl_dup2): Handle invalid parameter notifications during dup2 and
12778         _get_osfhandle calls.
12779         * modules/dup2 (Depends-on): Add msvc-inval.
12780         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
12781
12782         New module 'msvc-inval'.
12783         * lib/msvc-inval.h: New file.
12784         * lib/msvc-inval.c: New file.
12785         * m4/msvc-inval.m4: New file.
12786         * modules/msvc-inval: New file.
12787
12788 2011-09-17  Bruno Haible  <bruno@clisp.org>
12789
12790         Tests for module 'pclose'.
12791         * modules/pclose-tests: New file.
12792
12793         New module 'pclose'.
12794         * lib/stdio.in.h (pclose): New declaration.
12795         * lib/pclose.c: New file.
12796         * m4/pclose.m4: New file.
12797         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
12798         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
12799         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
12800         * modules/pclose: New file.
12801         * modules/popen-tests (Depends-on): Add pclose.
12802         * modules/popen-safer-tests (Depends-on): Likewise.
12803         * doc/posix-functions/pclose.texi: Mention the new module.
12804
12805 2011-09-17  Bruno Haible  <bruno@clisp.org>
12806
12807         popen: Support for MSVC.
12808         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
12809         * lib/popen.c (popen): Provide alternate definition for native Windows.
12810         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
12811         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
12812         * modules/popen (Depends-on, configure.ac): Update condition.
12813         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
12814         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
12815         fixed.
12816
12817 2011-09-17  Bruno Haible  <bruno@clisp.org>
12818
12819         isnanl, isnand, isnanf: Work around MSVC bug.
12820         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
12821
12822 2011-09-17  Bruno Haible  <bruno@clisp.org>
12823
12824         sys_socket tests: Fix recent mistake.
12825         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
12826
12827 2011-09-17  Bruno Haible  <bruno@clisp.org>
12828
12829         putenv: Support for MSVC.
12830         * modules/putenv (Depends-on): Add environ.
12831         * lib/putenv.c (environ): Disable declaration.
12832         * lib/unistd.in.h: Update comment.
12833
12834 2011-09-17  Bruno Haible  <bruno@clisp.org>
12835
12836         math: Avoid macro redefinition warnings on MSVC.
12837         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
12838         Undefine before redefining.
12839
12840 2011-09-17  Bruno Haible  <bruno@clisp.org>
12841
12842         doc: Mention functions which are declared as macros.
12843         * doc/posix-functions/*[fl].texi: Mention that some functions are
12844         defined as macros with arguments only.
12845
12846 2011-09-17  Bruno Haible  <bruno@clisp.org>
12847
12848         Add dependencies to new dirent related modules.
12849         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
12850         * modules/fts (Depends-on): Likewise.
12851         * modules/glob (Depends-on): Likewise.
12852         * modules/savedir (Depends-on): Likewise.
12853         * modules/scandir (Depends-on): Likewise.
12854         * modules/dirent-safer (Depends-on): Add opendir, closedir.
12855         * modules/fdopendir (Depends-on): Add opendir.
12856
12857 2011-09-17  Bruno Haible  <bruno@clisp.org>
12858
12859         inet_pton: Support for MSVC on Windows Vista or newer.
12860         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
12861         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
12862         HAVE_DECL_INET_PTON is defined.
12863         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
12864         On platforms with <winsock2.h>, test whether inet_pton is declared in
12865         <ws2tcpip.h>. If so, arrange to replace it.
12866         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
12867         REPLACE_INET_PTON.
12868         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
12869         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
12870         (Depends-on, configure.ac): Update condition.
12871         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
12872
12873 2011-09-17  Bruno Haible  <bruno@clisp.org>
12874
12875         inet_ntop: Support for MSVC on Windows Vista or newer.
12876         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
12877         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
12878         HAVE_DECL_INET_NTOP is defined.
12879         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
12880         On platforms with <winsock2.h>, test whether inet_ntop is declared in
12881         <ws2tcpip.h>. If so, arrange to replace it.
12882         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
12883         REPLACE_INET_NTOP.
12884         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
12885         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
12886         (Depends-on, configure.ac): Update condition.
12887         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
12888
12889 2011-09-16  Eric Blake  <eblake@redhat.com>
12890
12891         test-fsync: yet another enhancement
12892         * tests/test-fsync.c (main): Also test behavior on read-only text
12893         file.
12894
12895 2011-09-16  Bruno Haible  <bruno@clisp.org>
12896
12897         Enhance fsync, fdatasync tests.
12898         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
12899         * tests/test-fdatasync.c (main): Likewise.
12900
12901 2011-09-16  Bruno Haible  <bruno@clisp.org>
12902
12903         Support for MSVC compiler: Ensure mode_t gets defined.
12904         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
12905         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
12906         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
12907         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
12908         * tests/test-fcntl-h.c: Check that mode_t is defined.
12909         * tests/test-sys_stat.c: Likewise.
12910         * tests/test-sys_types.c: Likewise.
12911         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
12912         * doc/posix-headers/sys_stat.texi: Likewise.
12913         * doc/posix-headers/sys_types.texi: Likewise.
12914
12915 2011-09-16  Bruno Haible  <bruno@clisp.org>
12916
12917         sys_stat: Support for MSVC.
12918         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
12919         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
12920         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
12921         MSVC.
12922
12923 2011-09-16  Bruno Haible  <bruno@clisp.org>
12924
12925         Support for MSVC compiler: Ensure off_t gets defined.
12926         * lib/unistd.in.h: Include <sys/types.h>.
12927         * tests/test-fcntl-h.c: Check that off_t is defined.
12928         * tests/test-sys_stat.c: Likewise.
12929         * tests/test-sys_types.c: Likewise.
12930
12931 2011-09-16  Eric Blake  <eblake@redhat.com>
12932
12933         fdatasync: port to Solaris
12934         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
12935         * modules/fdatasync (Link): Document it.
12936         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
12937
12938         fdatasync: port to MacOS X 10.7
12939         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
12940         declared.
12941         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
12942         * modules/unistd (Makefile.am): Substitute it.
12943         * lib/unistd.in.h (fdatasync): Declare on MacOS.
12944         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
12945
12946         fdatasync: minor improvements
12947         * modules/fdatasync (Depends-on): Add condition for fsync.
12948         * lib/fdatasync.c (fdatasync): Add comment.
12949         * tests/test-unistd-c++.cc: Test fdatasync.
12950
12951         unistd: update refs to newer POSIX
12952         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
12953         Suggested by Bruno Haible.
12954
12955         fdatasync: new module
12956         * modules/fsync (Description): Document difference to fdatasync.
12957         * modules/fdatasync: New module.
12958         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
12959         * lib/fdatasync.c (fdatasync): Likewise.
12960         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
12961         defaults.
12962         * modules/unistd (Makefile.am): Set witnesses.
12963         * lib/unistd.in.h (fdatasync): Declare.
12964         * MODULES.html.sh: Document it.
12965         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
12966         * modules/fdatasync-tests: New test.
12967         * tests/test-fdatasync.c: Likewise.
12968
12969 2011-09-16  Eric Blake  <eblake@redhat.com>
12970
12971         test-fsync: enhance tests
12972         * modules/fsync-tests (Depends-on): Add errno, for mingw.
12973         * tests/test-fsync.c (main): Enhance test.
12974
12975 2011-09-15  Bruno Haible  <bruno@clisp.org>
12976
12977         Support for MSVC compiler: Ensure ssize_t gets defined.
12978         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
12979         * doc/posix-headers/stdio.texi: Likewise.
12980         * modules/stdio (Depends-on): Add ssize_t.
12981         * modules/sys_socket (Depends-on): Likewise.
12982         * modules/sys_types (Depends-on): Likewise.
12983         * modules/sys_uio (Depends-on): Likewise.
12984         * modules/unistd (Depends-on): Likewise.
12985         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
12986         * tests/test-sys_types.c: Check that ssize_t is defined.
12987
12988 2011-09-14  Bruno Haible  <bruno@clisp.org>
12989
12990         Avoid using #, the m4 comment starter character, near brackets.
12991         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
12992         delimiter character in sed expressions.
12993         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
12994         Suggested by Eric Blake.
12995
12996         Properly quote AC_CHECK_DECLS' 4th argument.
12997         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
12998         argument.
12999         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
13000         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
13001         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
13002         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
13003         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
13004         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
13005         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
13006         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
13007         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
13008         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
13009         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
13010         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
13011         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
13012         * m4/isinf.m4 (gl_ISINF): Likewise.
13013         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
13014         * m4/readutmp.m4 (gl_READUTMP): Likewise.
13015         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
13016         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
13017         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
13018         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
13019         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
13020         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
13021         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
13022         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
13023         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
13024         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
13025         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
13026         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
13027         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
13028         Reported by Eric Blake.
13029
13030         Properly quote AC_CHECK_DECL's 4th argument.
13031         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
13032         argument.
13033         * m4/argp.m4 (gl_ARGP): Likewise.
13034         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
13035         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
13036         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
13037         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
13038         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
13039         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
13040         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
13041         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
13042         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
13043         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
13044         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
13045         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
13046         Reported by Eric Blake.
13047
13048 2011-09-14  Eric Blake  <eblake@redhat.com>
13049
13050         opendir: avoid compile warning
13051         * lib/opendir.c (includes): Always include errno.h.
13052         Reported by Tatsuro MATSUOKA.
13053
13054 2011-09-14  Jim Meyering  <meyering@redhat.com>
13055
13056         maint.mk: sc_tight_scope: propagate failure from sub-make
13057         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
13058         Reported by Martin von Gagern.
13059
13060 2011-09-13  Bruno Haible  <bruno@clisp.org>
13061
13062         tempname: Support for MSVC.
13063         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
13064         MSVC.
13065         * modules/tempname (Depends-on): Add fcntl-h.
13066
13067 2011-09-13  Bruno Haible  <bruno@clisp.org>
13068
13069         sys_time: Support for MSVC.
13070         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
13071         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
13072         include <winsock2.h>.
13073         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
13074         function declarations that collide with POSIX.
13075         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
13076         (Makefile.am): Substitute HAVE_WINSOCK2_H.
13077
13078 2011-09-13  Bruno Haible  <bruno@clisp.org>
13079
13080         stat: Support for MSVC.
13081         * lib/stat.c: Include pathmax.h.
13082         * modules/stat (Depends-on): Add pathmax.
13083
13084         pathmax: Support for native Windows.
13085         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
13086
13087 2011-09-12  Bruno Haible  <bruno@clisp.org>
13088
13089         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
13090         * lib/dirent.in.h (struct dirent): New type.
13091         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
13092         DT_WHT): New macros.
13093         (DIR): New type.
13094         (opendir, closedir): Declare only if the module 'opendir' is enabled.
13095         (readdir, rewinddir): New declarations.
13096         * lib/dirent-private.h: New file.
13097         * lib/opendir.c: New file.
13098         * lib/readdir.c: New file.
13099         * lib/rewinddir.c: New file.
13100         * lib/closedir.c: New file.
13101         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
13102         * m4/opendir.m4: New file.
13103         * m4/readdir.m4: New file.
13104         * m4/rewinddir.m4: New file.
13105         * m4/closedir.m4: New file.
13106         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
13107         REPLACE_CLOSEDIR here.
13108         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
13109         readdir, rewinddir are declared.
13110         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
13111         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
13112         HAVE_REWINDDIR, HAVE_CLOSEDIR.
13113         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
13114         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
13115         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
13116         * modules/opendir: New file.
13117         * modules/readdir: New file.
13118         * modules/rewinddir: New file.
13119         * modules/closedir: New file.
13120         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
13121         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
13122         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
13123         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
13124         * NEWS: Mention the 'fchdir' change.
13125
13126 2011-09-11  Bruno Haible  <bruno@clisp.org>
13127
13128         asm-underscore.m4: Support for MSVC.
13129         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
13130         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
13131
13132 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
13133
13134         Doc about crypt functions.
13135         * doc/posix-functions/crypt.texi: Expand range of glibc versions
13136         needing for _GNU_SOURCE to get crypt.
13137         * doc/posix-functions/encrypt.texi: Likewise.
13138         * doc/posix-functions/setkey.texi: Likewise.
13139
13140 2011-09-11  Bruno Haible  <bruno@clisp.org>
13141
13142         doc: Update regarding MSVC 9.
13143         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
13144         tested".
13145         * doc/posix-functions/*.texi: Update with info about MSVC 9.
13146         * doc/posix-headers/*.texi: Likewise.
13147         * doc/pastposix-functions/*.texi: Likewise.
13148         * doc/glibc-functions/*.texi: Likewise.
13149         * doc/glibc-headers/*.texi: Likewise.
13150
13151 2011-09-11  Bruno Haible  <bruno@clisp.org>
13152
13153         unistd et al.: Don't assume <unistd.h> exists.
13154         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
13155         does not exist.
13156         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
13157         exist. But include <stdlib.h>.
13158         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
13159         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
13160         symlink() does not exist.
13161         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
13162         include <io.h> instead.
13163         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
13164         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
13165         include <direct.h> instead.
13166         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
13167         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
13168         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
13169         <io.h> instead.
13170         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
13171         correctly if the system does not have hard links.
13172         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
13173         <direct.h> instead.
13174         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
13175         it when looking for function declarations.
13176         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
13177         <direct.h> and <io.h> instead.
13178         * doc/posix-headers/unistd.texi: More details about MSVC problem.
13179
13180 2011-09-11  Bruno Haible  <bruno@clisp.org>
13181
13182         strcase: Support for MSVC.
13183         * modules/strcase (Status, Notice): Remove obsoletion mark.
13184         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
13185         * doc/posix-functions/strncasecmp.texi: Likewise.
13186
13187         strings: Don't assume <strings.h> exists.
13188         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
13189         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
13190         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
13191         * doc/posix-headers/strings.texi: Mention the MSVC problem.
13192
13193 2011-09-11  Bruno Haible  <bruno@clisp.org>
13194
13195         dirent: Don't assume <dirent.h> exists.
13196         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
13197         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
13198         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
13199         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
13200
13201 2011-09-11  Bruno Haible  <bruno@clisp.org>
13202
13203         Fix wint_t on MSVC.
13204         * lib/wchar.in.h (wint_t): On MSVC, override it.
13205         * lib/wctype.in.h (wint_t): Likewise.
13206         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
13207         MSVC.
13208         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
13209         * doc/posix-headers/wctype.texi: Likewise.
13210
13211 2011-09-11  Bruno Haible  <bruno@clisp.org>
13212
13213         sys_types: Fix typo.
13214         * lib/sys_types.in.h: Fix typo in comment.
13215         Reported by Paul Eggert.
13216
13217         Support for MSVC compiler: Ensure size_t gets defined.
13218         * modules/strings (Depends-on): Add 'sys_types'.
13219         * modules/sys_uio (Depends-on): Likewise.
13220         * lib/sys_uio.in.h: Update comment.
13221
13222         C++ tests for module 'sys_types'.
13223         * modules/sys_types-c++-tests: New file.
13224         * tests/test-sys_types-c++.cc: New file.
13225
13226         Tests for module 'sys_types'.
13227         * modules/sys_types-tests: New file.
13228         * tests/test-sys_types.c: New file.
13229
13230         New module 'sys_types'.
13231         * lib/sys_types.in.h: New file.
13232         * m4/sys_types_h.m4: New file.
13233         * modules/sys_types: New file.
13234         * doc/posix-headers/sys_types.texi: Mention the new module and the
13235         size_t problem on MSVC 9.
13236
13237 2011-09-11  Bruno Haible  <bruno@clisp.org>
13238
13239         Support for MSVC compiler: Avoid division by a literal 0.
13240         * lib/math.in.h (NAN): Define through a function call also on MSVC.
13241         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
13242         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
13243         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
13244         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
13245         * tests/infinity.h: New file.
13246         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
13247         on MSVC.
13248         * tests/test-ceilf1.c: Include infinity.h.
13249         (main): Use Infinityf.
13250         * tests/test-ceil1.c: Include infinity.h.
13251         (main): Use Infinityd.
13252         * tests/test-ceill.c: Include infinity.h.
13253         (main): Use Infinityl.
13254         * tests/test-dprintf-posix.c: Include infinity.h.
13255         (test_function): Use Infinityd.
13256         * tests/test-floorf1.c: Include infinity.h.
13257         (main): Use Infinityf.
13258         * tests/test-floor1.c: Include infinity.h.
13259         (main): Use Infinityd.
13260         * tests/test-floorl.c: Include infinity.h.
13261         (main): Use Infinityl.
13262         * tests/test-fprintf-posix.c: Include infinity.h.
13263         (test_function): Use Infinityd.
13264         * tests/test-frexp.c: Include infinity.h.
13265         (main): Use Infinityd.
13266         * tests/test-frexpl.c: Include infinity.h.
13267         (main): Use Infinityl.
13268         * tests/test-isfinite.c: Include infinity.h.
13269         (test_isfinitef): Use Infinityf.
13270         (test_isfinited): Use Infinityd.
13271         (test_isfinitel): Use Infinityl.
13272         * tests/test-isinf.c: Include infinity.h.
13273         (test_isinff): Use Infinityf.
13274         (test_isinfd): Use Infinityd.
13275         (test_isinfl): Use Infinityl.
13276         * tests/test-isnan.c: Include infinity.h.
13277         (test_float): Use Infinityf.
13278         (test_double): Use Infinityd.
13279         (test_long_double): Use Infinityl.
13280         * tests/test-isnanf.h: Include infinity.h.
13281         (main): Use Infinityf.
13282         * tests/test-isnand.h: Include infinity.h.
13283         (main): Use Infinityd.
13284         * tests/test-isnanl.h: Include infinity.h.
13285         (main): Use Infinityl.
13286         * tests/test-ldexpl.c: Include infinity.h.
13287         (main): Use Infinityl.
13288         * tests/test-printf-posix.h: Include infinity.h.
13289         (test_function): Use Infinityd.
13290         * tests/test-roundf1.c: Include infinity.h.
13291         (main): Use Infinityf.
13292         * tests/test-round1.c: Include infinity.h.
13293         (main): Use Infinityd.
13294         * tests/test-roundl.c: Include infinity.h.
13295         (main): Use Infinityl.
13296         * tests/test-signbit.c: Include infinity.h.
13297         (test_signbitf): Use Infinityf.
13298         (test_signbitd): Use Infinityd.
13299         (test_signbitl): Use Infinityl.
13300         * tests/test-snprintf-posix.h: Include infinity.h.
13301         (test_function): Use Infinityd, Infinityl.
13302         * tests/test-sprintf-posix.h: Include infinity.h.
13303         (test_function): Use Infinityd, Infinityl.
13304         * tests/test-truncf1.c: Include infinity.h.
13305         (main): Use Infinityf.
13306         * tests/test-trunc1.c: Include infinity.h.
13307         (main): Use Infinityd.
13308         * tests/test-truncl.c: Include infinity.h.
13309         (main): Use Infinityl.
13310         * tests/test-vasnprintf-posix.c: Include infinity.h.
13311         (test_function): Use Infinityd, Infinityl.
13312         * tests/test-vasprintf-posix.c: Include infinity.h.
13313         (test_function): Use Infinityd, Infinityl.
13314         * modules/ceilf-tests (Files): Add tests/infinity.h.
13315         * modules/ceil-tests (Files): Likewise.
13316         * modules/ceill-tests (Files): Likewise.
13317         * modules/dprintf-posix-tests (Files): Likewise.
13318         * modules/floorf-tests (Files): Likewise.
13319         * modules/floor-tests (Files): Likewise.
13320         * modules/floorl-tests (Files): Likewise.
13321         * modules/fprintf-posix-tests (Files): Likewise.
13322         * modules/frexp-tests (Files): Likewise.
13323         * modules/frexp-nolibm-tests (Files): Likewise.
13324         * modules/frexpl-tests (Files): Likewise.
13325         * modules/frexpl-nolibm-tests (Files): Likewise.
13326         * modules/isfinite-tests (Files): Likewise.
13327         * modules/isinf-tests (Files): Likewise.
13328         * modules/isnan-tests (Files): Likewise.
13329         * modules/isnanf-tests (Files): Likewise.
13330         * modules/isnanf-nolibm-tests (Files): Likewise.
13331         * modules/isnand-tests (Files): Likewise.
13332         * modules/isnand-nolibm-tests (Files): Likewise.
13333         * modules/isnanl-tests (Files): Likewise.
13334         * modules/isnanl-nolibm-tests (Files): Likewise.
13335         * modules/ldexpl-tests (Files): Likewise.
13336         * modules/printf-posix-tests (Files): Likewise.
13337         * modules/roundf-tests (Files): Likewise.
13338         * modules/round-tests (Files): Likewise.
13339         * modules/roundl-tests (Files): Likewise.
13340         * modules/signbit-tests (Files): Likewise.
13341         * modules/snprintf-posix-tests (Files): Likewise.
13342         * modules/sprintf-posix-tests (Files): Likewise.
13343         * modules/truncf-tests (Files): Likewise.
13344         * modules/trunc-tests (Files): Likewise.
13345         * modules/truncl-tests (Files): Likewise.
13346         * modules/vasnprintf-posix-tests (Files): Likewise.
13347         * modules/vasprintf-posix-tests (Files): Likewise.
13348         * modules/vdprintf-posix-tests (Files): Likewise.
13349         * modules/vfprintf-posix-tests (Files): Likewise.
13350         * modules/vprintf-posix-tests (Files): Likewise.
13351         * modules/vsnprintf-posix-tests (Files): Likewise.
13352         * modules/vsprintf-posix-tests (Files): Likewise.
13353         * modules/xprintf-posix-tests (Files): Likewise.
13354
13355 2011-09-11  Bruno Haible  <bruno@clisp.org>
13356
13357         Ensure pid_t gets defined.
13358         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
13359         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
13360         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
13361         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
13362         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
13363         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
13364         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
13365         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
13366         * tests/test-fcntl-h.c: Check that pid_t is defined.
13367         * tests/test-sched.c: Likewise.
13368         * tests/test-termios.c: Likewise.
13369         * tests/test-time.c: Likewise.
13370         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
13371         * doc/posix-headers/signal.texi: Likewise.
13372         * doc/posix-headers/sys_types.texi: Likewise.
13373         * doc/posix-headers/time.texi: Likewise.
13374
13375 2011-09-11  Bruno Haible  <bruno@clisp.org>
13376
13377         acl: Fix compilation on Solaris 10 (older version).
13378         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
13379         of ACE_EVERYONE.
13380         * lib/set-mode-acl.c (qset_acl): Likewise.
13381         Reported by Christian Jullien <eligis@orange.fr>.
13382
13383 2011-09-10  Bruno Haible  <bruno@clisp.org>
13384
13385         iconv, unsetenv: Add support for MSVC compiler.
13386         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
13387         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
13388
13389 2011-09-10  Bruno Haible  <bruno@clisp.org>
13390
13391         *printf: Add support for MSVC compiler.
13392         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
13393         handles the exception caused by the %n directive. When cross-compiling,
13394         guess no on native Windows.
13395         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
13396         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
13397         emulate it through vsnprintf.
13398         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
13399         * doc/posix-functions/dprintf.texi: Update documentation regarding
13400         MSVC 9.
13401         * doc/posix-functions/fprintf.texi: Likewise.
13402         * doc/posix-functions/printf.texi: Likewise.
13403         * doc/posix-functions/snprintf.texi: Likewise.
13404         * doc/posix-functions/sprintf.texi: Likewise.
13405         * doc/posix-functions/swprintf.texi: Likewise.
13406         * doc/posix-functions/vdprintf.texi: Likewise.
13407         * doc/posix-functions/vfprintf.texi: Likewise.
13408         * doc/posix-functions/vprintf.texi: Likewise.
13409         * doc/posix-functions/vsnprintf.texi: Likewise.
13410         * doc/posix-functions/vsprintf.texi: Likewise.
13411         * doc/glibc-functions/asprintf.texi: Likewise.
13412         * doc/glibc-functions/obstack_printf.texi: Likewise.
13413         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
13414         * doc/glibc-functions/vasprintf.texi: Likewise.
13415
13416 2011-09-10  Bruno Haible  <bruno@clisp.org>
13417
13418         nocrash: Add support for native Windows.
13419         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
13420
13421 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
13422             Bruno Haible  <bruno@clisp.org>
13423
13424         absolute-header, include-next: Add support for MSVC compiler.
13425         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
13426         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
13427         directory separator in #line directives.
13428         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
13429         recognize also backslash as directory separator in #line directives.
13430
13431 2011-09-08  Jim Meyering  <meyering@redhat.com>
13432
13433         maint.mk: mark the post-release commit log with "maint: " prefix
13434         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
13435         one-line commit-log summary.
13436
13437 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
13438             Bruno Haible  <bruno@clisp.org>
13439
13440         Doc about crypt functions.
13441         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
13442         systems.
13443         * doc/posix-functions/encrypt.texi: Likewise.
13444         * doc/posix-functions/setkey.texi: Likewise.
13445
13446 2011-09-08  Simon Josefsson  <simon@josefsson.org>
13447
13448         * lib/gc.h: Fix copyright header.
13449
13450 2011-09-07  Bruno Haible  <bruno@clisp.org>
13451
13452         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
13453         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
13454         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
13455
13456 2011-09-07  Bruno Haible  <bruno@clisp.org>
13457
13458         openat: Work around compilation error with OSF/1 5.1 DTK cc.
13459         * lib/fopen.c: Use different syntax for include of <stdio.h>.
13460         * lib/freopen.c: Likewise.
13461         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
13462         * lib/lstat.c: Likewise.
13463         * lib/stat.c: Likewise.
13464         * lib/open.c: Use different syntax for include of <fcntl.h>.
13465         * lib/openat.c: Include fcntl.h again, explicitly.
13466
13467 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
13468
13469         parse-datetime: document the newly accepted format
13470         * doc/parse-datetime.texi (Combined date and time of day items):
13471         New section.
13472
13473 2011-09-06  Bruno Haible  <bruno@clisp.org>
13474
13475         acl: Fix a test failure on newer Solaris 10 with ZFS.
13476         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
13477         ENOSYS as no ACL.
13478         Reported by Jim Meyering.
13479
13480 2011-09-06  Bruno Haible  <bruno@clisp.org>
13481
13482         acl: Update for AIX >= 5.3 with NFS.
13483         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
13484         ENOSYS as no ACL.
13485
13486         acl: Fix a test failure on AIX >= 5.3 with NFS.
13487         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
13488         as no ACL.
13489
13490 2011-09-06  Bruno Haible  <bruno@clisp.org>
13491
13492         acl: Fix a test failure on IRIX 6.5 with NFS.
13493         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
13494         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
13495         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
13496         * lib/copy-acl.c (qcopy_acl): Likewise.
13497
13498 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
13499
13500         openat: port to AIX 7.1 with large files
13501         AIX 7.1 does a "#define openat open64at" if large files are in use,
13502         so we can't simply #undef openat.  Use the orig_openat trick (similar
13503         to orig_open in lib/open.c) to work around the problem.  Problem
13504         reported by Kevin Brott for GNU tar, in the thread containing
13505         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
13506         * lib/openat.c (__need_system_fcntl_h): Define first.
13507         Include <fcntl.h> and <sys/types.h> before undefining.
13508         (orig_openat) [HAVE_OPENAT]: New inline function.
13509         (openat) [HAVE_OPENAT]: Do not undef.
13510         (rpl_openat): Use orig_openat, not openat.
13511
13512 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
13513             Bruno Haible  <bruno@clisp.org>
13514
13515         acl: Avoid errors on NonStop Kernel.
13516         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
13517         ENOTSUP errors.
13518
13519 2011-09-05  Bruno Haible  <bruno@clisp.org>
13520
13521         acl: Clean up Solaris code.
13522         * lib/acl-internal.h: Remove no-op #if.
13523         * lib/file-has-acl.c: Likewise.
13524         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
13525         * lib/copy-acl.c (qcopy_acl): Likewise.
13526
13527 2011-09-05  Bruno Haible  <bruno@clisp.org>
13528
13529         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
13530         binaries built on the original Solaris 10.
13531         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
13532         trivial.
13533
13534 2011-09-05  Bruno Haible  <bruno@clisp.org>
13535
13536         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
13537         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
13538         10.
13539         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
13540         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
13541         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
13542         instead of acl_get, facl_get, acl_set, facl_set.
13543
13544 2011-09-05  Bruno Haible  <bruno@clisp.org>
13545
13546         copy-file: Try unit tests on more file systems.
13547         * tests/test-copy-file-1.sh: New file.
13548         * tests/test-copy-file-2.sh: New file.
13549         * modules/copy-file-tests (Files): Add them.
13550         (Makefile.am): Add them to TESTS.
13551
13552         acl: Try unit tests on more file systems.
13553         * tests/test-file-has-acl-1.sh: New file.
13554         * tests/test-file-has-acl-2.sh: New file.
13555         * tests/test-set-mode-acl-1.sh: New file.
13556         * tests/test-set-mode-acl-2.sh: New file.
13557         * tests/test-copy-acl-1.sh: New file.
13558         * tests/test-copy-acl-2.sh: New file.
13559         * modules/acl-tests (Files): Add them.
13560         (Makefile.am): Add them to TESTS.
13561
13562 2011-09-04  Bruno Haible  <bruno@clisp.org>
13563
13564         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
13565         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
13566         10.
13567         (OLD_ALLOW, OLD_DENY): New macros.
13568         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
13569         ACE_ACCESS_ALLOWED_ACE_TYPE.
13570         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
13571         ACE_ACCESS_DENIED_ACE_TYPE.
13572         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
13573         (NEW_ACE_EXECUTE): Fix value.
13574         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
13575         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
13576         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
13577         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
13578         NEW_ACE_SYNCHRONIZE): New macros.
13579         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
13580         instead of acl_fromtext, acl_set, facl_set.
13581         Fixes a coreutils/tests/cp/perm failure.
13582
13583 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
13584
13585         openat: test for fstatat (..., 0) bug
13586         Further testing with tar suggests that fstatat (..., 0)
13587         does not work in general, on AIX 7.1; see
13588         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
13589         So, give up entirely on AIX 7.1's fstatat, and fall back on our
13590         replacement fstatat (which is what older AIX releases were using
13591         anyway).
13592         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
13593         use is now changed to orig_fstatat.  This was probably the right
13594         thing to do anyway.
13595         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
13596         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
13597         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
13598         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
13599         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
13600         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
13601         if the bug is found.
13602
13603         openat: test for fstatat (AT_FDCWD, ..., 0) bug
13604         This tests for another fstatat bug on AIX 7.1:
13605         fstatat (AT_FDCWD, ..., 0) does not work.  See
13606         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
13607         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
13608         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
13609         (rpl_fstatat): Adjust so that it works around either (or both)
13610         bugs if present.
13611         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
13612
13613 2011-09-03  Karl Berry  <karl@gnu.org>
13614
13615         * doc/regex.texi (Character Class Operators): Avoid literal ":"
13616         in index entries.
13617
13618 2011-09-02  Bruno Haible  <bruno@clisp.org>
13619
13620         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
13621         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
13622         values of AR, ARFLAGS, RANLIB.
13623         Reported by John W. Eaton <jwe@gnu.org> for Octave.
13624
13625 2011-09-02  Bruno Haible  <bruno@clisp.org>
13626
13627         Find 'ar' program that fits with --host argument.
13628         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
13629
13630 2011-09-02  Bruno Haible  <bruno@clisp.org>
13631
13632         tests: init.sh: Support any non-GNU diff.
13633         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
13634         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
13635         Solaris 8.
13636
13637 2011-09-02  Bruno Haible  <bruno@clisp.org>
13638
13639         tests: init.sh: work also with any non-GNU diff that supports -u
13640         * tests/init.sh: Relax check for diff -u support.
13641         Rather than checking for GNU diff via --version, simply check
13642         for support for -u itself.  Useful at least on OpenBSD 4.9,
13643         AIX 7.1, IRIX 6.5, and Solaris 10.
13644
13645 2011-09-01  Bruno Haible  <bruno@clisp.org>
13646
13647         strtoimax, strtoumax: Document problem on HP-UX 11.
13648         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
13649         * doc/posix-functions/strtoumax.texi: Likewise.
13650
13651 2011-09-01  Bruno Haible  <bruno@clisp.org>
13652
13653         strtoumax: Avoid link error on OSF/1 with DTK cc.
13654         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
13655         defined as a function.
13656         * modules/strtoumax (Depends-on, configure.ac): Test only whether
13657         strtoumax is defined, not whether it is declared.
13658
13659 2011-09-01  Bruno Haible  <bruno@clisp.org>
13660
13661         strtoimax: Avoid link error on OSF/1 with DTK cc.
13662         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
13663         defined as a function.
13664         * modules/strtoimax (Depends-on, configure.ac): Test only whether
13665         strtoimax is defined, not whether it is declared.
13666
13667 2011-09-01  Bruno Haible  <bruno@clisp.org>
13668
13669         imaxdiv: Avoid link error on OSF/1 with DTK cc.
13670         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
13671         as a function.
13672         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
13673         whether it is declared.
13674
13675 2011-09-01  Bruno Haible  <bruno@clisp.org>
13676
13677         imaxabs: Avoid link error on OSF/1 with DTK cc.
13678         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
13679         as a function.
13680         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
13681         whether it is declared.
13682
13683 2011-09-01  Bruno Haible  <bruno@clisp.org>
13684
13685         Tests for module 'strtoumax'.
13686         * modules/strtoumax-tests: New file.
13687         * tests/test-strtoumax.c: New file.
13688
13689         Tests for module 'strtoimax'.
13690         * modules/strtoimax-tests: New file.
13691         * tests/test-strtoimax.c: New file.
13692
13693         Tests for module 'imaxdiv'.
13694         * modules/imaxdiv-tests: New file.
13695         * tests/test-imaxdiv.c: New file.
13696
13697         Tests for module 'imaxabs'.
13698         * modules/imaxabs-tests: New file.
13699         * tests/test-imaxabs.c: New file.
13700
13701 2011-09-01  Bruno Haible  <bruno@clisp.org>
13702
13703         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
13704         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
13705         pthread_create.
13706
13707 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
13708
13709         openat: work around AIX 7.1 fstatat issue
13710         This should fix the problem that was not properly fixed
13711         in the previous change, dated 2011-08-30.
13712         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
13713         __need_system_stat_h defined.
13714         (orig_fstatat) [HAVE_FSTATAT]: New function.
13715         (rpl_fstatat): Go back to the old way of doing things,
13716         except call orig_fstatat instead of fstatat.
13717         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
13718         Remove unnecessary check whether fstatat fills in st_size etc.
13719
13720 2011-09-01  Bruno Haible  <bruno@clisp.org>
13721
13722         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
13723         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
13724         just include the system's header.
13725
13726 2011-08-31  Jim Meyering  <meyering@redhat.com>
13727
13728         tests: avoid spurious assertion failure in test-float.c on ppc64
13729         * tests/test-float.c (test_long_double): Comment out an assertion,
13730         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
13731         with gcc-4.4.4.
13732
13733         maint: indent with spaces, not TABs
13734         I need to get in the habit of running gnulib's "make check".
13735         Both of these would have been caught.
13736         * m4/largefile.m4: Indent with spaces, not TABs.
13737         * lib/parse-datetime.y (iso_8601_time): Likewise.
13738         Spotted by Pádraig Brady.
13739
13740         test-parse-datetime.c: accommodate a relatively strict gcc warning
13741         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
13742         to avoid a warning from gcc's -Werror=missing-declarations.
13743         Insert a few spaces-before-funcall-parenthesis.
13744
13745 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
13746
13747         parse-datetime: accept ISO 8601 date and time rep with "T" separator
13748         The parser now accepts ISO 8601 date-time strings with "T" as the
13749         separator.  It has long parsed dates like "2004-02-29 16:21:42"
13750         with a space between the date and time strings.  Now it also parses
13751         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
13752         variants like "2004-02-29T16:21:42.333-07:00"
13753         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
13754         of day representation using the 'T' separator character.
13755         * doc/parse-datetime.texi (General date syntax): replace use of
13756         deprecated --iso-8601 option with --rfc-3339 in example of date
13757         command output formats that can be parsed.
13758         * tests/test-parse-datetime.c (tm_diff): New function, taken from
13759         lib/parse-datetime.y.
13760         (gmt_offset): New function.
13761         (main): Add additional test cases to validate ISO8601 extended
13762         date and time of day parsing.
13763
13764 2011-08-31  Bruno Haible  <bruno@clisp.org>
13765
13766         freopen: Documentation.
13767         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
13768         name.
13769         Reported by Claudio Bley <claudio.bley@gmail.com>.
13770
13771 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
13772
13773         freopen: Don't crash if the filename argument is NULL.
13774         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
13775         NULL.
13776
13777 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
13778
13779         openat: work around AIX 7.1 fstatat bug
13780         Problem reported by Kevin Brott for GNU tar, in the thread containing
13781         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
13782         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
13783         FSTATAT_ST_SIZE_ETC_BROKEN.
13784         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
13785         rpl_fstatat.
13786         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
13787         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
13788         AC_CHECK_FUNCS_ONCE for fstatat.
13789         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
13790         fchmodat, mkdirat, openat and unlinkat.
13791
13792 2011-08-30  Bruno Haible  <bruno@clisp.org>
13793
13794         Avoid endless recursions if config.h includes some header files.
13795         * lib/fopen.c (__need_FILE): Define already before including config.h.
13796         * lib/freopen.c (__need_FILE): Likewise.
13797         * lib/open.c (__need_system_fcntl_h): Likewise.
13798         * lib/stat.c (__need_system_sys_stat_h): Likewise.
13799         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
13800         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
13801
13802 2011-08-25  Karl Berry  <karl@gnu.org>
13803
13804         * config/srclist.txt (ylwrap): new try.
13805         * build-aux/ylwrap: new file.
13806
13807 2011-08-23  Bruno Haible  <bruno@clisp.org>
13808
13809         tmpdir: Use a good default directory on native Windows.
13810         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
13811         (P_tmpdir): Default to _P_tmpdir on native Windows.
13812         (path_search): On native Windows, try the value returned by GetTempPath
13813         before trying P_tmpdir.
13814         * modules/tmpdir (Depends-on): Add pathmax.
13815         Suggested by John Darrington <john@darrington.wattle.id.au>.
13816
13817 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
13818
13819         doc: fix typo in README-release
13820         * top/README-release: Capitalize first word of a sentence.
13821
13822 2011-08-19  Jim Meyering  <meyering@redhat.com>
13823
13824         fts: do not exhaust memory when processing million-entry directories
13825         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
13826         directory would require about 256*N bytes of memory.  Thus, it was
13827         easy to construct a directory too large to be processed by any of
13828         those tools.  With this change, fts' maximum memory utilization is
13829         now limited to around 30MB.
13830         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
13831         (fts_read): When we've processed the final entry (i.e., when
13832         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
13833         using the parent entry to read any remaining entries.  Dispatch
13834         depending on what fts_build returns:
13835         - NULL+stop, aka failure: stop
13836         - NULL otherwise: move up in the dir hierarchy
13837         - non-NULL: handle this new entry
13838         (fts_build): Declare and use new local, continue_readdir.
13839         Prepare to be called from fts_read, when the entries
13840         from a partially-read directory have just been exhausted.
13841         In that case, we'll skip the opendir and instead use the parent's
13842         fts_dirp and derive dir_fd from that.
13843         Finally, in the readdir loop, if we read max_entries entries,
13844         exit the loop ensuring *not* to call closedir.  This is required
13845         so that fts_dirp can be reused on a subsequent call.
13846         Prompted by Ben England's report of memory exhaustion in find
13847         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
13848
13849         maint: fts: move decl of `dp' down into while loop; split a long line
13850         * lib/fts.c (fts_build): No semantic change.
13851
13852         fts: add/use new struct member, fts_dirp
13853         We are about to use this to manage any directory with
13854         too many entries to read all of them into memory at once.
13855         To do that, we'll need to save the DIR* pointer in each
13856         affected FTSENT struct.
13857         * lib/fts_.h: Include <dirent.h>.
13858         (struct FTSENT) [fts_dirp]: New member.
13859         * lib/fts.c (closedir_and_clear): Define.
13860         Use it in place of closedir so that we are sure to
13861         clear the new fts_dirp member when done with it.
13862         (fts_alloc): Initialize the new member.
13863         (fts_lfree): Free, if needed.
13864
13865         maint: fts: give __opendir2 a new parameter and rename
13866         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
13867         than surreptitiously using sole caller's "dir_fd".
13868         (fts_opendir): Rename from __opendir2.
13869
13870         maint: fts.c: remove __opendir2's now-unused parameter, oflag
13871         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
13872
13873         maint: fts.c: correct off-by-one indentation
13874         * lib/fts.c (fts_build): Correct indentation, change style
13875         of a couple of block comments, and bracing style.
13876
13877         maint: fts.c: move __opendir2 #define "up" out of function body
13878         * lib/fts.c (__opendir2): Move "up".  No semantic change.
13879
13880         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
13881         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
13882         out for a long time and besides was useful only on BSD systems.
13883
13884 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
13885
13886         regex: port to Stratus OpenVOS
13887         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
13888         define to empty, rather than attempting nonportable optimizations.
13889         Problem reported by Paul Green in:
13890         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
13891         and fix suggested by Eric Blake in:
13892         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
13893
13894 2011-08-17  Eric Blake  <eblake@redhat.com>
13895
13896         getcwd: fix test failures on mingw
13897         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
13898         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
13899         test if long directory cannot be created, and allow mingw errno.
13900
13901         getcwd-lgpl: fix m4 to match relaxed test for BSD
13902         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
13903         (gl_FUNC_GETCWD_SIGNATURE): New macro.
13904         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
13905         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
13906         signature problem.
13907
13908         getcwd: fix compilation on mingw64
13909         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
13910         getcwd.
13911         Reported by Marc-André Lureau.
13912
13913         pipe2: silence compiler warning
13914         * lib/pipe2.c (pipe2): Hide label if it is not used.
13915
13916 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
13917
13918         relocatable-prog: fix link error
13919         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
13920         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
13921         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
13922         into modules/relocatable-lib without noticing that
13923         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
13924         also needs to build relocatable.c.
13925
13926 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
13927
13928         getaddrinfo: fix sh typo in gai_strerrorA decl checking
13929         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
13930         shell code: it contained a 'break' that was not in a loop.
13931         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
13932         via a shell-language loop; this may have been true in old Autoconf
13933         versions, but it's not true in Autoconf 2.68.  I found this bug
13934         when testing coreutils git on Solaris 8, whose shell complains
13935         about the syntax error.
13936
13937 2011-08-12  Simon Josefsson  <simon@josefsson.org>
13938
13939         * lib/base64.c: Fix comment to reference RFC 4648.
13940         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
13941         <gvtulder@gmail.com>.
13942
13943 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
13944
13945         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
13946
13947         po/Makefile.in.in: fix make -q problem
13948         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
13949         rule, since there's no file named 'check-macro-version' and its
13950         use as a file breaks make -q.
13951         (all): Don't depend on check-macro-version.
13952         (CHECK_MACRO_VERSION): New macro.
13953         (stamp-po): Use it.
13954
13955         configmake: fix make -q problem
13956         * modules/configmake (configmake.h): Update configmake.h's time stamp
13957         even if the file does not change.  Otherwise, 'make -q' fails.
13958         Problem reported by Simon Josefsson in
13959         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
13960
13961 2011-08-11  Jim Meyering  <meyering@redhat.com>
13962
13963         git-version-gen: correct the advice in a comment
13964         * build-aux/git-version-gen: Correct comment.
13965         Don't recommend to list .tarball-version in .gitignore.
13966
13967 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
13968
13969         base64: fix off-by-one buffer size bug
13970         Problem and (trivial) fix reported by Gijs van Tulder in
13971         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
13972         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
13973         * tests/test-base64.c (main): Catch the bug.
13974
13975 2011-08-10  Eric Blake  <eblake@redhat.com>
13976
13977         closein: correct comments
13978         * lib/closein.c (close_stdin): Improve comments.
13979
13980 2011-08-09  Bruno Haible  <bruno@clisp.org>
13981
13982         More tests for 'fseeko'.
13983         * tests/test-fseeko3.c: New file, from Eric Blake.
13984         * tests/test-fseeko3.sh: New file.
13985         * modules/fseeko-tests (Files): Add them.
13986         (TESTS): Add test-fseeko3.sh.
13987         (check_PROGRAMS): Add test-fseeko3.
13988
13989 2011-08-09  Eric Blake  <eblake@redhat.com>
13990
13991         fseeko: remove unneeded hack
13992         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
13993
13994         fseeko: fix bug on glibc
13995         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
13996         Reported by John W. Eaton.
13997
13998 2011-08-08  Bruno Haible  <bruno@clisp.org>
13999
14000         unictype/base: Fix interoperability with preinstalled libunistring.
14001         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
14002         Reported by Simon Josefsson.
14003
14004 2011-08-08  Bruno Haible  <bruno@clisp.org>
14005
14006         iswblank: Detect declaration correctly.
14007         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
14008         AC_CHECK_DECLS invocation.
14009
14010 2011-08-08  Bruno Haible  <bruno@clisp.org>
14011
14012         tcgetsid: Detect declaration correctly.
14013         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
14014         AC_CHECK_DECLS invocation.
14015         Reported by Simon Josefsson.
14016
14017 2011-08-08  Eric Blake  <eblake@redhat.com>
14018
14019         largefile: fix typo that regressed large file support
14020         * modules/largefile (configure.ac-early): Fix section name.
14021
14022 2011-08-06  Karl Berry  <karl@gnu.org>
14023
14024         * MODULES.html.sh (func_all_files): _Noreturn is no longer
14025         a separate module.
14026
14027 2011-08-05  Simon Josefsson  <simon@josefsson.org>
14028
14029         openat: Fix warnings and commens when building unlinkat.c on Hurd.
14030         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
14031         get prototype for free.
14032
14033 2011-08-04  Bruno Haible  <bruno@clisp.org>
14034
14035         Tests for module 'pathmax'.
14036         * modules/pathmax-tests: New file.
14037         * tests/test-pathmax.c: New file.
14038
14039         canonicalize-lgpl: Support larger filenames on the Hurd.
14040         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
14041         Reported by Paul Eggert.
14042
14043         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
14044         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
14045         * lib/chdir-long.h: Include pathmax.h.
14046         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
14047         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
14048         (PATH_MAX): Remove code that is done by pathmax.h.
14049         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
14050         * lib/tmpfile.c: Add a comment.
14051         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
14052         * modules/chdir-long (Depends-on): Add pathmax.
14053         * modules/getcwd (Depends-on): Add pathmax.
14054         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
14055         is not defined.
14056         * doc/posix-headers/limits.texi: Mention the pathmax module.
14057         * NEWS: Mention the change.
14058
14059 2011-08-02  Bruno Haible  <bruno@clisp.org>
14060
14061         pthread_sigmask: Actually use results of gl_THREADLIB.
14062         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
14063         gl_THREADLIB, not gl_[]THREADLIB.
14064         Reported by Eric Blake.
14065
14066 2011-08-02  Jim Meyering  <meyering@redhat.com>
14067
14068         maint.mk: relax the default _gl_TS_function_match regexp
14069         * top/maint.mk (_gl_TS_function_match): Don't require at least one
14070         space between function name and "(" in an "extern" declaration.
14071         That would fail to match a decl with no space there: extern void foo();
14072
14073 2011-07-31  Iain Nicol  <iain@thenicols.net>
14074
14075         git-version-gen: document that EXTRA_DIST must include .version
14076         * build-aux/git-version-gen: In the how-to-use comment, document
14077         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
14078         will fail when run from an unpacked distribution tarball.
14079
14080 2011-08-01  Bruno Haible  <bruno@clisp.org>
14081
14082         wctype-h: Fix last change.
14083         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
14084         REPLACE_TOWLOWER to 0.
14085         Reported by Sam Steingold <sds@gnu.org>.
14086
14087 2011-07-31  Bruno Haible  <bruno@clisp.org>
14088
14089         frexpl: Update autoconf test.
14090         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
14091         according to changes of 2011-06-20.
14092
14093 2011-07-31  Bruno Haible  <bruno@clisp.org>
14094
14095         sys_utsname: Add support for Minix.
14096         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
14097         <sys/utsname.h>.
14098         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
14099         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
14100
14101 2011-07-31  Bruno Haible  <bruno@clisp.org>
14102
14103         strings: Add support for Minix.
14104         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
14105         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
14106         * doc/posix-headers/strings.texi: Document the Minix problem.
14107
14108 2011-07-31  Bruno Haible  <bruno@clisp.org>
14109
14110         wctype-h: Add support for Minix.
14111         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
14112         REPLACE_TOWLOWER.
14113         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
14114         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
14115         REPLACE_ISWCNTRL.
14116
14117 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
14118
14119         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
14120         This is a performance improvement for 64-bit hosts: it causes the
14121         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
14122
14123 2011-07-31  Bruno Haible  <bruno@clisp.org>
14124
14125         stdioext: Add support for Minix.
14126         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
14127         * lib/fpurge.c (fpurge): Likewise.
14128         * lib/freadahead.c (freadahead): Likewise.
14129         * lib/freadable.c (freadable): Likewise.
14130         * lib/freading.c (freading): Likewise.
14131         * lib/freadptr.c (freadptr): Likewise.
14132         * lib/freadseek.c (freadptrinc): Likewise.
14133         * lib/fseeko.c (rpl_fseeko): Likewise.
14134         * lib/fseterr.c (fseterr): Likewise.
14135         * lib/fwritable.c (fwritable): Likewise.
14136         * lib/fwriting.c (fwriting): Likewise.
14137         * lib/fflush.c (clear_ungetc_buffer): Update comment.
14138         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
14139
14140 2011-07-31  Bruno Haible  <bruno@clisp.org>
14141
14142         errno: Port to Minix.
14143         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
14144         ECONNABORTED are defined.
14145         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
14146         GNULIB_defined_ECONNABORTED): New macros.
14147         * lib/strerror-override.h (strerror_override): Test also
14148         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
14149         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
14150         ECONNABORTED.
14151         * doc/posix-headers/errno.texi: Mention the Minix problem.
14152
14153 2011-07-31  Bruno Haible  <bruno@clisp.org>
14154
14155         Work around declaration collisions on Minix.
14156         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
14157         defined, set REPLACE_MBSINIT.
14158         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
14159         defined, set REPLACE_MBRTOWC.
14160         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
14161         set REPLACE_MBRLEN.
14162         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
14163         defined, set REPLACE_MBSRTOWCS.
14164         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
14165         defined, set REPLACE_WCRTOMB.
14166         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
14167         defined, set REPLACE_WCSRTOMBS.
14168
14169 2011-07-31  Bruno Haible  <bruno@clisp.org>
14170
14171         Add support for Minix with ACK compiler.
14172         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
14173         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
14174         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
14175
14176 2011-07-31  Bruno Haible  <bruno@clisp.org>
14177
14178         Documentation about Minix.
14179         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
14180         * doc/glibc-headers/*.texi: Likewise.
14181         * doc/posix-functions/*.texi: Likewise.
14182         * doc/glibc-functions/*.texi: Likewise.
14183
14184 2011-07-31  Bruno Haible  <bruno@clisp.org>
14185
14186         snippet/warn-on-use: Fix indentation.
14187         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
14188
14189 2011-07-25  Jim Meyering  <meyering@redhat.com>
14190
14191         tests: test-update-copyright.sh: remove unnecessary "rm" commands
14192         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
14193         commands.
14194
14195 2011-07-27  Jim Meyering  <meyering@redhat.com>
14196
14197         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
14198         * top/maint.mk (gl_extract_significant_defines_): Now that
14199         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
14200         gnulib/lib/signal.in.h, and now that we recommend to
14201         define-if-undefined those two symbols in application code,
14202         we must filter them out of the "significant" list.
14203         This avoids a "make syntax-check" failure in coreutils.
14204
14205 2011-07-26  Eric Blake  <eblake@redhat.com>
14206
14207         warnings: add comments about previous patch
14208         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
14209         * m4/include_next.m4: Likewise.
14210         * m4/warn-on-use.m4: Likewise.
14211         * m4/warnings.m4: Likewise, and simplify use.
14212         Suggested by Stefano Lattarini.
14213
14214         include-next, warnings: support older autoconf
14215         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
14216         AS_VAR_PUSHDEF in a way that works with older autoconf.
14217         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
14218         Reported by Daniel P. Berrange.
14219
14220 2011-07-25  Bruno Haible  <bruno@clisp.org>
14221
14222         fseek, ftell: Fix doc.
14223         * doc/posix-functions/fseek.texi: Reword statement about
14224         AC_SYS_LARGEFILE.
14225         * doc/posix-functions/ftell.texi: Likewise.
14226
14227 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
14228             Bruno Haible  <bruno@clisp.org>
14229
14230         Add dependencies to the 'largefile' module.
14231         * modules/fopen (Depends-on): Add 'largefile'.
14232         * modules/freopen (Depends-on): Likewise.
14233         * modules/fseeko (Depends-on): Likewise.
14234         * modules/ftello (Depends-on): Likewise.
14235         * modules/glob (Depends-on): Likewise.
14236         * modules/lseek (Depends-on): Likewise.
14237         * modules/lstat (Depends-on): Likewise.
14238         * modules/mkostemp (Depends-on): Likewise.
14239         * modules/mkostemps (Depends-on): Likewise.
14240         * modules/mkstemp (Depends-on): Likewise.
14241         * modules/mkstemps (Depends-on): Likewise.
14242         * modules/open (Depends-on): Likewise.
14243         * modules/openat (Depends-on): Likewise.
14244         * modules/pread (Depends-on): Likewise.
14245         * modules/pwrite (Depends-on): Likewise.
14246         * modules/scandir (Depends-on): Likewise.
14247         * modules/stat (Depends-on): Likewise.
14248         * modules/tmpfile (Depends-on): Likewise.
14249         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
14250         since the containing module now depends on the largefile module.
14251         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
14252         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
14253         off_t is fixed by gnulib.
14254         * doc/posix-functions/freopen.texi: Likewise.
14255         * doc/posix-functions/fseeko.texi: Likewise.
14256         * doc/posix-functions/fstatat.texi: Likewise.
14257         * doc/posix-functions/ftello.texi: Likewise.
14258         * doc/posix-functions/glob.texi: Likewise.
14259         * doc/posix-functions/lseek.texi: Likewise.
14260         * doc/posix-functions/lstat.texi: Likewise.
14261         * doc/posix-functions/mkstemp.texi: Likewise.
14262         * doc/posix-functions/open.texi: Likewise.
14263         * doc/posix-functions/openat.texi: Likewise.
14264         * doc/posix-functions/pread.texi: Likewise.
14265         * doc/posix-functions/pwrite.texi: Likewise.
14266         * doc/posix-functions/scandir.texi: Likewise.
14267         * doc/posix-functions/stat.texi: Likewise.
14268         * doc/posix-functions/tmpfile.texi: Likewise.
14269         * doc/glibc-functions/mkostemp.texi: Likewise.
14270         * doc/glibc-functions/mkostemps.texi: Likewise.
14271         * doc/glibc-functions/mkstemps.texi: Likewise.
14272
14273 2011-07-25  Bruno Haible  <bruno@clisp.org>
14274
14275         fcntl: Move AC_LIBOBJ invocation to module description.
14276         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
14277         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
14278
14279         fcntl: Remove call-in from fchdir.m4.
14280         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
14281         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
14282
14283         dup3: Remove potential call-in from fchdir.m4.
14284         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
14285         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
14286
14287         dup2: Move AC_LIBOBJ invocation to module description.
14288         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
14289         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
14290         Don't invoke AC_LIBOBJ.
14291         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
14292
14293         dup2: Remove call-in from fchdir.m4.
14294         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
14295         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
14296
14297         fclose: Move AC_LIBOBJ invocation to module description.
14298         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
14299         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
14300         to 1.
14301         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
14302
14303         fclose: Remove call-in from close.m4.
14304         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
14305         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
14306
14307         close: Move AC_LIBOBJ invocation to module description.
14308         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
14309         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
14310         1.
14311         * modules/close (configure.ac): Invoke AC_LIBOBJ.
14312
14313         close: Remove call-in from fchdir.m4.
14314         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
14315         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
14316
14317         open: Move AC_LIBOBJ invocation to module description.
14318         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
14319         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
14320         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
14321
14322         open: Remove call-in from fchdir.m4.
14323         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
14324         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
14325
14326         fchdir: Start to remove gl_REPLACE_* idiom.
14327         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
14328         (gl_FUNC_FCHDIR): Invoke it.
14329
14330 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
14331
14332         * lib/ftell.c (ftell): Comment out cast.
14333
14334         close: use gl_REPLACE_FCLOSE only if defined
14335         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
14336         is defined.  The close module doesn't depend on the fclose module
14337         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
14338         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
14339         I reproduced the problem with "./gnulib-tool --test close sys_socket".
14340
14341 2011-07-24  Jim Meyering  <meyering@redhat.com>
14342
14343         test-select.h: avoid warning when using gcc's -Wmissing-declarations
14344         * tests/test-select.h (test_function): Declare as "static".
14345
14346 2011-07-24  Bruno Haible  <bruno@clisp.org>
14347
14348         doc: Mention the effects of AC_SYS_LARGEFILE.
14349         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
14350         on this function.
14351         * doc/posix-functions/aio_error.texi: Likewise.
14352         * doc/posix-functions/aio_fsync.texi: Likewise.
14353         * doc/posix-functions/aio_read.texi: Likewise.
14354         * doc/posix-functions/aio_return.texi: Likewise.
14355         * doc/posix-functions/aio_suspend.texi: Likewise.
14356         * doc/posix-functions/aio_write.texi: Likewise.
14357         * doc/posix-functions/fgetpos.texi: Likewise.
14358         * doc/posix-functions/fopen.texi: Likewise.
14359         * doc/posix-functions/freopen.texi: Likewise.
14360         * doc/posix-functions/fsetpos.texi: Likewise.
14361         * doc/posix-functions/fstatvfs.texi: Likewise.
14362         * doc/posix-functions/ftruncate.texi: Likewise.
14363         * doc/posix-functions/ftw.texi: Likewise.
14364         * doc/posix-functions/getrlimit.texi: Likewise.
14365         * doc/posix-functions/glob.texi: Likewise.
14366         * doc/posix-functions/lio_listio.texi: Likewise.
14367         * doc/posix-functions/lockf.texi: Likewise.
14368         * doc/posix-functions/mkstemp.texi: Likewise.
14369         * doc/posix-functions/mmap.texi: Likewise.
14370         * doc/posix-functions/nftw.texi: Likewise.
14371         * doc/posix-functions/openat.texi: Likewise.
14372         * doc/posix-functions/opendir.texi: Likewise.
14373         * doc/posix-functions/posix_fadvise.texi: Likewise.
14374         * doc/posix-functions/posix_fallocate.texi: Likewise.
14375         * doc/posix-functions/pread.texi: Likewise.
14376         * doc/posix-functions/pwrite.texi: Likewise.
14377         * doc/posix-functions/readdir.texi: Likewise.
14378         * doc/posix-functions/readdir_r.texi: Likewise.
14379         * doc/posix-functions/rewinddir.texi: Likewise.
14380         * doc/posix-functions/scandir.texi: Likewise.
14381         * doc/posix-functions/seekdir.texi: Likewise.
14382         * doc/posix-functions/setrlimit.texi: Likewise.
14383         * doc/posix-functions/statvfs.texi: Likewise.
14384         * doc/posix-functions/telldir.texi: Likewise.
14385         * doc/posix-functions/tmpfile.texi: Likewise.
14386         * doc/posix-functions/truncate.texi: Likewise.
14387         * doc/glibc-functions/fallocate.texi: Likewise.
14388         * doc/glibc-functions/fstatfs.texi: Likewise.
14389         * doc/glibc-functions/fts_children.texi: Likewise.
14390         * doc/glibc-functions/fts_read.texi: Likewise.
14391         * doc/glibc-functions/getdirentries.texi: Likewise.
14392         * doc/glibc-functions/mkostemp.texi: Likewise.
14393         * doc/glibc-functions/mkostemps.texi: Likewise.
14394         * doc/glibc-functions/mkstemps.texi: Likewise.
14395         * doc/glibc-functions/preadv.texi: Likewise.
14396         * doc/glibc-functions/pwritev.texi: Likewise.
14397         * doc/glibc-functions/sendfile.texi: Likewise.
14398         * doc/glibc-functions/statfs.texi: Likewise.
14399
14400 2011-07-24  Bruno Haible  <bruno@clisp.org>
14401
14402         doc: Fix typo.
14403         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
14404
14405 2011-07-24  Bruno Haible  <bruno@clisp.org>
14406
14407         doc: Mention fsusage.
14408         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
14409
14410 2011-07-24  Bruno Haible  <bruno@clisp.org>
14411
14412         doc: Mention new glibc headers and functions.
14413         * doc/glibc-headers/gshadow.texi: New file.
14414         * doc/glibc-functions/endsgent.texi: New file.
14415         * doc/glibc-functions/fgetsgent.texi: New file.
14416         * doc/glibc-functions/fgetsgent_r.texi: New file.
14417         * doc/glibc-functions/getsgent.texi: New file.
14418         * doc/glibc-functions/getsgent_r.texi: New file.
14419         * doc/glibc-functions/getsgnam.texi: New file.
14420         * doc/glibc-functions/getsgnam_r.texi: New file.
14421         * doc/glibc-functions/putsgent.texi: New file.
14422         * doc/glibc-functions/setsgent.texi: New file.
14423         * doc/glibc-functions/sgetsgent.texi: New file.
14424         * doc/glibc-functions/sgetsgent_r.texi: New file.
14425         * doc/glibc-functions/malloc_info.texi: New file.
14426         * doc/glibc-functions/preadv.texi: New file.
14427         * doc/glibc-functions/pwritev.texi: New file.
14428         * doc/glibc-functions/register_printf_modifier.texi: New file.
14429         * doc/glibc-functions/register_printf_specifier.texi: New file.
14430         * doc/glibc-functions/register_printf_type.texi: New file.
14431         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
14432         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
14433         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
14434         * doc/glibc-functions/pthread_getname_np.texi: New file.
14435         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
14436         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
14437         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
14438         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
14439         * doc/glibc-functions/pthread_setname_np.texi: New file.
14440         * doc/glibc-functions/pthread_sigqueue.texi: New file.
14441         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
14442         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
14443         * doc/glibc-functions/qsort_r.texi: New file.
14444         * doc/glibc-functions/quick_exit.texi: New file.
14445         * doc/glibc-functions/syncfs.texi: New file.
14446         * doc/gnulib.texi: Include them.
14447         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
14448         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
14449         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
14450         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
14451         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
14452         * doc/glibc-functions/execvpe.texi: Likewise.
14453
14454 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
14455
14456         ftell: don't include <unistd.h>
14457         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
14458         guaranteed to define off_t, and the ftell module depends on the
14459         stdio module.
14460
14461         ftell: do not assume wraparound signed arithmetic
14462         * lib/ftell.c: Include <limits.h>.
14463         (ftell): Don't assume wraparound signed arithmetic.
14464
14465 2011-07-24  Bruno Haible  <bruno@clisp.org>
14466
14467         close: No longer depend on module 'fclose'.
14468         * modules/close (Depends-on): Remove fclose.
14469         * NEWS: Mention the change.
14470         Suggested by Sam Steingold <sds@gnu.org>.
14471
14472 2011-07-24  Bruno Haible  <bruno@clisp.org>
14473
14474         fsusage: Enable large volume support on AIX >= 5.2.
14475         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
14476         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
14477         instead of STAT_STATVFS.
14478         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
14479
14480         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
14481         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
14482         f_blocks field only on MacOS X.
14483
14484         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
14485         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
14486         * modules/fsusage (Depends-on): Add largefile.
14487
14488 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
14489
14490         * README: Modernize discussion of signed integers.
14491         Assuming overflow wraparound is no longer safe.
14492         Mention ones' complement and signed magnitude.
14493
14494 2011-07-22  Bruno Haible  <bruno@clisp.org>
14495
14496         select tests, pselect tests: Refactor.
14497         * tests/test-select.h: New file, extracted from tests/test-select.c.
14498         (select_fn): New type.
14499         (test, do_select, do_select_nowait, do_select_wait, test_tty,
14500         test_connect_first, test_accept_first, test_pair, test_socket_pair,
14501         test_pipe): Add my_select argument.
14502         (test_function): Renamed from main. Add my_select argument.
14503         * tests/test-select.c: Move most code to tests/test-select.h. Include
14504         test-select.h.
14505         * modules/select-tests (Files): Add tests/test-select.h.
14506         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
14507         (my_select, main): New functions.
14508         * modules/pselect-tests (Files): Add tests/test-select.h,
14509         tests/macros.h, tests/signature.h.
14510         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
14511         (configure.ac): Check for <sys/wait.h>.
14512
14513 2011-07-22  Bruno Haible  <bruno@clisp.org>
14514
14515         sys_select tests: Check the signature of FD_*.
14516         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
14517         signature tests from here...
14518         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
14519         here.
14520         * modules/sys_select-tests (Files): Add tests/signature.h.
14521
14522 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
14523
14524         largefile: new module, replacing large-inode
14525         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
14526         * MODULES.html.sh: Add largefile, remove large-inode.
14527         * modules/largefile, m4/largefile.m4: New files.
14528         * modules/large-inode, m4/large-inode.m4: Remove.
14529
14530         fsusage: port to MacOS X 10.7 with 4 TiB file systems
14531         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
14532         implementations that use only 32 bits to count blocks.
14533         On typical hosts with 1024-byte blocks, this fails with file
14534         systems as small as 4 TiB.  Problem reported by Herb Wartens
14535         <http://debbugs.gnu.org/9140> and this should also fix a similar
14536         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
14537
14538         large-inode: New module
14539         * MODULES.html.sh: Add it.
14540         * modules/large-inode, m4/large-inode.m4: New files.
14541
14542         extensions: Enable extensions on MacOS X 10.5 and later.
14543         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
14544
14545 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
14546
14547         file-has-acl: use acl_extended_file_nofollow if available
14548         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
14549         (acl_extended_file): New macro.
14550         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
14551         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
14552
14553 2011-07-21  Bruno Haible  <bruno@clisp.org>
14554
14555         Declare system functions in a way that works with C++.
14556         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
14557         declare fdopendir as extern "C".
14558         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
14559         declare frexpl as extern "C".
14560         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
14561         declare gai_strerror as extern "C".
14562         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
14563         programs, declare gai_strerror as extern "C".
14564         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
14565         declare getlogin_r as extern "C".
14566         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
14567         as extern "C".
14568         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
14569         declare ldexpl as extern "C".
14570         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
14571         as extern "C".
14572         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
14573         program, declare getmntinfo as extern "C".
14574         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
14575         stpncpy as extern "C".
14576         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
14577         program, declare __xpg_strerror_r as extern "C".
14578         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
14579         strndup as extern "C".
14580         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
14581         declare memset and bzero as extern "C".
14582         Reported by Sam Steingold <sds@gnu.org>.
14583
14584 2011-07-12  Jim Meyering  <meyering@redhat.com>
14585
14586         maint.mk: prohibit inclusion of "verify.h" without use
14587         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
14588
14589 2011-07-19  Pádraig Brady  <P@draigBrady.com>
14590
14591         timer-time: A new module to check for timer_settime()
14592         * m4/timer_time.m4: Check for the posix function.
14593         * modules/timer-time: Add the new module.
14594         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
14595         Mention it.
14596
14597 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
14598             Bruno Haible  <bruno@clisp.org>
14599
14600         pthread_sigmask: assume POSIX threads if --avoid=threadlib
14601         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
14602         not defined, assume POSIX threads and look for pthread_sigmask in
14603         $LIBS, without changing $CPPFLAGS.
14604
14605 2011-07-19  Bruno Haible  <bruno@clisp.org>
14606
14607         strstr: Update cross-compilation guess.
14608         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
14609         CPUs, guess no, in view of glibc
14610         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
14611         Suggested by Eric Blake. Reported by Reuben Thomas.
14612
14613 2011-07-19  Pádraig Brady  <P@draigBrady.com>
14614
14615         getopt-gnu: suppress core dumps from detection code
14616         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
14617         to suppress core dumps that may well occur on glibc systems.
14618         * modules/getopt-gnu: Depend on nocrash.
14619
14620 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
14621
14622         pthread_sigmask: ensure usleep is declared
14623         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
14624         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
14625
14626 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
14627
14628         doc: Document NonStop portability issues.
14629         * doc/posix-functions/sigaction.texi (sigaction):
14630         * doc/posix-headers/signal.texi (signal.h):
14631         Document NonStop.  See Joachim Schmitz in
14632         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
14633
14634 2011-07-15  Bruno Haible  <bruno@clisp.org>
14635
14636         ffsl, ffsll: Avoid unportable behaviour.
14637         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
14638
14639 2011-07-15  Bruno Haible  <bruno@clisp.org>
14640
14641         ffs: More tests.
14642         * tests/test-ffs.c (NBITS): New macro.
14643         (main): Add more tests.
14644         * tests/test-ffsl.c (NBITS): New macro.
14645         (main): Add more tests.
14646         * tests/test-ffsll.c (NBITS): New macro.
14647         (main): Add more tests.
14648
14649 2011-07-15  Eric Blake  <eblake@redhat.com>
14650
14651         ffsl, ffsll: new modules
14652         * modules/ffsl: New file.
14653         * modules/ffsll: Likewise.
14654         * m4/ffsl.m4: Likewise.
14655         * m4/ffsll.m4: Likewise.
14656         * lib/ffsl.c: Likewise.
14657         * lib/ffsl.h: Likewise.
14658         * lib/ffsll.c: Likewise.
14659         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
14660         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
14661         * modules/string (Makefile.am): Substitute witnesses.
14662         * lib/strings.in.h (ffsl, ffsll): Declare.
14663         * modules/ffsl-tests: New test file.
14664         * modules/ffsll-tests: Likewise.
14665         * tests/test-ffsl.c: Likewise.
14666         * tests/test-ffsll.c: Likewise.
14667         * MODULES.html.sh (Integer arithmetic functions): Mention it.
14668         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
14669         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
14670
14671         ffs: fix m4 prerequisite
14672         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
14673
14674         ffs: avoid undefined behavior
14675         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
14676         * tests/test-ffs.c (naive, main): Avoid signed shifts.
14677         Reported by Bruno Haible.
14678
14679 2011-07-12  Bruno Haible  <bruno@clisp.org>
14680
14681         pthread_sigmask: Rely on module 'threadlib'.
14682         * modules/pthread_sigmask (Depends-on): Add threadlib.
14683         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
14684         is defined.
14685
14686 2011-07-12  Bruno Haible  <bruno@clisp.org>
14687
14688         regex: Depend on module 'strcase'.
14689         * modules/regex (Depends-on): Add strcase, for strcasecmp().
14690
14691 2011-07-12  Jim Meyering  <meyering@redhat.com>
14692
14693         warn-on-use: fix typo in file name
14694         * modules/snippet/warn-on-use (Files): Correct file name:
14695         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
14696
14697 2011-07-12  Bruno Haible  <bruno@clisp.org>
14698
14699         strings: Document module.
14700         * doc/posix-headers/strings.texi: Mention module 'strings'.
14701
14702 2011-07-12  Bruno Haible  <bruno@clisp.org>
14703
14704         Rename module '_Noreturn' to 'snippet/_Noreturn'.
14705         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
14706         (Files, Makefile.am): Update.
14707         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
14708         * modules/stdlib (Depends-on): Update.
14709
14710 2011-07-12  Bruno Haible  <bruno@clisp.org>
14711
14712         * NEWS: Mention the changes.
14713
14714         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
14715         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
14716         (Files, Makefile.am): Update.
14717         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
14718         * modules/arpa_inet (Depends-on): Update.
14719         * modules/ctype (Depends-on): Update.
14720         * modules/dirent (Depends-on): Update.
14721         * modules/fcntl-h (Depends-on): Update.
14722         * modules/glob (Depends-on): Update.
14723         * modules/iconv-h (Depends-on): Update.
14724         * modules/inttypes-incomplete (Depends-on): Update.
14725         * modules/langinfo (Depends-on): Update.
14726         * modules/locale (Depends-on): Update.
14727         * modules/math (Depends-on): Update.
14728         * modules/netdb (Depends-on): Update.
14729         * modules/poll-h (Depends-on): Update.
14730         * modules/pty (Depends-on): Update.
14731         * modules/search (Depends-on): Update.
14732         * modules/signal (Depends-on): Update.
14733         * modules/spawn (Depends-on): Update.
14734         * modules/stdio (Depends-on): Update.
14735         * modules/stdlib (Depends-on): Update.
14736         * modules/string (Depends-on): Update.
14737         * modules/strings (Depends-on): Update.
14738         * modules/sys_file (Depends-on): Update.
14739         * modules/sys_ioctl (Depends-on): Update.
14740         * modules/sys_select (Depends-on): Update.
14741         * modules/sys_socket (Depends-on): Update.
14742         * modules/sys_stat (Depends-on): Update.
14743         * modules/sys_time (Depends-on): Update.
14744         * modules/sys_times (Depends-on): Update.
14745         * modules/sys_utsname (Depends-on): Update.
14746         * modules/sys_wait (Depends-on): Update.
14747         * modules/termios (Depends-on): Update.
14748         * modules/time (Depends-on): Update.
14749         * modules/unistd (Depends-on): Update.
14750         * modules/wchar (Depends-on): Update.
14751         * modules/wctype-h (Depends-on): Update.
14752         * MODULES.html.sh (Support for building libraries and executables):
14753         Update.
14754
14755         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
14756         * modules/snippet/unused-parameter: Renamed from
14757         modules/unused-parameter.
14758         (Files, Makefile.am): Update.
14759         * build-aux/snippet/unused-parameter.h: Renamed from
14760         build-aux/unused-parameter.h.
14761         * modules/selinux-h (Depends-on): Update.
14762         * modules/unistr/base (Depends-on): Update.
14763         * MODULES.html.sh (Core language properties): Update.
14764
14765         Rename module 'link-warning' to 'snippet/link-warning'.
14766         * modules/snippet/link-warning: Renamed from modules/link-warning.
14767         (Files, Makefile.am): Update.
14768         * build-aux/snippet/link-warning.h: Renamed from
14769         build-aux/link-warning.h.
14770         * MODULES.html.sh (Support for building libraries and executables):
14771         Update.
14772
14773         Rename module 'c++defs' to 'snippet/c++defs'.
14774         * modules/snippet/c++defs: Renamed from modules/c++defs.
14775         (Files, Makefile.am): Update.
14776         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
14777         * modules/arpa_inet (Depends-on): Update.
14778         * modules/ctype (Depends-on): Update.
14779         * modules/dirent (Depends-on): Update.
14780         * modules/fcntl-h (Depends-on): Update.
14781         * modules/glob (Depends-on): Update.
14782         * modules/iconv-h (Depends-on): Update.
14783         * modules/langinfo (Depends-on): Update.
14784         * modules/locale (Depends-on): Update.
14785         * modules/math (Depends-on): Update.
14786         * modules/netdb (Depends-on): Update.
14787         * modules/poll-h (Depends-on): Update.
14788         * modules/pty (Depends-on): Update.
14789         * modules/search (Depends-on): Update.
14790         * modules/signal (Depends-on): Update.
14791         * modules/spawn (Depends-on): Update.
14792         * modules/stdio (Depends-on): Update.
14793         * modules/stdlib (Depends-on): Update.
14794         * modules/string (Depends-on): Update.
14795         * modules/strings (Depends-on): Update.
14796         * modules/sys_ioctl (Depends-on): Update.
14797         * modules/sys_select (Depends-on): Update.
14798         * modules/sys_socket (Depends-on): Update.
14799         * modules/sys_stat (Depends-on): Update.
14800         * modules/sys_time (Depends-on): Update.
14801         * modules/sys_wait (Depends-on): Update.
14802         * modules/termios (Depends-on): Update.
14803         * modules/time (Depends-on): Update.
14804         * modules/unistd (Depends-on): Update.
14805         * modules/wchar (Depends-on): Update.
14806         * modules/wctype-h (Depends-on): Update.
14807
14808         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
14809         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
14810         (Files, Makefile.am): Update.
14811         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
14812         * modules/argv-iter (Depends-on): Update.
14813         * modules/arpa_inet (Depends-on): Update.
14814         * modules/dirent (Depends-on): Update.
14815         * modules/fcntl-h (Depends-on): Update.
14816         * modules/fnmatch (Depends-on): Update.
14817         * modules/getopt-posix (Depends-on): Update.
14818         * modules/glob (Depends-on): Update.
14819         * modules/iconv-h (Depends-on): Update.
14820         * modules/inttypes-incomplete (Depends-on): Update.
14821         * modules/locale (Depends-on): Update.
14822         * modules/math (Depends-on): Update.
14823         * modules/netdb (Depends-on): Update.
14824         * modules/search (Depends-on): Update.
14825         * modules/signal (Depends-on): Update.
14826         * modules/spawn (Depends-on): Update.
14827         * modules/stdio (Depends-on): Update.
14828         * modules/stdlib (Depends-on): Update.
14829         * modules/string (Depends-on): Update.
14830         * modules/strings (Depends-on): Update.
14831         * modules/sys_socket (Depends-on): Update.
14832         * modules/sys_stat (Depends-on): Update.
14833         * modules/sys_time (Depends-on): Update.
14834         * modules/sys_times (Depends-on): Update.
14835         * modules/sys_utsname (Depends-on): Update.
14836         * modules/time (Depends-on): Update.
14837         * modules/unistd (Depends-on): Update.
14838         * modules/wchar (Depends-on): Update.
14839         * MODULES.html.sh (Support for building libraries and executables):
14840         Update.
14841
14842 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
14843
14844         Improvements on _Noreturn and related modules.
14845
14846         modules/_Exit-tests: test _Noreturn too
14847         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
14848         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
14849         (main): Use them.
14850
14851         stdnoreturn, stdnoreturn-tests: remove modules
14852         They're not needed here and a bit premature for use elsewhere.  See
14853         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
14854         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
14855         * tests/test-stdnoreturn.c: Remove files.
14856         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
14857         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
14858         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
14859         and using noreturn.
14860         * modules/openat, modules/sigpipe-die, modules/xalloc:
14861         * modules/xmemdup0, modules/xstrtol:
14862         Remove dependency on stdnoreturn.
14863
14864         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
14865         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
14866         Reparenthesize to avoid GCC warning.
14867         Support Microsoft's syntax.
14868         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
14869
14870         _Noreturn-tests: remove module
14871         * modules/_Noreturn-tests: Remove.
14872         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
14873         * tests/test-_Noreturn.c: Remove.
14874         * tests/test-stdnoreturn.c: Merge from the old
14875         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
14876
14877 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
14878
14879         _Noreturn, stdnoreturn, and related modules.
14880
14881         * top/maint.mk: Adjust to new noreturn support.
14882         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
14883         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
14884
14885         xalloc: use stdnoreturn.h
14886         * lib/xalloc.h: Include <stdnoreturn.h>.
14887         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
14888         * modules/xalloc (Depends-on): Add stdnoreturn.
14889
14890         xstrtol: use stdnoreturn.h
14891         * lib/xstrtol.h: Include <stdnoreturn.h>.
14892         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
14893         * modules/xstrtol (Depends-on): Add stdnoreturn.
14894
14895         xmemdup0: use stdnoreturn.h
14896         * lib/xmemdup0.h: Include <stdnoreturn.h>.
14897         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
14898         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
14899
14900         sigpipe-die: use stdnoreturn.h
14901         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
14902         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
14903         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
14904
14905         openat: use stdnoreturn.h
14906         * lib/openat.h: Include <stdnoreturn.h>.
14907         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
14908         * modules/openat (Depends-on): Add stdnoreturn.
14909
14910         * lib/openat-die.c (openat_save_fail): Modernize comment.
14911
14912         * lib/xalloc-die.c (xalloc_die): Modernize comment.
14913
14914         * lib/glthread/thread.h: Modernize comment.
14915
14916         obstack: use _Noreturn
14917         * lib/obstack.c (__attribute__): Remove macro.
14918         (print_and_abort): Use _Noreturn.
14919
14920         c-stack: use _Noreturn
14921         * lib/c-stack.c (die, overflow_handler, segv_handler):
14922         Use _Noreturn rather than __attribute__((noreturn)).
14923
14924         argmatch-tests, exclude_tests: use _Noreturn
14925         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
14926         Remove.
14927         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
14928
14929         stdlib: use _Noreturn
14930         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
14931         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
14932         * modules/stdlib (Depends-on): Add _Noreturn.
14933         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
14934
14935         stdnoreturn-tests: new module
14936         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
14937
14938         stdnoreturn: new module
14939         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
14940         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
14941
14942         _Noreturn-tests: new module
14943         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
14944
14945         _Noreturn: new module
14946         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
14947         New section, mentioning it.
14948         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
14949
14950         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
14951
14952 2011-07-11  Eric Blake  <eblake@redhat.com>
14953
14954         ffs: new module
14955         * modules/ffs: New file.
14956         * m4/ffs.m4: Likewise.
14957         * lib/ffs.c: Likewise.
14958         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
14959         * modules/strings (Makefile.am): Substitute witness.
14960         (Depends-on): Add c++defs.
14961         * lib/strings.in.h (ffs): Declare.
14962         * modules/ffs-tests: New test file.
14963         * tests/test-ffs.c: Test new module.
14964         * MODULES.html.sh (Integer arithmetic functions): Mention it.
14965         * doc/posix-functions/ffs.texi (ffs): Likewise.
14966
14967         regex: avoid compiler warning
14968         * lib/regex.c (includes): Include <strings.h>, for use of
14969         strcasecmp in regcomp.c.
14970         Reported by Joachim Schmitz.
14971
14972 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
14973
14974         stdint: respect system's intmax_t if INTMAX_MAX
14975         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
14976         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
14977         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
14978         long but int64_t is long long, and where we will clash with the
14979         system intmax_t if we override it.  See
14980         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
14981         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
14982         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
14983         similarly for UINTMAX_C.
14984
14985 2011-07-08  Bruno Haible  <bruno@clisp.org>
14986
14987         pthread_sigmask tests: Avoid a compiler warning.
14988         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
14989         non-zero.
14990
14991         sigprocmask tests: A better way to avoid a compiler warning.
14992         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
14993         (main): Complain if system() returns non-zero.
14994         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
14995
14996 2011-07-08  Bruno Haible  <bruno@clisp.org>
14997
14998         pthread_sigmask: Work around IRIX bug.
14999         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
15000         bug.
15001         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
15002         there may be unblocked pending signals.
15003         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
15004
15005 2011-07-08  Bruno Haible  <bruno@clisp.org>
15006
15007         pthread_sigmask: Work around Cygwin bug.
15008         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
15009         bug.
15010         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
15011         the system's pthread_sigmask function.
15012         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
15013
15014 2011-07-08  Bruno Haible  <bruno@clisp.org>
15015
15016         pthread_sigmask: Work around bug in single-threaded implementation.
15017         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
15018         FreeBSD, HP-UX, Solaris bug.
15019         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
15020         * lib/pthread_sigmask.c: Include <stddef.h>.
15021         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
15022         the system's pthread_sigmask function.
15023         * modules/pthread_sigmask (configure.ac): Invoke
15024         gl_PREREQ_PTHREAD_SIGMASK.
15025         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
15026         HP-UX, Solaris.
15027
15028 2011-07-08  Eric Blake  <eblake@redhat.com>
15029
15030         test-sigprocmask: avoid compiler warning
15031         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
15032         * tests/test-sigprocmask.c (main): Use it to silence warning.
15033         Reported by Jim Meyering.
15034
15035         test-snprintf: avoid compiler warning
15036         * tests/test-snprintf.c (main): Avoid shadowed declaration.
15037         * tests/test-vsnprintf.c (main): Likewise.
15038         Reported by Jim Meyering.
15039
15040 2011-07-08  Bruno Haible  <bruno@clisp.org>
15041
15042         Tests for module 'pthread_sigmask'.
15043         * modules/pthread_sigmask-tests: New file.
15044         * tests/test-pthread_sigmask1.c: New file, based on
15045         tests/test-sigprocmask.c.
15046         * tests/test-pthread_sigmask2.c: New file.
15047
15048 2011-07-08  Jim Meyering  <meyering@redhat.com>
15049
15050         test-getopt.h: avoid warning about an unused variable
15051         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
15052
15053 2011-07-07  Jim Meyering  <meyering@redhat.com>
15054
15055         maint: reduce list of files exempt from sc_prohibit_leading_TABs
15056         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
15057         now that it no longer contains leading TABs.
15058         Remove unused "url=FIXME" statement.
15059
15060 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
15061
15062         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
15063         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
15064         When gl_THREADLIB is not in use, assume that the POSIX sematics
15065         are desired.  This is better for Emacs, which uses POSIX semantics
15066         on GNUish and/or POSIXish platforms, and does not use threads at
15067         all otherwise.
15068
15069         pthread_sigmask: fix typo when testing for libraries
15070         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
15071         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
15072
15073 2011-07-08  Eric Blake  <eblake@redhat.com>
15074
15075         fts: introduce FTS_NOATIME
15076         * lib/fts_.h (FTS_NOATIME): New bit flag.
15077         (FTS_OPTIONMASK): Adjust.
15078         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
15079         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
15080
15081 2011-07-08  Bruno Haible  <bruno@clisp.org>
15082
15083         Tests for module 'thread'.
15084         * modules/thread-tests: New file.
15085         * tests/test-thread_self.c: New file.
15086         * tests/test-thread_create.cc: New file.
15087
15088 2011-07-08  Bruno Haible  <bruno@clisp.org>
15089
15090         thread: Avoid gcc warnings when using gl_thread_self().
15091         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
15092         'void *'.
15093         (gl_thread_self_pointer): Update.
15094
15095 2011-07-07  Bruno Haible  <bruno@clisp.org>
15096
15097         signal-c++-tests: Check declaration of pthread_sigmask.
15098         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
15099         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
15100         $(LIB_PTHREAD_SIGMASK).
15101
15102 2011-07-07  Bruno Haible  <bruno@clisp.org>
15103
15104         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
15105         * lib/signal.in.h (pthread_sigmask): Override if
15106         REPLACE_PTHREAD_SIGMASK is 1.
15107         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
15108         REPLACE_PTHREAD_SIGMASK.
15109         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
15110         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
15111         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
15112         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
15113         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
15114
15115 2011-07-07  Bruno Haible  <bruno@clisp.org>
15116
15117         pthread_sigmask: Ensure declaration in <signal.h>.
15118         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
15119         include <pthread.h>.
15120         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
15121         problem.
15122
15123 2011-07-07  Bruno Haible  <bruno@clisp.org>
15124
15125         pthread_sigmask: Document the module.
15126         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
15127
15128 2011-07-07  Bruno Haible  <bruno@clisp.org>
15129
15130         pthread_sigmask: Follow gnulib conventions.
15131         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
15132         gl_PTHREAD_SIGMASK.
15133         * modules/pthread_sigmask (configure.ac): Update.
15134
15135 2011-07-07  Bruno Haible  <bruno@clisp.org>
15136
15137         pthread_sigmask: Make declaration C++ safe.
15138         * lib/signal.in.h: In two special conditions, just do an #include_next.
15139         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
15140         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
15141         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
15142         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
15143         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
15144         not REPLACE_PTHREAD_MASK.
15145         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
15146         not REPLACE_PTHREAD_MASK.
15147         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
15148
15149 2011-07-07  Bruno Haible  <bruno@clisp.org>
15150
15151         pthread_sigmask: Fix return value.
15152         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
15153         * lib/pthread_sigmask.c: New file.
15154         * modules/pthread_sigmask (Files): Add it.
15155         (configure.ac): Invoke AC_LIBOBJ.
15156
15157 2011-07-07  Eric Blake  <eblake@redhat.com>
15158
15159         getopt: more portable argv creation
15160         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
15161         const, use char arrays rather than strings.
15162         Suggested by Paul Eggert.
15163
15164 2011-07-07  Bruno Haible  <bruno@clisp.org>
15165
15166         Tests for module 'sigprocmask'.
15167         * modules/sigprocmask-tests: New file.
15168         * tests/test-sigprocmask.c: New file.
15169
15170 2011-07-07  Bruno Haible  <bruno@clisp.org>
15171
15172         float tests: Tweak.
15173         * tests/test-float.c (main): Tweak skip message.
15174
15175 2011-07-07  Eric Blake  <eblake@redhat.com>
15176
15177         getopt: avoid compiler warning during configure
15178         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
15179         assigning string literals to non-const pointer.
15180
15181         getopt-gnu: avoid crash in glibc getopt
15182         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
15183         * tests/test-getopt.h (test_getopt): Enhance test.
15184         * tests/test-getopt_long.h (test_getopt_long): Likewise.
15185         * doc/posix-functions/getopt.texi (getopt): Document it.
15186         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
15187         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
15188         Likewise.
15189
15190 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
15191
15192         getopt: handle W; without long options in getopt [BZ #12922]
15193         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
15194         but no long options are defined, just return 'W'.
15195
15196 2011-07-07  Bruno Haible  <bruno@clisp.org>
15197
15198         Avoid literal tabs.
15199         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
15200         variable containing a tab instead of a literal tab.
15201         Reported by Jim Meyering.
15202
15203 2011-07-07  Bruno Haible  <bruno@clisp.org>
15204
15205         Comments.
15206         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
15207
15208 2011-07-06  Bruno Haible  <bruno@clisp.org>
15209
15210         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
15211         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
15212         <winsock2.h>.
15213         (rpl_fd_isset, FD_ISSET): New definitions, copied from
15214         lib/sys_socket.in.h.
15215         (close, gethostname): Hide declarations from <winsock2.h>.
15216         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
15217         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
15218         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
15219         (select): Don't override if gnulib's <sys/select.h> was already
15220         included.
15221         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
15222         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
15223         setsockopt, shutdown, select): Tweak indentation.
15224
15225 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
15226
15227         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
15228         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
15229         in an application that does not use the sys_select module.
15230
15231 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
15232
15233         poll: do not return 0 on timeout=-1
15234         * lib/poll.c: Loop with yield if no events occurred.
15235
15236 2011-07-06  Eric Blake  <eblake@redhat.com>
15237
15238         pthread_sigmask: always replace when not using pthread
15239         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
15240         replacement when using some threading other than pthread.  Fix
15241         logic bug.
15242
15243 2011-07-06  Bruno Haible  <bruno@clisp.org>
15244
15245         Comments.
15246         * m4/printf.m4: Update comments about mingw.
15247
15248 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
15249
15250         sys_select: define sigset_t more portably
15251         * lib/sys_select.in.h: Always include <sys/types.h>, since
15252         we now need sigset_t and mingw defines it there.
15253         Include <signal.h> before split inclusion guard, to avoid
15254         mishaps on Solaris, whose <signal.h> eventually includes us.
15255         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
15256         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
15257         which come from ...
15258         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
15259         gl_CHECK_TYPE_SIGSET_T.
15260         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
15261         does the real work.
15262         * modules/sys_select (Depends-on): Add 'signal'.
15263
15264         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
15265         Suggested by Bruno Haible.
15266
15267         pselect: Use pthread_sigmask, not sigprocmask.
15268         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
15269         multithreaded apps better than sigprocmask does.
15270         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
15271         sigprocmask directly.
15272
15273 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
15274
15275         * lib/pselect.c (pselect): Use plain name, without "rpl_".
15276         Don't #undef,  since we don't need any underlying pselect.
15277         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
15278         (Depends-on): Add select.
15279         (Link): Add $(LIBSOCKET).
15280         These changes suggested by Bruno Haible.
15281
15282         pselect: document better
15283         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
15284         * doc/posix-functions/pselect.texi (pselect): Document new module.
15285
15286         pthread_sigmask: new module
15287         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
15288         * doc/posix-functions/pthread_sigmask.texi: Document new module.
15289         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
15290         This is done only as a macro; I don't know how well that'll
15291         work for C++.  Move <sys/types.h> include before the include_next,
15292         to avoid mishap on Solaris.
15293         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
15294         * modules/signal (Makefile.am): Substitute the check's results.
15295         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
15296
15297         test-pselect: new module
15298         * modules/pselect-tests, tests/test-pselect.c: New files.
15299         * tests/test-select.c, tests/test-sys_select-c++.cc:
15300         If TEST_PSELECT is defined, test pselect instead of testing select.
15301
15302         * tests/test-sys_select.c (sigset_t): Test for it, too.
15303         Suggested by Bruno Haible.
15304
15305 2011-07-05  Eric Blake  <eblake@redhat.com>
15306
15307         snprintf: guarantee %1$d, for libintl
15308         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
15309         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
15310         * doc/posix-functions/snprintf.texi (snprintf): Update.
15311         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
15312         * tests/test-snprintf.c (main): Enhance test.
15313         * tests/test-vsnprintf.c (main): Likewise.
15314
15315 2011-07-05  Jim Meyering  <meyering@redhat.com>
15316
15317         maint: exempt stdio-read.c and stdio-write.c from the cppi check
15318         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
15319         per Bruno's request, to accommodate this idiom (no space after "#")
15320         even when the function is inside an #if block:
15321         char *
15322         gets (char *s)
15323         #undef gets
15324         {
15325           ...
15326         }
15327
15328 2011-07-04  Jim Meyering  <meyering@redhat.com>
15329
15330         maint: indent with spaces, not TABs, and add a rule to check this
15331         * tests/test-userspec.c: Indent with spaces, not TABs.
15332         * tests/test-argp.c: Likewise.
15333         * tests/test-c-stack2.sh: Likewise.
15334         * tests/test-parse-duration.sh: Likewise
15335         * m4/strtod.m4: Likewise.
15336         * m4/alloca.m4: Likewise.
15337         * m4/pselect.m4: Likewise.
15338         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
15339
15340 2011-07-03  Jim Meyering  <meyering@redhat.com>
15341
15342         maint.mk: correct omissions in prohibit_argmatch_without_use check
15343         This rule would mistakenly report that argmatch.h is included without
15344         use even when both the argmatch and invalid_arg macro were used.
15345         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
15346         of argmatch and invalid_arg.
15347
15348 2011-07-03  Bruno Haible  <bruno@clisp.org>
15349
15350         Comments about EINTR.
15351         * lib/safe-read.h: Explain the purpose of this module.
15352         * lib/safe-write.h: Likewise.
15353         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
15354         module.
15355         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
15356         module.
15357         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
15358
15359 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
15360
15361         xnanosleep: Rewrite to use new dtotimespec module.
15362         It has the conversion code that used to be in xnanosleep.
15363         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
15364         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
15365         (TIME_T_MAX): Remove.
15366         (xnanosleep): Rewrite in terms of dtotimespec.
15367         * modules/xnanosleep (Depends-on): Add dtotimespec.
15368         Remove intprops, stdbool.
15369
15370         timespec-add, timespec-sub: new modules
15371         * lib/timespec.h (timespec_add, timespec_sub): New decls.
15372         * lib/timespec-add.c, lib/timespec-sub.c:
15373         * modules/timespec-add, modules/timespec-sub: New files.
15374
15375         dtotimespec: new module
15376         * lib/timespec.h (dtotimespec): New decl.
15377         * lib/dtotimespec.c, modules/dtotimespec: New files.
15378
15379         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
15380
15381         pselect: new module
15382         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
15383         (pselect): New decls.
15384         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
15385         since the standard pselect decl uses 'restrict'.
15386         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
15387         HAVE_PSELECT, REPLACE_PSELECT.
15388         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
15389         HAVE_PSELECT, REPLACE_PSELECT.
15390         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
15391
15392         sys_select: don't depend on sys_socket
15393         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
15394         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
15395         This fix works on GNU and GNU-like platforms, but has not been tested
15396         on native Windows.
15397         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
15398         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
15399         gl_HEADER_SYS_SOCKET.
15400         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
15401         gl_PREREQ_SYS_H_WINSOCK2.
15402
15403 2011-06-29  Eric Blake  <eblake@redhat.com>
15404
15405         pipe2: fix C89 compile problem
15406         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
15407         Reported by Bruno Haible.
15408
15409         pipe, pipe2: don't corrupt fd on error
15410         * lib/pipe.c (pipe): Leave fd unchanged on error.
15411         * lib/pipe2.c (pipe2): Likewise.
15412         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
15413         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
15414
15415 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
15416
15417         mmap-anon: do not use regular expressions inadvertently
15418         * m4/mmap-anon.m4: Remove trailing period from strings sought
15419         in the output.
15420
15421 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
15422
15423         nanosleep: fix integer overflow problem
15424         * lib/nanosleep.c (my_usleep): Don't assume signed integer
15425         arithmetic wraps around on overflow.
15426
15427         nanosleep: simplify carrying
15428         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
15429         first call to the underyling nanosleep, not for the last one.
15430         This doesn't fix any bugs, but it simplifies the computation of
15431         the remaining delay.  Found while auditing integer overflow issues.
15432
15433         dup2: remove test for existence of fcntl
15434         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
15435         "#if HAVE_FCNTL", in the configure-time test program.
15436         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
15437         and therefore speeds up "configure" a bit.  Found while
15438         adding the dup2 module to Emacs.
15439
15440 2011-06-24  Eric Blake  <eblake@redhat.com>
15441
15442         maint.mk: enhance useless header checks
15443         * top/maint.mk (_sc_header_without_use): Check both include
15444         styles.
15445         (sc_prohibit_assert_without_use)
15446         (sc_prohibit_close_stream_without_use)
15447         (sc_prohibit_getopt_without_use)
15448         (sc_prohibit_quotearg_without_use)
15449         (sc_prohibit_quote_without_use)
15450         (sc_prohibit_long_options_without_use)
15451         (sc_prohibit_inttostr_without_use)
15452         (sc_prohibit_ignore_value_without_use)
15453         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
15454         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
15455         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
15456         (sc_prohibit_hash_pjw_without_use)
15457         (sc_prohibit_safe_read_without_use)
15458         (sc_prohibit_argmatch_without_use)
15459         (sc_prohibit_canonicalize_without_use)
15460         (sc_prohibit_root_dev_ino_without_use)
15461         (sc_prohibit_openat_without_use)
15462         (sc_prohibit_c_ctype_without_use)
15463         (sc_prohibit_signal_without_use)
15464         (sc_prohibit_stdio--_without_use)
15465         (sc_prohibit_stdio-safer_without_use)
15466         (sc_prohibit_strings_without_use)
15467         (sc_prohibit_intprops_without_use)
15468         (sc_prohibit_stddef_without_use)
15469         (sc_prohibit_xfreopen_without_use): Update clients.
15470
15471 2011-06-24  Jim Meyering  <meyering@redhat.com>
15472
15473         syntax-check: keep one maint.mk rule in sync with its header
15474         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
15475         of the bug Eric has just fixed, with today's commit 25e4c2ec.
15476         I prefer to avoid temporary files here, so use <(...), but that
15477         is not supported by /bin/sh, so...
15478         (SHELL): Define to /bin/bash.
15479
15480 2011-06-24  Eric Blake  <eblake@redhat.com>
15481
15482         maint.mk: update sc_prohibit_intprops_without_use
15483         * top/maint.mk (_intprops_names): Match recent changes.
15484
15485 2011-06-24  Bruno Haible  <bruno@clisp.org>
15486
15487         strerror-override: No-op tweak.
15488         * lib/strerror-override.h (strerror_override): Reorder conditions,
15489         for consistency with lib/strerror-override.c.
15490
15491 2011-06-23  Eric Blake  <eblake@redhat.com>
15492
15493         maint.mk: test further PATH_MAX issues
15494         * top/maint.mk (sc_prohibit_path_max_array): Rename...
15495         (sc_prohibit_path_max_allocation): ...and also test alloca.
15496         Suggested by Jim Meyering.
15497
15498 2011-06-22  Eric Blake  <eblake@redhat.com>
15499
15500         maint.mk: add syntax-check to avoid char[PATH_MAX]
15501         * top/maint.mk (sc_prohibit_path_max_array): New rule.
15502
15503         stat: be robust to PATH_MAX definition
15504         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
15505         * modules/stat (Depends-on): Add verify.
15506
15507         link: work around IRIX bug
15508         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
15509         * lib/link.c (rpl_link): Work around it.
15510         * tests/test-link.h (test_link): Enhance test.
15511         * doc/posix-functions/link.texi (link): Document the bug.
15512
15513         getopt: silence clang warning
15514         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
15515         dereference.
15516         Reported by Gustavo Martin Domato.
15517
15518 2011-06-22  Jim Meyering  <meyering@redhat.com>
15519
15520         bootstrap: do not insert a blank line into each .gitignore file
15521         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
15522
15523 2011-06-21  Eric Blake  <eblake@redhat.com>
15524
15525         perror: test for output mismatch
15526         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
15527         perror on IRIX.
15528
15529         strerror_r: fix OpenBSD behavior on out-of-range
15530         * lib/strerror_r.c (strerror_r): Always use maximal string.
15531         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
15532
15533         strerror_r: fix OpenBSD behavior on 0
15534         * lib/strerror-override.c (strerror_override): Also override 0
15535         when needed.
15536         * lib/strerror-override.h (strerror_override): Likewise.
15537         * lib/strerror.c (strerror): Simplify, now that 0 override is done
15538         earlier.
15539         * lib/strerror_r.c (strerror_r): Likewise.
15540         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
15541         behavior...
15542         (gl_FUNC_STRERROR_0): ...into new macro.
15543         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
15544         is overridden.
15545         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
15546         * modules/strerror-override (Files): Add strerror.m4.
15547         (configure.ac): Also provide override for 0 when needed.
15548         * doc/posix-functions/strerror.texi (strerror): Document this.
15549         * doc/posix-functions/perror.texi (perror): Likewise.
15550
15551         perror: adjust array size
15552         * modules/perror (Depends-on): Add strerror-override.
15553         * lib/perror.c (perror): Use it to avoid magic number.
15554
15555         strerror-override: reduce size
15556         * lib/strerror-override.c (strerror_override): Use fewer lines.
15557
15558 2011-06-20  Bruno Haible  <bruno@clisp.org>
15559
15560         pathmax: Ensure correct value for PATH_MAX on HP-UX.
15561         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
15562
15563 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
15564
15565         alloca: port to compilers that can optimize like GCC 4.6.0
15566         * lib/alloca.c (find_stack_direction): New signature, taken from
15567         Autoconf git.  This works with GCC 4.6.0.  This code should never
15568         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
15569         be used with other compilers that optimize as well as GCC 4.6.0 does.
15570         (alloca): Adjust to new signature.
15571         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
15572         New macro, which patches Autoconf in a similar way.
15573
15574         c-stack: stop worrying about stack direction
15575         * lib/c-stack.c (find_stack_direction): Remove.
15576         (segv_handler): Don't worry about stack direction growth, as it's
15577         too much of a pain to configure this correctly, given how compilers
15578         are optimizing-away our stack-growth detection code.  Instead, assume
15579         that any access to just before or just after the stack is OK.
15580         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
15581         Don't require AC_FUNC_ALLOCA; no longer needed.
15582
15583 2011-06-20  Eric Blake  <eblake@redhat.com>
15584
15585         test-stat: don't allocate PATH_MAX bytes
15586         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
15587         PATH_MAX-sized buffer.
15588         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
15589         * modules/stat-tests (Depends-on): Likewise.
15590         * tests/test-fstatat.c (includes): Drop pathmax.h.
15591         * tests/test-stat.c (includes): Likewise.
15592         Reported by Bruno Haible.
15593
15594 2011-06-20  Bruno Haible  <bruno@clisp.org>
15595
15596         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
15597         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
15598         * lib/float.c: New file.
15599         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
15600         REPLACE_FLOAT_LDBL.
15601         * modules/float (Files): Add lib/float.c.
15602         (configure.ac): Invoke AC_LIBOBJ.
15603         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
15604
15605 2011-06-20  Bruno Haible  <bruno@clisp.org>
15606
15607         Tests for module 'float'.
15608         * modules/float-tests: New file.
15609         * tests/test-float.c: New file.
15610
15611 2011-06-19  Bruno Haible  <bruno@clisp.org>
15612
15613         isinf: Coding style.
15614         * lib/isinf.c: Use GNU coding style.
15615
15616 2011-06-19  Bruno Haible  <bruno@clisp.org>
15617
15618         linkat test: Avoid test failure on AIX 7.1.
15619         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
15620         * tests/test-link.h (test_link): Likewise.
15621
15622 2011-06-19  Bruno Haible  <bruno@clisp.org>
15623
15624         pread test: Avoid test failure on OpenBSD 4.9.
15625         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
15626
15627 2011-06-19  Bruno Haible  <bruno@clisp.org>
15628
15629         sprintf-posix: Fix test failure on AIX 7.1.
15630         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
15631         * doc/posix-functions/dprintf.texi: Mention limited precision problem
15632         on AIX.
15633         * doc/posix-functions/fprintf.texi: Likewise.
15634         * doc/posix-functions/printf.texi: Likewise.
15635         * doc/posix-functions/snprintf.texi: Likewise.
15636         * doc/posix-functions/sprintf.texi: Likewise.
15637         * doc/posix-functions/vdprintf.texi: Likewise.
15638         * doc/posix-functions/vfprintf.texi: Likewise.
15639         * doc/posix-functions/vprintf.texi: Likewise.
15640         * doc/posix-functions/vsnprintf.texi: Likewise.
15641         * doc/posix-functions/vsprintf.texi: Likewise.
15642
15643 2011-06-19  Bruno Haible  <bruno@clisp.org>
15644
15645         roundl-ieee: Fix test failure on AIX 7.1.
15646         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
15647         * doc/posix-functions/roundl.texi: Mention problem with negative
15648         arguments.
15649
15650 2011-06-19  Bruno Haible  <bruno@clisp.org>
15651
15652         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
15653         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
15654         * doc/posix-functions/round.texi: Mention problem with negative
15655         arguments.
15656         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
15657
15658 2011-06-19  Bruno Haible  <bruno@clisp.org>
15659
15660         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
15661         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
15662         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
15663         * doc/posix-functions/roundf.texi: Mention problem with negative
15664         arguments.
15665         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
15666
15667 2011-06-19  Bruno Haible  <bruno@clisp.org>
15668
15669         ceilf-ieee: Work around bug on MacOS X 10.5.
15670         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
15671
15672         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
15673         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
15674         IEEE compliant, avoid compiler optimizations.
15675         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
15676         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
15677         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
15678         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
15679         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
15680         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
15681         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
15682         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
15683         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
15684         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
15685
15686 2011-06-19  Bruno Haible  <bruno@clisp.org>
15687
15688         ceilf-ieee: Work around bug on AIX 7.1.
15689         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
15690         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
15691
15692 2011-06-19  Bruno Haible  <bruno@clisp.org>
15693
15694         ceil-ieee: Work around bug on AIX 7.1.
15695         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
15696         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
15697
15698 2011-06-18  Bruno Haible  <bruno@clisp.org>
15699
15700         fsync test: Avoid test failure on MacOS X and AIX.
15701         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
15702         EINVAL.
15703
15704 2011-06-18  Bruno Haible  <bruno@clisp.org>
15705
15706         openat, fdopendir tests: Fix link errors.
15707         * modules/openat-tests (Depends-on): Add progname.
15708         * modules/fdopendir-tests (Depends-on): Likewise.
15709         * tests/test-fchownat.c: Include progname.h.
15710         (main): Call set_program_name.
15711         * tests/test-fstatat.c: Include progname.h.
15712         (main): Call set_program_name.
15713         * tests/test-mkdirat.c: Include progname.h.
15714         (main): Call set_program_name.
15715         * tests/test-openat.c: Include progname.h.
15716         (main): Call set_program_name.
15717         * tests/test-unlinkat.c: Include progname.h.
15718         (main): Call set_program_name.
15719         * tests/test-fdopendir.c: Include progname.h.
15720         (main): Call set_program_name.
15721
15722 2011-06-18  Bruno Haible  <bruno@clisp.org>
15723
15724         Doc update.
15725         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
15726         HP-UX.
15727         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
15728
15729 2011-06-18  Bruno Haible  <bruno@clisp.org>
15730
15731         getcwd tests: Avoid compilation error on HP-UX 11.31.
15732         * modules/getcwd-tests (Depends-on): Add pathmax.
15733         * tests/test-getcwd.c: Include pathmax.h.
15734
15735 2011-06-18  Bruno Haible  <bruno@clisp.org>
15736
15737         isfinite, isinf: Fix link error on AIX 6 and 7.
15738         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
15739         needed, also test the macro with a 'float' argument.
15740         * m4/isinf.m4 (gl_ISINF): Likewise.
15741
15742 2011-06-18  Bruno Haible  <bruno@clisp.org>
15743
15744         getloadavg: Don't clobber LIBS. Regression from previous commit.
15745         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
15746         AC_CHECK_LIB from here...
15747         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
15748         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
15749         gl_func_getloadavg_done.
15750         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15751
15752 2011-06-18  Bruno Haible  <bruno@clisp.org>
15753
15754         clean-temp: Improve documentation.
15755         * lib/clean-temp.h: Explain better how to use this module.
15756         Reported by John Darrington <john@darrington.wattle.id.au>.
15757
15758 2011-06-17  Bruno Haible  <bruno@clisp.org>
15759
15760         pread, pwrite: Avoid cc warning on AIX.
15761         * lib/unistd.in.h (pread): Undefine before defining as a macro.
15762         (pwrite): Likewise.
15763
15764 2011-06-17  Bruno Haible  <bruno@clisp.org>
15765
15766         spawn-pipe tests: Fix link error.
15767         * tests/test-spawn-pipe-child.c: Undefine fprintf.
15768         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15769
15770 2011-06-17  Bruno Haible  <bruno@clisp.org>
15771
15772         Tests: Remove unnecessary dependency.
15773         * modules/canonicalize-tests (Depends-on): Remove progname.
15774         * modules/chown-tests (Depends-on): Likewise.
15775         * modules/dirname-tests (Depends-on): Likewise.
15776         * modules/fdopendir-tests (Depends-on): Likewise.
15777         * modules/fdutimensat-tests (Depends-on): Likewise.
15778         * modules/hash-tests (Depends-on): Likewise.
15779         * modules/lchown-tests (Depends-on): Likewise.
15780         * modules/linkat-tests (Depends-on): Likewise.
15781         * modules/renameat-tests (Depends-on): Likewise.
15782         * modules/spawn-pipe-tests (Depends-on): Likewise.
15783         * modules/utimensat-tests (Depends-on): Likewise.
15784
15785 2011-06-17  Bruno Haible  <bruno@clisp.org>
15786
15787         spawn-pipe tests: Fix link error.
15788         * tests/test-spawn-pipe-child.c: Undefine fflush.
15789
15790 2011-06-17  Bruno Haible  <bruno@clisp.org>
15791
15792         Fix tests link errors.
15793         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
15794         * modules/chown-tests (Makefile.am): Don't link test-chown with
15795         LIBINTL.
15796         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
15797         LIBINTL.
15798         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
15799         LIBINTL.
15800         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
15801         LIBINTL.
15802
15803 2011-06-16  Bruno Haible  <bruno@clisp.org>
15804
15805         crypto/gc-sha1: Fix recent regression.
15806         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
15807         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
15808
15809         crypto/gc-md5: Fix recent regression.
15810         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
15811
15812         crypto/gc-md4: Fix recent regression.
15813         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
15814         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
15815
15816         crypto/gc-arctwo: Fix recent regression.
15817         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
15818         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
15819
15820         crypto/gc-rijndael: Fix recent regression.
15821         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
15822         (configure.ac): Invoke AC_LIBOBJ here.
15823         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
15824         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15825
15826         crypto/gc-hmac-sha1: Fix recent regression.
15827         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
15828         (configure.ac): Invoke AC_LIBOBJ here.
15829         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
15830         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15831
15832         crypto/gc-hmac-md5: Fix recent regression.
15833         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
15834         (configure.ac): Invoke AC_LIBOBJ here.
15835         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
15836         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15837
15838         crypto/gc-des: Fix recent regression.
15839         * modules/crypto/gc-des (Files): Remove m4/des.m4.
15840         (configure.ac): Invoke AC_LIBOBJ here.
15841         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
15842         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15843
15844         crypto/gc-arcfour: Fix recent regression.
15845         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
15846         (configure.ac): Invoke AC_LIBOBJ here.
15847         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
15848         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15849
15850 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
15851
15852         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
15853         After the 2011-05-21 change, this macro requires
15854         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
15855         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
15856
15857 2011-06-16  Bruno Haible  <bruno@clisp.org>
15858
15859         fprintftime: Move AC_LIBOBJ invocations to module description.
15860         * m4/fprintftime.m4: Remove file.
15861         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
15862         (configure.ac): Remove gl_FPRINTFTIME call.
15863         (Makefile.am): Augment lib_SOURCES.
15864         Reported by Jim Meyering.
15865
15866 2011-06-16  Bruno Haible  <bruno@clisp.org>
15867
15868         tmpfile-safer: Finish 2011-05-23 commit.
15869         * m4/stdio-safer.m4: Really remove file.
15870         Reported by Jim Meyering.
15871
15872 2011-06-16  Bruno Haible  <bruno@clisp.org>
15873
15874         syntax-check: Fix typo.
15875         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
15876         printf-posix.m4.
15877         Reported by Jim Meyering.
15878
15879 2011-06-13  Jim Meyering  <meyering@redhat.com>
15880
15881         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
15882         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
15883
15884 2011-05-23  Bruno Haible  <bruno@clisp.org>
15885
15886         yesno: Move AC_LIBOBJ invocations to module description.
15887         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
15888         * modules/yesno (Makefile.am): Augment lib_SOURCES.
15889
15890 2011-05-23  Bruno Haible  <bruno@clisp.org>
15891
15892         xstrtol: Move AC_LIBOBJ invocations to module description.
15893         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
15894         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
15895
15896 2011-05-23  Bruno Haible  <bruno@clisp.org>
15897
15898         xstrtold: Move AC_LIBOBJ invocations to module description.
15899         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
15900         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
15901
15902 2011-05-23  Bruno Haible  <bruno@clisp.org>
15903
15904         xstrtod: Move AC_LIBOBJ invocations to module description.
15905         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
15906         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
15907
15908 2011-05-23  Bruno Haible  <bruno@clisp.org>
15909
15910         xnanosleep: Move AC_LIBOBJ invocations to module description.
15911         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
15912         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
15913
15914 2011-05-23  Bruno Haible  <bruno@clisp.org>
15915
15916         xgetcwd: Move AC_LIBOBJ invocations to module description.
15917         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
15918         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
15919
15920 2011-05-23  Bruno Haible  <bruno@clisp.org>
15921
15922         xalloc: Move AC_LIBOBJ invocations to module description.
15923         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
15924         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
15925
15926 2011-05-23  Bruno Haible  <bruno@clisp.org>
15927
15928         write-any-file: Move AC_LIBOBJ invocations to module description.
15929         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
15930         invocation.
15931         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
15932
15933 2011-05-23  Bruno Haible  <bruno@clisp.org>
15934
15935         utimens: Move AC_LIBOBJ invocations to module description.
15936         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
15937         * modules/utimens (Makefile.am): Augment lib_SOURCES.
15938
15939 2011-05-23  Bruno Haible  <bruno@clisp.org>
15940
15941         utimecmp: Move AC_LIBOBJ invocations to module description.
15942         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
15943         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
15944
15945 2011-05-23  Bruno Haible  <bruno@clisp.org>
15946
15947         userspec: Move AC_LIBOBJ invocations to module description.
15948         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
15949         * modules/userspec (Makefile.am): Augment lib_SOURCES.
15950
15951 2011-05-23  Bruno Haible  <bruno@clisp.org>
15952
15953         unlinkdir: Move AC_LIBOBJ invocations to module description.
15954         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
15955         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
15956
15957 2011-05-23  Bruno Haible  <bruno@clisp.org>
15958
15959         unistd-safer: Move AC_LIBOBJ invocations to module description.
15960         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
15961         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
15962
15963 2011-05-23  Bruno Haible  <bruno@clisp.org>
15964
15965         tempname: Move AC_LIBOBJ invocations to module description.
15966         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
15967         * modules/tempname (Makefile.am): Augment lib_SOURCES.
15968
15969 2011-05-23  Bruno Haible  <bruno@clisp.org>
15970
15971         strftime: Move AC_LIBOBJ invocations to module description.
15972         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
15973         * modules/strftime (Makefile.am): Augment lib_SOURCES.
15974
15975 2011-05-23  Bruno Haible  <bruno@clisp.org>
15976
15977         stdlib-safer: Move AC_LIBOBJ invocations to module description.
15978         * m4/stdlib-safer.m4: Remove file.
15979         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
15980         (configure.ac): Remove gl_STDLIB_SAFER call.
15981         (Makefile.am): Augment lib_SOURCES.
15982
15983 2011-05-23  Bruno Haible  <bruno@clisp.org>
15984
15985         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
15986         * m4/stdio-safer.m4: Remove file.
15987         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
15988         (configure.ac): Remove gl_TMPFILE_SAFER call.
15989         (Makefile.am): Augment lib_SOURCES.
15990
15991 2011-05-23  Bruno Haible  <bruno@clisp.org>
15992
15993         popen-safer: Move AC_LIBOBJ invocations to module description.
15994         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
15995         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
15996         (configure.ac): Remove gl_POPEN_SAFER call.
15997         (Makefile.am): Augment lib_SOURCES.
15998
15999 2011-05-23  Bruno Haible  <bruno@clisp.org>
16000
16001         freopen-safer: Move AC_LIBOBJ invocations to module description.
16002         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
16003         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
16004         (configure.ac): Remove gl_FREOPEN_SAFER call.
16005         (Makefile.am): Augment lib_SOURCES.
16006
16007 2011-05-23  Bruno Haible  <bruno@clisp.org>
16008
16009         fopen-safer: Move AC_LIBOBJ invocations to module description.
16010         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
16011         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
16012         (configure.ac): Remove gl_FOPEN_SAFER call.
16013         (Makefile.am): Augment lib_SOURCES.
16014
16015 2011-05-23  Bruno Haible  <bruno@clisp.org>
16016
16017         crypto/sha512: Move AC_LIBOBJ invocations to module description.
16018         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
16019         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
16020
16021 2011-05-23  Bruno Haible  <bruno@clisp.org>
16022
16023         crypto/sha256: Move AC_LIBOBJ invocations to module description.
16024         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
16025         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
16026
16027 2011-05-23  Bruno Haible  <bruno@clisp.org>
16028
16029         crypto/sha1: Move AC_LIBOBJ invocations to module description.
16030         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
16031         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
16032
16033 2011-05-23  Bruno Haible  <bruno@clisp.org>
16034
16035         settime: Move AC_LIBOBJ invocations to module description.
16036         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
16037         * modules/settime (Makefile.am): Augment lib_SOURCES.
16038
16039 2011-05-23  Bruno Haible  <bruno@clisp.org>
16040
16041         savedir: Move AC_LIBOBJ invocations to module description.
16042         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
16043         * modules/savedir (Makefile.am): Augment lib_SOURCES.
16044
16045 2011-05-23  Bruno Haible  <bruno@clisp.org>
16046
16047         save-cwd: Move AC_LIBOBJ invocations to module description.
16048         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
16049         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
16050
16051 2011-05-23  Bruno Haible  <bruno@clisp.org>
16052
16053         same: Move AC_LIBOBJ invocations to module description.
16054         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
16055         * modules/same (Makefile.am): Augment lib_SOURCES.
16056
16057 2011-05-23  Bruno Haible  <bruno@clisp.org>
16058
16059         safe-write: Move AC_LIBOBJ invocations to module description.
16060         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
16061         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
16062         instead of gl_SAFE_WRITE.
16063         (Makefile.am): Augment lib_SOURCES.
16064
16065 2011-05-23  Bruno Haible  <bruno@clisp.org>
16066
16067         safe-read: Move AC_LIBOBJ invocations to module description.
16068         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
16069         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
16070         of gl_SAFE_READ.
16071         (Makefile.am): Augment lib_SOURCES.
16072
16073 2011-05-23  Bruno Haible  <bruno@clisp.org>
16074
16075         safe-alloc: Move AC_LIBOBJ invocations to module description.
16076         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
16077         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
16078
16079 2011-05-23  Bruno Haible  <bruno@clisp.org>
16080
16081         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
16082         * m4/rijndael.m4: Remove file.
16083         * modules/crypto/rijndael (Files): Remove it.
16084         (configure.ac): Remove gl_RIJNDAEL call.
16085         (Makefile.am): Augment lib_SOURCES.
16086
16087 2011-05-23  Bruno Haible  <bruno@clisp.org>
16088
16089         readtokens: Move AC_LIBOBJ invocations to module description.
16090         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
16091         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
16092
16093 2011-05-23  Bruno Haible  <bruno@clisp.org>
16094
16095         read-file: Move AC_LIBOBJ invocations to module description.
16096         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
16097         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
16098         of gl_FUNC_READ_FILE.
16099         (Makefile.am): Augment lib_SOURCES.
16100
16101 2011-05-23  Bruno Haible  <bruno@clisp.org>
16102
16103         quotearg: Move AC_LIBOBJ invocations to module description.
16104         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
16105         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
16106
16107 2011-05-23  Bruno Haible  <bruno@clisp.org>
16108
16109         quote: Move AC_LIBOBJ invocations to module description.
16110         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
16111         * modules/quote (Makefile.am): Augment lib_SOURCES.
16112
16113 2011-05-23  Bruno Haible  <bruno@clisp.org>
16114
16115         posixver: Move AC_LIBOBJ invocations to module description.
16116         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
16117         * modules/posixver (Makefile.am): Augment lib_SOURCES.
16118
16119 2011-05-23  Bruno Haible  <bruno@clisp.org>
16120
16121         posixtm: Move AC_LIBOBJ invocations to module description.
16122         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
16123         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
16124
16125 2011-05-23  Bruno Haible  <bruno@clisp.org>
16126
16127         physmem: Move AC_LIBOBJ invocations to module description.
16128         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
16129         * modules/physmem (Makefile.am): Augment lib_SOURCES.
16130
16131 2011-05-23  Bruno Haible  <bruno@clisp.org>
16132
16133         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
16134         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
16135         invocation.
16136         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
16137
16138 2011-05-23  Bruno Haible  <bruno@clisp.org>
16139
16140         mpsort: Move AC_LIBOBJ invocations to module description.
16141         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
16142         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
16143
16144 2011-05-23  Bruno Haible  <bruno@clisp.org>
16145
16146         modechange: Move AC_LIBOBJ invocations to module description.
16147         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
16148         * modules/modechange (Makefile.am): Augment lib_SOURCES.
16149
16150 2011-05-23  Bruno Haible  <bruno@clisp.org>
16151
16152         mkdir-p: Move AC_LIBOBJ invocations to module description.
16153         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
16154         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
16155
16156 2011-05-23  Bruno Haible  <bruno@clisp.org>
16157
16158         mkancesdirs: Move AC_LIBOBJ invocations to module description.
16159         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
16160         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
16161
16162 2011-05-23  Bruno Haible  <bruno@clisp.org>
16163
16164         mgetgroups: Move AC_LIBOBJ invocations to module description.
16165         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
16166         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
16167
16168 2011-05-23  Bruno Haible  <bruno@clisp.org>
16169
16170         memxor: Move AC_LIBOBJ invocations to module description.
16171         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
16172         * modules/memxor (Makefile.am): Augment lib_SOURCES.
16173
16174 2011-05-23  Bruno Haible  <bruno@clisp.org>
16175
16176         memcoll: Move AC_LIBOBJ invocations to module description.
16177         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
16178         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
16179
16180 2011-05-23  Bruno Haible  <bruno@clisp.org>
16181
16182         memcasecmp: Move AC_LIBOBJ invocations to module description.
16183         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
16184         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
16185
16186 2011-05-23  Bruno Haible  <bruno@clisp.org>
16187
16188         crypto/md5: Move AC_LIBOBJ invocations to module description.
16189         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
16190         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
16191
16192 2011-05-23  Bruno Haible  <bruno@clisp.org>
16193
16194         crypto/md4: Move AC_LIBOBJ invocations to module description.
16195         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
16196         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
16197
16198 2011-05-23  Bruno Haible  <bruno@clisp.org>
16199
16200         crypto/md2: Move AC_LIBOBJ invocations to module description.
16201         * m4/md2.m4: Remove file.
16202         * modules/crypto/md2 (Files): Remove it.
16203         (configure.ac): Remove gl_MD2 call.
16204         (Makefile.am): Augment lib_SOURCES.
16205
16206 2011-05-23  Bruno Haible  <bruno@clisp.org>
16207
16208         long-options: Move AC_LIBOBJ invocations to module description.
16209         * m4/long-options.m4: Remove file.
16210         * modules/long-options (Files): Remove it.
16211         (configure.ac): Remove gl_LONG_OPTIONS call.
16212         (Makefile.am): Augment lib_SOURCES.
16213
16214 2011-05-23  Bruno Haible  <bruno@clisp.org>
16215
16216         i-ring: Move AC_LIBOBJ invocations to module description.
16217         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
16218         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
16219
16220 2011-05-23  Bruno Haible  <bruno@clisp.org>
16221
16222         idcache: Move AC_LIBOBJ invocations to module description.
16223         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
16224         * modules/idcache (Makefile.am): Augment lib_SOURCES.
16225
16226 2011-05-23  Bruno Haible  <bruno@clisp.org>
16227
16228         human: Move AC_LIBOBJ invocations to module description.
16229         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
16230         * modules/human (Makefile.am): Augment lib_SOURCES.
16231
16232 2011-05-23  Bruno Haible  <bruno@clisp.org>
16233
16234         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
16235         * m4/hmac-sha1.m4: Remove file.
16236         * modules/crypto/hmac-sha1 (Files): Remove it.
16237         (configure.ac): Remove gl_HMAC_SHA1 call.
16238         (Makefile.am): Augment lib_SOURCES.
16239
16240 2011-05-23  Bruno Haible  <bruno@clisp.org>
16241
16242         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
16243         * m4/hmac-md5.m4: Remove file.
16244         * modules/crypto/hmac-md5 (Files): Remove it.
16245         (configure.ac): Remove gl_HMAC_MD5 call.
16246         (Makefile.am): Augment lib_SOURCES.
16247
16248 2011-05-23  Bruno Haible  <bruno@clisp.org>
16249
16250         hash: Move AC_LIBOBJ invocations to module description.
16251         * m4/hash.m4: Remove file.
16252         * modules/hash (Files): Remove it.
16253         (configure.ac): Remove gl_HASH call.
16254         (Makefile.am): Augment lib_SOURCES.
16255
16256 2011-05-23  Bruno Haible  <bruno@clisp.org>
16257
16258         hard-locale: Move AC_LIBOBJ invocations to module description.
16259         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
16260         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
16261
16262 2011-05-23  Bruno Haible  <bruno@clisp.org>
16263
16264         getugroups: Move AC_LIBOBJ invocations to module description.
16265         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
16266         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
16267
16268 2011-05-23  Bruno Haible  <bruno@clisp.org>
16269
16270         gettime: Move AC_LIBOBJ invocations to module description.
16271         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
16272         * modules/gettime (Makefile.am): Augment lib_SOURCES.
16273
16274 2011-05-23  Bruno Haible  <bruno@clisp.org>
16275
16276         getndelim2: Move AC_LIBOBJ invocations to module description.
16277         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
16278         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
16279
16280 2011-05-23  Bruno Haible  <bruno@clisp.org>
16281
16282         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
16283         * m4/gc-pbkdf2-sha1.m4: Remove file.
16284         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
16285         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
16286         (Makefile.am): Augment lib_SOURCES.
16287
16288 2011-05-23  Bruno Haible  <bruno@clisp.org>
16289
16290         fts: Move AC_LIBOBJ invocations to module description.
16291         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
16292         * modules/fts (configure.ac): ... to here.
16293
16294 2011-05-23  Bruno Haible  <bruno@clisp.org>
16295
16296         file-type: Move AC_LIBOBJ invocations to module description.
16297         * m4/file-type.m4: Remove file.
16298         * modules/file-type (Files): Remove it.
16299         (configure.ac): Remove gl_FILE_TYPE call.
16300         (Makefile.am): Augment lib_SOURCES.
16301
16302 2011-05-23  Bruno Haible  <bruno@clisp.org>
16303
16304         filenamecat*: Respect rules for use of AC_LIBOBJ.
16305         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
16306         Remove AC_LIBOBJ invocation.
16307         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
16308         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
16309
16310 2011-05-23  Bruno Haible  <bruno@clisp.org>
16311
16312         filemode: Move AC_LIBOBJ invocations to module description.
16313         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
16314         * modules/filemode (Makefile.am): Augment lib_SOURCES.
16315
16316 2011-05-23  Bruno Haible  <bruno@clisp.org>
16317
16318         openat-safer: Move AC_LIBOBJ invocations to module description.
16319         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
16320         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
16321
16322 2011-05-23  Bruno Haible  <bruno@clisp.org>
16323
16324         fcntl-safer: Move AC_LIBOBJ invocations to module description.
16325         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
16326         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
16327
16328 2011-05-23  Bruno Haible  <bruno@clisp.org>
16329
16330         exclude: Move AC_LIBOBJ invocations to module description.
16331         * m4/exclude.m4: Remove file.
16332         * modules/exclude (Files): Remove it.
16333         (configure.ac): Remove gl_EXCLUDE call.
16334         (Makefile.am): Augment lib_SOURCES.
16335
16336 2011-05-23  Bruno Haible  <bruno@clisp.org>
16337
16338         dirname*: Respect rules for use of AC_LIBOBJ.
16339         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
16340         invocations.
16341         * modules/dirname (Makefile.am): Augment lib_SOURCES.
16342         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
16343
16344 2011-05-23  Bruno Haible  <bruno@clisp.org>
16345
16346         dirent-safer: Move AC_LIBOBJ invocations to module description.
16347         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
16348         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
16349
16350 2011-05-23  Bruno Haible  <bruno@clisp.org>
16351
16352         crypto/des: Move AC_LIBOBJ invocations to module description.
16353         * m4/des.m4: Remove file.
16354         * modules/crypto/des (Files): Remove it.
16355         (configure.ac): Remove gl_DES call.
16356         (Makefile.am): Augment lib_SOURCES.
16357
16358 2011-05-23  Bruno Haible  <bruno@clisp.org>
16359
16360         cycle-check: Move AC_LIBOBJ invocations to module description.
16361         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
16362         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
16363
16364 2011-05-23  Bruno Haible  <bruno@clisp.org>
16365
16366         c-strtold: Move AC_LIBOBJ invocations to module description.
16367         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
16368         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
16369
16370 2011-05-23  Bruno Haible  <bruno@clisp.org>
16371
16372         c-strtod: Move AC_LIBOBJ invocations to module description.
16373         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
16374         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
16375
16376 2011-05-23  Bruno Haible  <bruno@clisp.org>
16377
16378         crc: Move AC_LIBOBJ invocations to module description.
16379         * m4/crc.m4: Remove file.
16380         * modules/crc (Files): Remove it.
16381         (configure.ac): Remove gl_CRC call.
16382         (Makefile.am): Augment lib_SOURCES.
16383
16384 2011-05-23  Bruno Haible  <bruno@clisp.org>
16385
16386         close-stream: Move AC_LIBOBJ invocations to module description.
16387         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
16388         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
16389
16390 2011-05-23  Bruno Haible  <bruno@clisp.org>
16391
16392         closeout: Move AC_LIBOBJ invocations to module description.
16393         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
16394         * modules/closeout (Makefile.am): Augment lib_SOURCES.
16395
16396 2011-05-23  Bruno Haible  <bruno@clisp.org>
16397
16398         closein: Move AC_LIBOBJ invocations to module description.
16399         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
16400         * modules/closein (Makefile.am): Augment lib_SOURCES.
16401
16402 2011-05-23  Bruno Haible  <bruno@clisp.org>
16403
16404         cloexec: Move AC_LIBOBJ invocations to module description.
16405         * m4/cloexec.m4: Remove file.
16406         * modules/cloexec (Files): Remove it.
16407         (configure.ac): Remove gl_CLOEXEC call.
16408         (Makefile.am): Augment lib_SOURCES.
16409
16410 2011-05-23  Bruno Haible  <bruno@clisp.org>
16411
16412         check-version: Move AC_LIBOBJ invocations to module description.
16413         * m4/check-version.m4: Remove file.
16414         * modules/check-version (Files): Remove it.
16415         (configure.ac): Remove gl_CHECK_VERSION call.
16416         (Makefile.am): Augment lib_SOURCES.
16417
16418 2011-05-23  Bruno Haible  <bruno@clisp.org>
16419
16420         chdir-safer: Move AC_LIBOBJ invocations to module description.
16421         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
16422         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
16423
16424 2011-05-23  Bruno Haible  <bruno@clisp.org>
16425
16426         canonicalize: Move AC_LIBOBJ invocations to module description.
16427         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
16428         AC_LIBOBJ invocation.
16429         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
16430
16431 2011-05-23  Bruno Haible  <bruno@clisp.org>
16432
16433         canon-host: Move AC_LIBOBJ invocations to module description.
16434         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
16435         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
16436         instead of gl_CANON_HOST.
16437         (Makefile.am): Augment lib_SOURCES.
16438
16439 2011-05-23  Bruno Haible  <bruno@clisp.org>
16440
16441         backupfile: Move AC_LIBOBJ invocations to module description.
16442         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
16443         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
16444
16445 2011-05-23  Bruno Haible  <bruno@clisp.org>
16446
16447         argmatch: Move AC_LIBOBJ invocations to module description.
16448         * m4/argmatch.m4: Remove file.
16449         * modules/argmatch (Files): Remove it.
16450         (configure.ac): Remove gl_ARGMATCH call.
16451         (Makefile.am): Augment lib_SOURCES.
16452
16453 2011-05-23  Bruno Haible  <bruno@clisp.org>
16454
16455         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
16456         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
16457         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
16458
16459 2011-05-23  Bruno Haible  <bruno@clisp.org>
16460
16461         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
16462         * m4/arcfour.m4: Remove file.
16463         * modules/crypto/arcfour (Files): Remove it.
16464         (configure.ac): Remove gl_ARCFOUR call.
16465         (Makefile.am): Augment lib_SOURCES.
16466
16467 2011-05-22  Bruno Haible  <bruno@clisp.org>
16468
16469         write: Move AC_LIBOBJ invocations to module description.
16470         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
16471         * modules/write (configure.ac): ... to here.
16472
16473 2011-05-22  Bruno Haible  <bruno@clisp.org>
16474
16475         wmemset: Move AC_LIBOBJ invocations to module description.
16476         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
16477         here...
16478         * modules/wmemset (configure.ac): ... to here.
16479
16480 2011-05-22  Bruno Haible  <bruno@clisp.org>
16481
16482         wmemmove: Move AC_LIBOBJ invocations to module description.
16483         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
16484         here...
16485         * modules/wmemmove (configure.ac): ... to here.
16486
16487 2011-05-22  Bruno Haible  <bruno@clisp.org>
16488
16489         wmemcpy: Move AC_LIBOBJ invocations to module description.
16490         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
16491         here...
16492         * modules/wmemcpy (configure.ac): ... to here.
16493
16494 2011-05-22  Bruno Haible  <bruno@clisp.org>
16495
16496         wmemcmp: Move AC_LIBOBJ invocations to module description.
16497         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
16498         here...
16499         * modules/wmemcmp (configure.ac): ... to here.
16500
16501 2011-05-22  Bruno Haible  <bruno@clisp.org>
16502
16503         wmemchr: Move AC_LIBOBJ invocations to module description.
16504         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
16505         here...
16506         * modules/wmemchr (configure.ac): ... to here.
16507
16508 2011-05-22  Bruno Haible  <bruno@clisp.org>
16509
16510         wcswidth: Move AC_LIBOBJ invocations to module description.
16511         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
16512         here...
16513         * modules/wcswidth (configure.ac): ... to here.
16514
16515 2011-05-22  Bruno Haible  <bruno@clisp.org>
16516
16517         wcwidth: Respect rules for use of AC_LIBOBJ.
16518         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
16519         invocation from here...
16520         * modules/wcwidth (configure.ac): ... to here.
16521         (Depends-on): Update conditions.
16522
16523 2011-05-22  Bruno Haible  <bruno@clisp.org>
16524
16525         wctype: Move AC_LIBOBJ invocations to module description.
16526         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
16527         invocation from here...
16528         * modules/wctype (configure.ac): ... to here.
16529         (Depends-on): Update conditions.
16530
16531 2011-05-22  Bruno Haible  <bruno@clisp.org>
16532
16533         wctrans: Move AC_LIBOBJ invocations to module description.
16534         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
16535         invocation from here...
16536         * modules/wctrans (configure.ac): ... to here.
16537
16538 2011-05-22  Bruno Haible  <bruno@clisp.org>
16539
16540         wctomb: Move AC_LIBOBJ invocations to module description.
16541         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
16542         invocations from here...
16543         * modules/wctomb (configure.ac): ... to here.
16544
16545 2011-05-22  Bruno Haible  <bruno@clisp.org>
16546
16547         wctob: Move AC_LIBOBJ invocations to module description.
16548         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
16549         gl_PREREQ_WCTOB invocations from here...
16550         * modules/wctob (configure.ac): ... to here.
16551         (Depends-on): Update conditions.
16552
16553 2011-05-22  Bruno Haible  <bruno@clisp.org>
16554
16555         wcsxfrm: Move AC_LIBOBJ invocations to module description.
16556         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
16557         here...
16558         * modules/wcsxfrm (configure.ac): ... to here.
16559
16560 2011-05-22  Bruno Haible  <bruno@clisp.org>
16561
16562         wcstok: Move AC_LIBOBJ invocations to module description.
16563         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
16564         * modules/wcstok (configure.ac): ... to here.
16565
16566 2011-05-22  Bruno Haible  <bruno@clisp.org>
16567
16568         wcsstr: Move AC_LIBOBJ invocations to module description.
16569         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
16570         * modules/wcsstr (configure.ac): ... to here.
16571
16572 2011-05-22  Bruno Haible  <bruno@clisp.org>
16573
16574         wcsspn: Move AC_LIBOBJ invocations to module description.
16575         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
16576         * modules/wcsspn (configure.ac): ... to here.
16577
16578 2011-05-22  Bruno Haible  <bruno@clisp.org>
16579
16580         wcsrtombs: Move AC_LIBOBJ invocations to module description.
16581         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
16582         gl_PREREQ_WCSRTOMBS invocations from here...
16583         * modules/wcsrtombs (configure.ac): ... to here.
16584
16585 2011-05-22  Bruno Haible  <bruno@clisp.org>
16586
16587         wcsrchr: Move AC_LIBOBJ invocations to module description.
16588         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
16589         here...
16590         * modules/wcsrchr (configure.ac): ... to here.
16591
16592 2011-05-22  Bruno Haible  <bruno@clisp.org>
16593
16594         wcspbrk: Move AC_LIBOBJ invocations to module description.
16595         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
16596         here...
16597         * modules/wcspbrk (configure.ac): ... to here.
16598
16599 2011-05-22  Bruno Haible  <bruno@clisp.org>
16600
16601         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
16602         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
16603         gl_PREREQ_WCSNRTOMBS invocations from here...
16604         * modules/wcsnrtombs (configure.ac): ... to here.
16605
16606 2011-05-22  Bruno Haible  <bruno@clisp.org>
16607
16608         wcsnlen: Move AC_LIBOBJ invocations to module description.
16609         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
16610         here...
16611         * modules/wcsnlen (configure.ac): ... to here.
16612
16613 2011-05-22  Bruno Haible  <bruno@clisp.org>
16614
16615         wcsncpy: Move AC_LIBOBJ invocations to module description.
16616         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
16617         here...
16618         * modules/wcsncpy (configure.ac): ... to here.
16619
16620 2011-05-22  Bruno Haible  <bruno@clisp.org>
16621
16622         wcsncmp: Move AC_LIBOBJ invocations to module description.
16623         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
16624         here...
16625         * modules/wcsncmp (configure.ac): ... to here.
16626
16627 2011-05-22  Bruno Haible  <bruno@clisp.org>
16628
16629         wcsncat: Move AC_LIBOBJ invocations to module description.
16630         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
16631         here...
16632         * modules/wcsncat (configure.ac): ... to here.
16633
16634 2011-05-22  Bruno Haible  <bruno@clisp.org>
16635
16636         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
16637         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
16638         from here...
16639         * modules/wcsncasecmp (configure.ac): ... to here.
16640
16641 2011-05-22  Bruno Haible  <bruno@clisp.org>
16642
16643         wcslen: Move AC_LIBOBJ invocations to module description.
16644         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
16645         * modules/wcslen (configure.ac): ... to here.
16646
16647 2011-05-22  Bruno Haible  <bruno@clisp.org>
16648
16649         wcsdup: Move AC_LIBOBJ invocations to module description.
16650         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
16651         * modules/wcsdup (configure.ac): ... to here.
16652
16653 2011-05-22  Bruno Haible  <bruno@clisp.org>
16654
16655         wcscspn: Move AC_LIBOBJ invocations to module description.
16656         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
16657         here...
16658         * modules/wcscspn (configure.ac): ... to here.
16659
16660 2011-05-22  Bruno Haible  <bruno@clisp.org>
16661
16662         wcscpy: Move AC_LIBOBJ invocations to module description.
16663         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
16664         * modules/wcscpy (configure.ac): ... to here.
16665
16666 2011-05-22  Bruno Haible  <bruno@clisp.org>
16667
16668         wcscoll: Move AC_LIBOBJ invocations to module description.
16669         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
16670         here...
16671         * modules/wcscoll (configure.ac): ... to here.
16672
16673 2011-05-22  Bruno Haible  <bruno@clisp.org>
16674
16675         wcscmp: Move AC_LIBOBJ invocations to module description.
16676         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
16677         * modules/wcscmp (configure.ac): ... to here.
16678
16679 2011-05-22  Bruno Haible  <bruno@clisp.org>
16680
16681         wcschr: Move AC_LIBOBJ invocations to module description.
16682         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
16683         * modules/wcschr (configure.ac): ... to here.
16684
16685 2011-05-22  Bruno Haible  <bruno@clisp.org>
16686
16687         wcscat: Move AC_LIBOBJ invocations to module description.
16688         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
16689         * modules/wcscat (configure.ac): ... to here.
16690
16691 2011-05-22  Bruno Haible  <bruno@clisp.org>
16692
16693         wcscasecmp: Move AC_LIBOBJ invocations to module description.
16694         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
16695         here...
16696         * modules/wcscasecmp (configure.ac): ... to here.
16697
16698 2011-05-22  Bruno Haible  <bruno@clisp.org>
16699
16700         wcrtomb: Move AC_LIBOBJ invocations to module description.
16701         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
16702         invocations from here...
16703         * modules/wcrtomb (configure.ac): ... to here.
16704
16705 2011-05-22  Bruno Haible  <bruno@clisp.org>
16706
16707         wcpncpy: Move AC_LIBOBJ invocations to module description.
16708         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
16709         here...
16710         * modules/wcpncpy (configure.ac): ... to here.
16711
16712 2011-05-22  Bruno Haible  <bruno@clisp.org>
16713
16714         wcpcpy: Move AC_LIBOBJ invocations to module description.
16715         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
16716         * modules/wcpcpy (configure.ac): ... to here.
16717
16718 2011-05-22  Bruno Haible  <bruno@clisp.org>
16719
16720         waitpid: Move AC_LIBOBJ invocations to module description.
16721         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
16722         invocation from here...
16723         * modules/waitpid (configure.ac): ... to here.
16724
16725 2011-05-22  Bruno Haible  <bruno@clisp.org>
16726
16727         utimensat: Move AC_LIBOBJ invocations to module description.
16728         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
16729         here...
16730         * modules/utimensat (configure.ac): ... to here.
16731
16732 2011-05-22  Bruno Haible  <bruno@clisp.org>
16733
16734         usleep: Move AC_LIBOBJ invocations to module description.
16735         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
16736         here...
16737         * modules/usleep (configure.ac): ... to here.
16738
16739 2011-05-22  Bruno Haible  <bruno@clisp.org>
16740
16741         unlockpt: Move AC_LIBOBJ invocations to module description.
16742         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
16743         gl_PREREQ_UNLOCKPT invocations from here...
16744         * modules/unlockpt (configure.ac): ... to here.
16745
16746 2011-05-22  Bruno Haible  <bruno@clisp.org>
16747
16748         unlink: Respect rules for use of AC_LIBOBJ.
16749         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
16750         * modules/unlink (configure.ac): ... to here.
16751
16752 2011-05-22  Bruno Haible  <bruno@clisp.org>
16753
16754         uname: Move AC_LIBOBJ invocations to module description.
16755         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
16756         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
16757         here...
16758         * modules/uname (configure.ac): ... to here.
16759
16760 2011-05-22  Bruno Haible  <bruno@clisp.org>
16761
16762         ttyname_r: Move AC_LIBOBJ invocations to module description.
16763         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
16764         gl_PREREQ_TTYNAME_R invocations from here...
16765         * modules/ttyname_r (configure.ac): ... to here.
16766
16767 2011-05-22  Bruno Haible  <bruno@clisp.org>
16768
16769         tsearch: Move AC_LIBOBJ invocations to module description.
16770         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
16771         invocations from here...
16772         * modules/tsearch (configure.ac): ... to here.
16773
16774 2011-05-22  Bruno Haible  <bruno@clisp.org>
16775
16776         towctrans: Move AC_LIBOBJ invocations to module description.
16777         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
16778         AC_LIBOBJ invocation from here...
16779         * modules/towctrans (configure.ac): ... to here.
16780
16781 2011-05-22  Bruno Haible  <bruno@clisp.org>
16782
16783         tmpfile: Move AC_LIBOBJ invocations to module description.
16784         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
16785         invocations from here...
16786         * modules/tmpfile (configure.ac): ... to here.
16787
16788 2011-05-22  Bruno Haible  <bruno@clisp.org>
16789
16790         times: Move AC_LIBOBJ invocations to module description.
16791         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
16792         * modules/times (configure.ac): ... to here.
16793
16794 2011-05-22  Bruno Haible  <bruno@clisp.org>
16795
16796         time_r: Move AC_LIBOBJ invocations to module description.
16797         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
16798         invocations from here...
16799         * modules/time_r (configure.ac): ... to here.
16800
16801 2011-05-22  Bruno Haible  <bruno@clisp.org>
16802
16803         timegm: Move AC_LIBOBJ invocations to module description.
16804         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
16805         invocations from here...
16806         * modules/timegm (configure.ac): ... to here.
16807
16808 2011-05-22  Bruno Haible  <bruno@clisp.org>
16809
16810         tcgetsid: Move AC_LIBOBJ invocations to module description.
16811         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
16812         and gl_PREREQ_TCGETSID invocations from here...
16813         * modules/tcgetsid (configure.ac): ... to here.
16814         (Depends-on): Update conditions.
16815
16816 2011-05-22  Bruno Haible  <bruno@clisp.org>
16817
16818         symlinkat: Move AC_LIBOBJ invocations to module description.
16819         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
16820         here...
16821         * modules/symlinkat (configure.ac): ... to here.
16822
16823 2011-05-22  Bruno Haible  <bruno@clisp.org>
16824
16825         symlink: Move AC_LIBOBJ invocations to module description.
16826         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
16827         here...
16828         * modules/symlink (configure.ac): ... to here.
16829
16830 2011-05-22  Bruno Haible  <bruno@clisp.org>
16831
16832         strverscmp: Move AC_LIBOBJ invocations to module description.
16833         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
16834         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
16835         from here...
16836         * modules/strverscmp (configure.ac): ... to here.
16837
16838 2011-05-22  Bruno Haible  <bruno@clisp.org>
16839
16840         strtok_r: Move AC_LIBOBJ invocations to module description.
16841         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
16842         and gl_PREREQ_STRTOK_R invocations from here...
16843         * modules/strtok_r (configure.ac): ... to here.
16844         (Depends-on): Update conditions.
16845
16846 2011-05-22  Bruno Haible  <bruno@clisp.org>
16847
16848         strtoumax: Move AC_LIBOBJ invocations to module description.
16849         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
16850         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
16851         from here...
16852         * modules/strtoumax (configure.ac): ... to here.
16853
16854 2011-05-22  Bruno Haible  <bruno@clisp.org>
16855
16856         strtoimax: Move AC_LIBOBJ invocations to module description.
16857         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
16858         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
16859         from here...
16860         * modules/strtoimax (configure.ac): ... to here.
16861
16862 2011-05-22  Bruno Haible  <bruno@clisp.org>
16863
16864         strtoull: Move AC_LIBOBJ invocations to module description.
16865         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
16866         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
16867         from here...
16868         * modules/strtoull (configure.ac): ... to here.
16869
16870 2011-05-22  Bruno Haible  <bruno@clisp.org>
16871
16872         strtoll: Move AC_LIBOBJ invocations to module description.
16873         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
16874         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
16875         here...
16876         * modules/strtoll (configure.ac): ... to here.
16877
16878 2011-05-22  Bruno Haible  <bruno@clisp.org>
16879
16880         strtoul: Move AC_LIBOBJ invocations to module description.
16881         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
16882         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
16883         * modules/strtoul (configure.ac): ... to here.
16884
16885 2011-05-22  Bruno Haible  <bruno@clisp.org>
16886
16887         strtol: Move AC_LIBOBJ invocations to module description.
16888         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
16889         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
16890         * modules/strtol (configure.ac): ... to here.
16891
16892 2011-05-22  Bruno Haible  <bruno@clisp.org>
16893
16894         strtod: Move AC_LIBOBJ invocations to module description.
16895         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
16896         invocations from here...
16897         * modules/strtod (configure.ac): ... to here.
16898
16899 2011-05-22  Bruno Haible  <bruno@clisp.org>
16900
16901         strstr*: Move AC_LIBOBJ invocations to module description.
16902         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
16903         invocations from here...
16904         * modules/strstr-simple (configure.ac): ... to here.
16905         * modules/strstr (configure.ac): ... and here.
16906
16907 2011-05-22  Bruno Haible  <bruno@clisp.org>
16908
16909         strsignal: Move AC_LIBOBJ invocations to module description.
16910         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
16911         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
16912         * modules/strsignal (configure.ac): ... to here.
16913         (Depends-on): Update conditions.
16914
16915 2011-05-22  Bruno Haible  <bruno@clisp.org>
16916
16917         strsep: Move AC_LIBOBJ invocations to module description.
16918         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
16919         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
16920         here...
16921         * modules/strsep (configure.ac): ... to here.
16922
16923 2011-05-22  Bruno Haible  <bruno@clisp.org>
16924
16925         strptime: Move AC_LIBOBJ invocations to module description.
16926         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
16927         gl_PREREQ_STRPTIME invocations from here...
16928         * modules/strptime (configure.ac): ... to here.
16929
16930 2011-05-22  Bruno Haible  <bruno@clisp.org>
16931
16932         strpbrk: Move AC_LIBOBJ invocations to module description.
16933         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
16934         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
16935         here...
16936         * modules/strpbrk (configure.ac): ... to here.
16937
16938 2011-05-22  Bruno Haible  <bruno@clisp.org>
16939
16940         strnlen: Move AC_LIBOBJ invocations to module description.
16941         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
16942         invocations from here...
16943         * modules/strnlen (configure.ac): ... to here.
16944
16945 2011-05-22  Bruno Haible  <bruno@clisp.org>
16946
16947         strndup: Move AC_LIBOBJ invocations to module description.
16948         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
16949         invocations from here...
16950         * modules/strndup (configure.ac): ... to here.
16951         (Depends-on): Update conditions.
16952
16953 2011-05-22  Bruno Haible  <bruno@clisp.org>
16954
16955         strncat: Move AC_LIBOBJ invocations to module description.
16956         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
16957         invocations from here...
16958         * modules/strncat (configure.ac): ... to here.
16959
16960 2011-05-22  Bruno Haible  <bruno@clisp.org>
16961
16962         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
16963         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
16964         invocations from here...
16965         * modules/strdup (configure.ac): ... to here.
16966         * modules/strdup-posix (configure.ac): ... and here.
16967
16968 2011-05-22  Bruno Haible  <bruno@clisp.org>
16969
16970         strcspn: Move AC_LIBOBJ invocations to module description.
16971         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
16972         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
16973         here...
16974         * modules/strcspn (configure.ac): ... to here.
16975
16976 2011-05-22  Bruno Haible  <bruno@clisp.org>
16977
16978         strchrnul: Move AC_LIBOBJ invocations to module description.
16979         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
16980         gl_PREREQ_STRCHRNUL invocations from here...
16981         * modules/strchrnul (configure.ac): ... to here.
16982
16983 2011-05-22  Bruno Haible  <bruno@clisp.org>
16984
16985         strcasestr*: Move AC_LIBOBJ invocations to module description.
16986         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
16987         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
16988         * modules/strcasestr-simple (configure.ac): ... to here.
16989         * modules/strcasestr (configure.ac): ... and here.
16990
16991 2011-05-22  Bruno Haible  <bruno@clisp.org>
16992
16993         strcase: Move AC_LIBOBJ invocations to module description.
16994         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
16995         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
16996         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
16997         gl_PREREQ_STRNCASECMP invocations from here...
16998         * modules/strcase (configure.ac): ... to here.
16999
17000 2011-05-22  Bruno Haible  <bruno@clisp.org>
17001
17002         stpncpy: Move AC_LIBOBJ invocations to module description.
17003         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
17004         here...
17005         * modules/stpncpy (configure.ac): ... to here.
17006
17007 2011-05-22  Bruno Haible  <bruno@clisp.org>
17008
17009         stpcpy: Move AC_LIBOBJ invocations to module description.
17010         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
17011         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
17012         here...
17013         * modules/stpcpy (configure.ac): ... to here.
17014
17015 2011-05-21  Bruno Haible  <bruno@clisp.org>
17016
17017         stat: Move AC_LIBOBJ invocations to module description.
17018         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
17019         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
17020         here...
17021         * modules/stat (configure.ac): ... to here.
17022
17023 2011-05-21  Bruno Haible  <bruno@clisp.org>
17024
17025         sleep: Move AC_LIBOBJ invocations to module description.
17026         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
17027         * modules/sleep (configure.ac): ... to here.
17028
17029 2011-05-21  Bruno Haible  <bruno@clisp.org>
17030
17031         signbit: Move AC_LIBOBJ invocations to module description.
17032         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
17033         * modules/signbit (configure.ac): ... to here.
17034
17035 2011-05-21  Bruno Haible  <bruno@clisp.org>
17036
17037         sigprocmask: Move AC_LIBOBJ invocations to module description.
17038         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
17039         gl_PREREQ_SIGPROMASK invocations from here...
17040         * modules/sigprocmask (configure.ac): ... to here.
17041
17042 2011-05-21  Bruno Haible  <bruno@clisp.org>
17043
17044         sigaction: Move AC_LIBOBJ invocations to module description.
17045         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
17046         gl_PREREQ_SIGACTION invocations from here...
17047         * modules/sigaction (configure.ac): ... to here.
17048
17049 2011-05-21  Bruno Haible  <bruno@clisp.org>
17050
17051         sig2str: Move AC_LIBOBJ invocations to module description.
17052         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
17053         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
17054         here...
17055         * modules/sig2str (configure.ac): ... to here.
17056
17057 2011-05-21  Bruno Haible  <bruno@clisp.org>
17058
17059         setlocale: Move AC_LIBOBJ invocations to module description.
17060         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
17061         gl_PREREQ_SETLOCALE invocations from here...
17062         * modules/setlocale (configure.ac): ... to here.
17063
17064 2011-05-21  Bruno Haible  <bruno@clisp.org>
17065
17066         unsetenv: Move AC_LIBOBJ invocations to module description.
17067         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
17068         and gl_PREREQ_UNSETENV invocations from here...
17069         * modules/unsetenv (configure.ac): ... to here.
17070         (Depends-on): Update.
17071
17072 2011-05-21  Bruno Haible  <bruno@clisp.org>
17073
17074         setenv: Move AC_LIBOBJ invocations to module description.
17075         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
17076         here...
17077         * modules/setenv (configure.ac): ... to here.
17078
17079 2011-05-21  Bruno Haible  <bruno@clisp.org>
17080
17081         selinux-h: Move AC_LIBOBJ invocations to module description.
17082         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
17083         AC_LIBOBJ invocation from here...
17084         * modules/selinux-h (configure.ac): ... to here.
17085
17086 2011-05-21  Bruno Haible  <bruno@clisp.org>
17087
17088         select: Respect rules for use of AC_LIBOBJ.
17089         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
17090         here...
17091         * modules/select (configure.ac): ... to here.
17092
17093 2011-05-21  Bruno Haible  <bruno@clisp.org>
17094
17095         scandir: Move AC_LIBOBJ invocations to module description.
17096         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
17097         invocations from here...
17098         * modules/scandir (configure.ac): ... to here.
17099
17100 2011-05-21  Bruno Haible  <bruno@clisp.org>
17101
17102         rpmatch: Move AC_LIBOBJ invocations to module description.
17103         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
17104         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
17105         here...
17106         * modules/rpmatch (configure.ac): ... to here.
17107
17108 2011-05-21  Bruno Haible  <bruno@clisp.org>
17109
17110         rmdir: Respect rules for use of AC_LIBOBJ.
17111         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
17112         * modules/rmdir (configure.ac): ... to here.
17113
17114 2011-05-21  Bruno Haible  <bruno@clisp.org>
17115
17116         renameat: Move AC_LIBOBJ invocations to module description.
17117         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
17118         here...
17119         * modules/renameat (configure.ac): ... to here.
17120
17121 2011-05-21  Bruno Haible  <bruno@clisp.org>
17122
17123         rename: Respect rules for use of AC_LIBOBJ.
17124         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
17125         here...
17126         * modules/rename (configure.ac): ... to here.
17127
17128 2011-05-21  Bruno Haible  <bruno@clisp.org>
17129
17130         remove: Move AC_LIBOBJ invocations to module description.
17131         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
17132         here...
17133         * modules/remove (configure.ac): ... to here.
17134
17135 2011-05-21  Bruno Haible  <bruno@clisp.org>
17136
17137         relocatable-lib: Move AC_LIBOBJ invocations to module description.
17138         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
17139         macro.
17140         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
17141         * modules/relocatable-lib (configure.ac): ... to here.
17142         * modules/relocatable-prog-wrapper (configure.ac): Invoke
17143         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
17144
17145 2011-05-21  Bruno Haible  <bruno@clisp.org>
17146
17147         relocatable-prog: Move AC_LIBOBJ invocations to module description.
17148         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
17149         here...
17150         * modules/relocatable-prog (configure.ac): ... to here.
17151
17152 2011-05-21  Bruno Haible  <bruno@clisp.org>
17153
17154         regex: Move AC_LIBOBJ invocations to module description.
17155         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
17156         invocations from here...
17157         * modules/regex (configure.ac): ... to here.
17158
17159 2011-05-21  Bruno Haible  <bruno@clisp.org>
17160
17161         realloc-*: Move AC_LIBOBJ invocations to module description.
17162         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
17163         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
17164         AC_LIBOBJ invocations from here...
17165         * modules/realloc-gnu (configure.ac): ... to here.
17166         * modules/realloc-posix (configure.ac): ... and here.
17167
17168 2011-05-21  Bruno Haible  <bruno@clisp.org>
17169
17170         readutmp: Move AC_LIBOBJ invocations to module description.
17171         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
17172         * modules/readutmp (configure.ac): ... to here.
17173
17174 2011-05-21  Bruno Haible  <bruno@clisp.org>
17175
17176         readlinkat: Move AC_LIBOBJ invocations to module description.
17177         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
17178         here...
17179         * modules/readlinkat (configure.ac): ... to here.
17180
17181 2011-05-21  Bruno Haible  <bruno@clisp.org>
17182
17183         readlink: Move AC_LIBOBJ invocations to module description.
17184         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
17185         gl_PREREQ_READLINK invocations from here...
17186         * modules/readlink (configure.ac): ... to here.
17187
17188 2011-05-21  Bruno Haible  <bruno@clisp.org>
17189
17190         readline: Move AC_LIBOBJ invocations to module description.
17191         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
17192         gl_PREREQ_READLINE invocations from here...
17193         * modules/readline (configure.ac): ... to here.
17194
17195 2011-05-21  Bruno Haible  <bruno@clisp.org>
17196
17197         read: Move AC_LIBOBJ invocations to module description.
17198         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
17199         * modules/read (configure.ac): ... to here.
17200
17201 2011-05-21  Bruno Haible  <bruno@clisp.org>
17202
17203         rawmemchr: Move AC_LIBOBJ invocations to module description.
17204         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
17205         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
17206         from here...
17207         * modules/rawmemchr (configure.ac): ... to here.
17208
17209 2011-05-21  Bruno Haible  <bruno@clisp.org>
17210
17211         random_r: Move AC_LIBOBJ invocations to module description.
17212         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
17213         gl_PREREQ_RANDOM_R invocations from here...
17214         * modules/random_r (configure.ac): ... to here.
17215
17216 2011-05-21  Bruno Haible  <bruno@clisp.org>
17217
17218         pwrite: Move AC_LIBOBJ invocations to module description.
17219         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
17220         * modules/pwrite (configure.ac): ... to here.
17221
17222 2011-05-21  Bruno Haible  <bruno@clisp.org>
17223
17224         putenv: Move AC_LIBOBJ invocations to module description.
17225         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
17226         * modules/putenv (configure.ac): ... to here.
17227
17228 2011-05-21  Bruno Haible  <bruno@clisp.org>
17229
17230         login_tty: Move AC_LIBOBJ invocations to module description.
17231         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
17232         * modules/login_tty (configure.ac): ... to here.
17233
17234 2011-05-21  Bruno Haible  <bruno@clisp.org>
17235
17236         openpty: Move AC_LIBOBJ invocations to module description.
17237         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
17238         * modules/openpty (configure.ac): ... to here.
17239
17240 2011-05-21  Bruno Haible  <bruno@clisp.org>
17241
17242         forkpty: Move AC_LIBOBJ invocations to module description.
17243         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
17244         * modules/forkpty (configure.ac): ... to here.
17245
17246 2011-05-21  Bruno Haible  <bruno@clisp.org>
17247
17248         ptsname: Move AC_LIBOBJ invocations to module description.
17249         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
17250         invocations from here...
17251         * modules/ptsname (configure.ac): ... to here.
17252
17253 2011-05-21  Bruno Haible  <bruno@clisp.org>
17254
17255         pread: Move AC_LIBOBJ invocations to module description.
17256         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
17257         * modules/pread (configure.ac): ... to here.
17258
17259 2011-05-21  Bruno Haible  <bruno@clisp.org>
17260
17261         posix_spawn*: Move AC_LIBOBJ invocations to module description.
17262         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
17263         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
17264         * modules/posix_spawn (configure.ac): ... to here.
17265         * modules/posix_spawnp (configure.ac): ... and here.
17266
17267 2011-05-21  Bruno Haible  <bruno@clisp.org>
17268
17269         popen: Move AC_LIBOBJ invocations to module description.
17270         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
17271         invocations from here...
17272         * modules/popen (configure.ac): ... to here.
17273
17274 2011-05-21  Bruno Haible  <bruno@clisp.org>
17275
17276         poll: Move AC_LIBOBJ invocations to module description.
17277         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
17278         invocations from here...
17279         * modules/poll (configure.ac): ... to here.
17280
17281 2011-05-21  Bruno Haible  <bruno@clisp.org>
17282
17283         pipe-posix: Move AC_LIBOBJ invocations to module description.
17284         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
17285         * modules/pipe-posix (configure.ac): ... to here.
17286
17287 2011-05-21  Bruno Haible  <bruno@clisp.org>
17288
17289         openat: Respect rules for use of AC_LIBOBJ.
17290         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
17291         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
17292         * modules/openat (configure.ac): ... to here.
17293
17294 2011-05-21  Bruno Haible  <bruno@clisp.org>
17295
17296         obstack-printf*: Move AC_LIBOBJ invocations to module description.
17297         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
17298         invocation from here...
17299         * modules/obstack-printf (configure.ac): ... to here.
17300         * modules/obstack-printf-posix (configure.ac): ... and here.
17301
17302 2011-05-21  Bruno Haible  <bruno@clisp.org>
17303
17304         nl_langinfo: Move AC_LIBOBJ invocations to module description.
17305         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
17306         from here...
17307         * modules/nl_langinfo (configure.ac): ... to here.
17308
17309 2011-05-21  Bruno Haible  <bruno@clisp.org>
17310
17311         nanosleep: Move AC_LIBOBJ invocations to module description.
17312         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
17313         gl_PREREQ_NANOSLEEP invocations from here...
17314         * modules/nanosleep (configure.ac): ... to here.
17315
17316 2011-05-21  Bruno Haible  <bruno@clisp.org>
17317
17318         mountlist: Move AC_LIBOBJ invocations to module description.
17319         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
17320         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
17321         * modules/mountlist (configure.ac): ... to here.
17322
17323 2011-05-21  Bruno Haible  <bruno@clisp.org>
17324
17325         mktime: Respect rules for use of AC_LIBOBJ.
17326         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
17327         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
17328         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
17329         (gl_FUNC_MKTIME_INTERNAL): ... and here...
17330         * modules/mktime (configure.ac): ... to here.
17331         * modules/mktime-internal (configure.ac): ... and here.
17332         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
17333
17334 2011-05-21  Bruno Haible  <bruno@clisp.org>
17335
17336         mkstemps: Move AC_LIBOBJ invocations to module description.
17337         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
17338         here...
17339         * modules/mkstemps (configure.ac): ... to here.
17340
17341 2011-05-21  Bruno Haible  <bruno@clisp.org>
17342
17343         mkstemp: Move AC_LIBOBJ invocations to module description.
17344         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
17345         gl_PREREQ_MKSTEMP invocations from here...
17346         * modules/mkstemp (configure.ac): ... to here.
17347
17348 2011-05-21  Bruno Haible  <bruno@clisp.org>
17349
17350         mkostemps: Move AC_LIBOBJ invocations to module description.
17351         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
17352         here...
17353         * modules/mkostemps (configure.ac): ... to here.
17354
17355 2011-05-21  Bruno Haible  <bruno@clisp.org>
17356
17357         mkostemp: Move AC_LIBOBJ invocations to module description.
17358         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
17359         gl_PREREQ_MKOSTEMP invocations from here...
17360         * modules/mkostemp (configure.ac): ... to here.
17361
17362 2011-05-21  Bruno Haible  <bruno@clisp.org>
17363
17364         mknod: Move AC_LIBOBJ invocations to module description.
17365         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
17366         * modules/mknod (configure.ac): ... to here.
17367
17368 2011-05-21  Bruno Haible  <bruno@clisp.org>
17369
17370         mkfifoat: Move AC_LIBOBJ invocations to module description.
17371         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
17372         here...
17373         * modules/mkfifoat (configure.ac): ... to here.
17374
17375 2011-05-21  Bruno Haible  <bruno@clisp.org>
17376
17377         mkfifo: Respect rules for use of AC_LIBOBJ.
17378         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
17379         here...
17380         * modules/mkfifo (configure.ac): ... to here.
17381
17382 2011-05-21  Bruno Haible  <bruno@clisp.org>
17383
17384         mkdtemp: Move AC_LIBOBJ invocations to module description.
17385         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
17386         invocations from here...
17387         * modules/mkdtemp (configure.ac): ... to here.
17388
17389 2011-05-21  Bruno Haible  <bruno@clisp.org>
17390
17391         mkdir: Move AC_LIBOBJ invocations to module description.
17392         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
17393         * modules/mkdir (configure.ac): ... to here.
17394
17395 2011-05-21  Bruno Haible  <bruno@clisp.org>
17396
17397         memset: Move AC_LIBOBJ invocations to module description.
17398         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
17399         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
17400         here...
17401         * modules/memset (configure.ac): ... to here.
17402
17403 2011-05-21  Bruno Haible  <bruno@clisp.org>
17404
17405         memrchr: Move AC_LIBOBJ invocations to module description.
17406         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
17407         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
17408         here...
17409         * modules/memrchr (configure.ac): ... to here.
17410
17411 2011-05-21  Bruno Haible  <bruno@clisp.org>
17412
17413         mempcpy: Move AC_LIBOBJ invocations to module description.
17414         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
17415         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
17416         here...
17417         * modules/mempcpy (configure.ac): ... to here.
17418
17419 2011-05-21  Bruno Haible  <bruno@clisp.org>
17420
17421         memmove: Move AC_LIBOBJ invocations to module description.
17422         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
17423         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
17424         here...
17425         * modules/memmove (configure.ac): ... to here.
17426
17427 2011-05-21  Bruno Haible  <bruno@clisp.org>
17428
17429         memmem*: Move AC_LIBOBJ invocations to module description.
17430         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
17431         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
17432         here...
17433         (gl_FUNC_MEMMEM): ... and here...
17434         * modules/memmem-simple (configure.ac): ... to here.
17435         * modules/memmem (configure.ac): ... and here.
17436
17437 2011-05-21  Bruno Haible  <bruno@clisp.org>
17438
17439         memcpy: Move AC_LIBOBJ invocations to module description.
17440         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
17441         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
17442         here...
17443         * modules/memcpy (configure.ac): ... to here.
17444
17445 2011-05-21  Bruno Haible  <bruno@clisp.org>
17446
17447         memcmp: Simplify autoconf macro.
17448         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
17449         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
17450         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
17451
17452 2011-05-21  Bruno Haible  <bruno@clisp.org>
17453
17454         memcmp: Move AC_LIBOBJ invocations to module description.
17455         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
17456         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
17457         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
17458         * modules/memcmp (configure.ac): ... to here.
17459         (Depends-on): Update conditions.
17460
17461 2011-05-21  Bruno Haible  <bruno@clisp.org>
17462
17463         memchr: Respect rules for use of AC_LIBOBJ.
17464         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
17465         invocations from here...
17466         * modules/memchr (configure.ac): ... to here.
17467
17468 2011-05-21  Bruno Haible  <bruno@clisp.org>
17469
17470         mbtowc: Move AC_LIBOBJ invocations to module description.
17471         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
17472         invocations from here...
17473         * modules/mbtowc (configure.ac): ... to here.
17474
17475 2011-05-21  Bruno Haible  <bruno@clisp.org>
17476
17477         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
17478         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
17479         gl_PREREQ_MBSRTOWCS invocations from here...
17480         * modules/mbsrtowcs (configure.ac): ... to here.
17481
17482 2011-05-21  Bruno Haible  <bruno@clisp.org>
17483
17484         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
17485         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
17486         gl_PREREQ_MBSNRTOWCS invocations from here...
17487         * modules/mbsnrtowcs (configure.ac): ... to here.
17488
17489 2011-05-21  Bruno Haible  <bruno@clisp.org>
17490
17491         mbsinit: Move AC_LIBOBJ invocations to module description.
17492         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
17493         invocations from here...
17494         * modules/mbsinit (configure.ac): ... to here.
17495
17496 2011-05-21  Bruno Haible  <bruno@clisp.org>
17497
17498         mbrlen: Move AC_LIBOBJ invocations to module description.
17499         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
17500         invocations from here...
17501         * modules/mbrlen (configure.ac): ... to here.
17502
17503 2011-05-21  Bruno Haible  <bruno@clisp.org>
17504
17505         mbrtowc: Respect rules for use of AC_LIBOBJ.
17506         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
17507         invocations from here...
17508         * modules/mbrtowc (configure.ac): ... to here.
17509
17510 2011-05-21  Bruno Haible  <bruno@clisp.org>
17511
17512         malloc-*: Move AC_LIBOBJ invocations to module description.
17513         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
17514         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
17515         AC_LIBOBJ invocations from here...
17516         * modules/malloc-gnu (configure.ac): ... to here.
17517         * modules/malloc-posix (configure.ac): ... and here.
17518
17519 2011-05-21  Bruno Haible  <bruno@clisp.org>
17520
17521         lstat, openat: Respect rules for use of AC_LIBOBJ.
17522         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
17523         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
17524         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
17525         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
17526         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
17527         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
17528         here.
17529         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
17530
17531 2011-05-21  Bruno Haible  <bruno@clisp.org>
17532
17533         lseek: Move AC_LIBOBJ invocations to module description.
17534         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
17535         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
17536         * modules/lseek (configure.ac): ... to here.
17537
17538 2011-05-21  Bruno Haible  <bruno@clisp.org>
17539
17540         linkat: Move AC_LIBOBJ invocations to module description.
17541         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
17542         here...
17543         * modules/linkat (configure.ac): ... to here.
17544
17545 2011-05-21  Bruno Haible  <bruno@clisp.org>
17546
17547         link: Respect rules for use of AC_LIBOBJ.
17548         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
17549         * modules/link (configure.ac): ... to here.
17550
17551 2011-05-21  Bruno Haible  <bruno@clisp.org>
17552
17553         lchown: Move AC_LIBOBJ invocations to module description.
17554         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
17555         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
17556         * modules/lchown (configure.ac): ... to here.
17557
17558 2011-05-21  Bruno Haible  <bruno@clisp.org>
17559
17560         iswctype: Move AC_LIBOBJ invocations to module description.
17561         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
17562         here...
17563         * modules/iswctype (configure.ac): ... to here.
17564
17565 2011-05-21  Bruno Haible  <bruno@clisp.org>
17566
17567         iswblank: Move AC_LIBOBJ invocations to module description.
17568         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
17569         here...
17570         * modules/iswblank (configure.ac): ... to here.
17571
17572 2011-05-21  Bruno Haible  <bruno@clisp.org>
17573
17574         atanl: Move AC_LIBOBJ invocations to module description.
17575         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
17576         * modules/atanl (configure.ac): ... to here.
17577
17578 2011-05-21  Bruno Haible  <bruno@clisp.org>
17579
17580         acosl: Move AC_LIBOBJ invocations to module description.
17581         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
17582         * modules/acosl (configure.ac): ... to here.
17583
17584 2011-05-21  Bruno Haible  <bruno@clisp.org>
17585
17586         asinl: Respect rules for use of AC_LIBOBJ.
17587         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
17588         * modules/asinl (configure.ac): ... to here.
17589
17590 2011-05-21  Bruno Haible  <bruno@clisp.org>
17591
17592         tanl: Move AC_LIBOBJ invocations to module description.
17593         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
17594         * modules/tanl (configure.ac): ... to here.
17595
17596 2011-05-21  Bruno Haible  <bruno@clisp.org>
17597
17598         cosl: Move AC_LIBOBJ invocations to module description.
17599         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
17600         * modules/cosl (configure.ac): ... to here.
17601
17602 2011-05-21  Bruno Haible  <bruno@clisp.org>
17603
17604         sinl: Move AC_LIBOBJ invocations to module description.
17605         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
17606         * modules/sinl (configure.ac): ... to here.
17607
17608 2011-05-21  Bruno Haible  <bruno@clisp.org>
17609
17610         logl: Move AC_LIBOBJ invocations to module description.
17611         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
17612         * modules/logl (configure.ac): ... to here.
17613
17614 2011-05-21  Bruno Haible  <bruno@clisp.org>
17615
17616         expl: Move AC_LIBOBJ invocations to module description.
17617         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
17618         * modules/expl (configure.ac): ... to here.
17619
17620 2011-05-21  Bruno Haible  <bruno@clisp.org>
17621
17622         roundl: Move AC_LIBOBJ invocations to module description.
17623         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
17624         * modules/roundl (configure.ac): ... to here.
17625
17626 2011-05-21  Bruno Haible  <bruno@clisp.org>
17627
17628         round: Move AC_LIBOBJ invocations to module description.
17629         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
17630         * modules/round (configure.ac): ... to here.
17631
17632 2011-05-21  Bruno Haible  <bruno@clisp.org>
17633
17634         roundf: Move AC_LIBOBJ invocations to module description.
17635         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
17636         * modules/roundf (configure.ac): ... to here.
17637
17638 2011-05-21  Bruno Haible  <bruno@clisp.org>
17639
17640         truncl: Move AC_LIBOBJ invocations to module description.
17641         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
17642         * modules/truncl (configure.ac): ... to here.
17643
17644 2011-05-21  Bruno Haible  <bruno@clisp.org>
17645
17646         trunc: Move AC_LIBOBJ invocations to module description.
17647         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
17648         * modules/trunc (configure.ac): ... to here.
17649
17650 2011-05-21  Bruno Haible  <bruno@clisp.org>
17651
17652         truncf: Move AC_LIBOBJ invocations to module description.
17653         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
17654         * modules/truncf (configure.ac): ... to here.
17655
17656 2011-05-21  Bruno Haible  <bruno@clisp.org>
17657
17658         ceill: Move AC_LIBOBJ invocations to module description.
17659         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
17660         * modules/ceill (configure.ac): ... to here.
17661
17662 2011-05-21  Bruno Haible  <bruno@clisp.org>
17663
17664         ceil: Move AC_LIBOBJ invocations to module description.
17665         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
17666         * modules/ceil (configure.ac): ... to here.
17667
17668 2011-05-21  Bruno Haible  <bruno@clisp.org>
17669
17670         ceilf: Move AC_LIBOBJ invocations to module description.
17671         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
17672         * modules/ceilf (configure.ac): ... to here.
17673
17674 2011-05-21  Bruno Haible  <bruno@clisp.org>
17675
17676         floorl: Respect rules for use of AC_LIBOBJ.
17677         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
17678         * modules/floorl (configure.ac): ... to here.
17679
17680 2011-05-21  Bruno Haible  <bruno@clisp.org>
17681
17682         floor: Respect rules for use of AC_LIBOBJ.
17683         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
17684         * modules/floor (configure.ac): ... to here.
17685
17686 2011-05-21  Bruno Haible  <bruno@clisp.org>
17687
17688         floorf: Move AC_LIBOBJ invocations to module description.
17689         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
17690         * modules/floorf (configure.ac): ... to here.
17691
17692 2011-05-20  Bruno Haible  <bruno@clisp.org>
17693
17694         sqrtl: Respect rules for use of AC_LIBOBJ.
17695         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
17696         * modules/sqrtl (configure.ac): ... to here.
17697
17698 2011-05-20  Bruno Haible  <bruno@clisp.org>
17699
17700         ldexpl: Respect rules for use of AC_LIBOBJ.
17701         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
17702         * modules/ldexpl (configure.ac): ... to here.
17703
17704 2011-05-20  Bruno Haible  <bruno@clisp.org>
17705
17706         frexpl*: Respect rules for use of AC_LIBOBJ.
17707         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
17708         invocation from here...
17709         * modules/frexpl (configure.ac): ... to here.
17710         * modules/frexpl-nolibm (configure.ac): ... and here.
17711
17712 2011-05-20  Bruno Haible  <bruno@clisp.org>
17713
17714         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
17715         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
17716         invocation from here...
17717         * modules/frexp (configure.ac): ... to here.
17718         * modules/frexp-nolibm (configure.ac): ... and here.
17719
17720 2011-05-20  Bruno Haible  <bruno@clisp.org>
17721
17722         isnan: Respect rules for use of AC_LIBOBJ.
17723         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
17724         invocations here.
17725         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
17726         REPLACE_ISNAN.
17727         * modules/isnand (configure.ac): Likewise.
17728         * modules/isnanl (configure.ac): Likewise.
17729
17730 2011-05-20  Bruno Haible  <bruno@clisp.org>
17731
17732         isnanl*: Respect rules for use of AC_LIBOBJ.
17733         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
17734         invocation from here...
17735         * modules/isnanl (configure.ac): ... to here.
17736         * modules/isnanl-nolibm (configure.ac): ... and here.
17737
17738 2011-05-20  Bruno Haible  <bruno@clisp.org>
17739
17740         isnand*: Move AC_LIBOBJ invocations to module description.
17741         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
17742         invocation from here...
17743         * modules/isnand (configure.ac): ... to here.
17744         * modules/isnand-nolibm (configure.ac): ... and here.
17745
17746 2011-05-20  Bruno Haible  <bruno@clisp.org>
17747
17748         isnanf*: Move AC_LIBOBJ invocations to module description.
17749         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
17750         invocation from here...
17751         * modules/isnanf (configure.ac): ... to here.
17752         * modules/isnanf-nolibm (configure.ac): ... and here.
17753
17754 2011-05-20  Bruno Haible  <bruno@clisp.org>
17755
17756         isnan*: Separate the AC_LIBOBJ invocations.
17757         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
17758         AC_LIBOBJ invocation.
17759         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
17760         here.
17761         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
17762         AC_LIBOBJ invocation.
17763         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
17764         here.
17765         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
17766         AC_LIBOBJ invocation.
17767         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
17768         here.
17769         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
17770
17771 2011-05-08  Bruno Haible  <bruno@clisp.org>
17772
17773         isinf: Move AC_LIBOBJ invocations to module description.
17774         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
17775         * modules/isinf (configure.ac): ... to here.
17776
17777 2011-05-08  Bruno Haible  <bruno@clisp.org>
17778
17779         isfinite: Move AC_LIBOBJ invocations to module description.
17780         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
17781         * modules/isfinite (configure.ac): ... to here.
17782
17783 2011-05-08  Bruno Haible  <bruno@clisp.org>
17784
17785         isblank: Move AC_LIBOBJ invocations to module description.
17786         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
17787         here...
17788         * modules/isblank (configure.ac): ... to here.
17789
17790 2011-05-08  Bruno Haible  <bruno@clisp.org>
17791
17792         isapipe: Move AC_LIBOBJ invocations to module description.
17793         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
17794         gl_PREREQ_ISAPIPE invocations from here...
17795         * modules/isapipe (configure.ac): ... to here.
17796         (Depends-on): Update condition.
17797
17798 2011-05-08  Bruno Haible  <bruno@clisp.org>
17799
17800         ioctl: Move AC_LIBOBJ invocations to module description.
17801         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
17802         invocations from here...
17803         * modules/ioctl (configure.ac): ... to here.
17804         (Depends-on): Update condition.
17805
17806 2011-05-08  Bruno Haible  <bruno@clisp.org>
17807
17808         imaxdiv: Move AC_LIBOBJ invocations to module description.
17809         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
17810         invocations from here...
17811         * modules/imaxdiv (configure.ac): ... to here.
17812
17813 2011-05-08  Bruno Haible  <bruno@clisp.org>
17814
17815         imaxabs: Move AC_LIBOBJ invocations to module description.
17816         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
17817         invocations from here...
17818         * modules/imaxabs (configure.ac): ... to here.
17819
17820 2011-05-08  Bruno Haible  <bruno@clisp.org>
17821
17822         getaddrinfo: Move AC_LIBOBJ invocations to module description.
17823         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
17824         AC_LIBOBJ invocations from here...
17825         * modules/getaddrinfo (configure.ac): ... to here.
17826         (Depends-on): Add conditions.
17827
17828 2011-05-08  Bruno Haible  <bruno@clisp.org>
17829
17830         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
17831         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
17832         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
17833         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
17834         (gl_PREREQ_INET_PTON): ... from here.
17835         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
17836         gl_PREREQ_INET_PTON here.
17837         (Depends-on): Update condition.
17838
17839 2011-05-08  Bruno Haible  <bruno@clisp.org>
17840
17841         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
17842         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
17843         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
17844         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
17845         (gl_PREREQ_INET_NTOP): ... from here.
17846         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
17847         gl_PREREQ_INET_NTOP here.
17848         (Depends-on): Update condition.
17849
17850 2011-05-08  Bruno Haible  <bruno@clisp.org>
17851
17852         iconv_open: Move AC_LIBOBJ invocations to module description.
17853         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
17854         AC_LIBOBJ invocations from here...
17855         * modules/iconv_open (configure.ac): ... to here.
17856
17857 2011-05-08  Bruno Haible  <bruno@clisp.org>
17858
17859         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
17860         If module 'iconv_open' is among the main modules and module
17861         'iconv_open-utf' is among the tests dependencies, then
17862         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
17863         return the special iconv_t values. Therefore iconv() and iconv_close()
17864         must support these special iconv_t values, already in lib, not only in
17865         tests.
17866         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
17867         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
17868         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
17869         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
17870         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
17871         (Depends-on): Add the dependencies of iconv_open-utf.
17872         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
17873         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
17874         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
17875
17876 2011-05-08  Bruno Haible  <bruno@clisp.org>
17877
17878         group-member: Move AC_LIBOBJ invocations to module description.
17879         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
17880         gl_PREREQ_GROUP_MEMBER invocations from here...
17881         * modules/group-member (configure.ac): ... to here.
17882
17883 2011-05-08  Bruno Haible  <bruno@clisp.org>
17884
17885         grantpt: Move AC_LIBOBJ invocations to module description.
17886         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
17887         invocations from here...
17888         * modules/grantpt (configure.ac): ... to here.
17889
17890 2011-05-08  Bruno Haible  <bruno@clisp.org>
17891
17892         glob: Move AC_LIBOBJ invocations to module description.
17893         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
17894         from here...
17895         * modules/glob (configure.ac): ... to here.
17896
17897 2011-05-08  Bruno Haible  <bruno@clisp.org>
17898
17899         getusershell: Move AC_LIBOBJ invocations to module description.
17900         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
17901         Move AC_LIBOBJ invocation from here...
17902         * modules/getusershell (configure.ac): ... to here.
17903         (Depends-on): Update condition.
17904
17905 2011-05-08  Bruno Haible  <bruno@clisp.org>
17906
17907         gettimeofday: Move AC_LIBOBJ invocations to module description.
17908         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
17909         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
17910         gl_PREREQ_GETTIMEOFDAY invocations from here...
17911         * modules/gettimeofday (configure.ac): ... to here.
17912
17913 2011-05-08  Bruno Haible  <bruno@clisp.org>
17914
17915         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
17916         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
17917         just gl_FUNC_TZSET.
17918         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
17919         (gl_FUNC_TZSET_CLOBBER): Remove actions.
17920         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
17921         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
17922
17923 2011-05-08  Bruno Haible  <bruno@clisp.org>
17924
17925         getsubopt: Move AC_LIBOBJ invocations to module description.
17926         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
17927         gl_PREREQ_GETSUBOPT invocations from here...
17928         * modules/getsubopt (configure.ac): ... to here.
17929
17930 2011-05-08  Bruno Haible  <bruno@clisp.org>
17931
17932         getpass-gnu: Move AC_LIBOBJ invocations to module description.
17933         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
17934         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
17935         * modules/getpass-gnu (configure.ac): ... to here.
17936
17937 2011-05-08  Bruno Haible  <bruno@clisp.org>
17938
17939         getpass: Move AC_LIBOBJ invocations to module description.
17940         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
17941         gl_PREREQ_GETPASS invocations from here...
17942         * modules/getpass (configure.ac): ... to here.
17943
17944 2011-05-08  Bruno Haible  <bruno@clisp.org>
17945
17946         getpagesize: Move AC_LIBOBJ invocations to module description.
17947         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
17948         from here...
17949         * modules/getpagesize (configure.ac): ... to here.
17950
17951 2011-05-08  Bruno Haible  <bruno@clisp.org>
17952
17953         getopt: Move AC_LIBOBJ invocations to module description.
17954         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
17955         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
17956         invocations from here...
17957         * modules/getopt-gnu (configure.ac): ... to here.
17958         * modules/getopt-posix (configure.ac): ... and here.
17959         (Depends-on): Update condition.
17960
17961 2011-05-08  Bruno Haible  <bruno@clisp.org>
17962
17963         getopt, argp: Respect rules for use of AC_LIBOBJ.
17964         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
17965         (gl_REPLACE_GETOPT_ALWAYS): New macro.
17966         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
17967         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
17968
17969 2011-05-08  Bruno Haible  <bruno@clisp.org>
17970
17971         getlogin_r: Move AC_LIBOBJ invocations to module description.
17972         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
17973         gl_PREREQ_GETLOGIN_R invocations from here...
17974         * modules/getlogin_r (configure.ac): ... to here.
17975
17976 2011-05-08  Bruno Haible  <bruno@clisp.org>
17977
17978         getlogin: Move AC_LIBOBJ invocations to module description.
17979         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
17980         here...
17981         * modules/getlogin (configure.ac): ... to here.
17982
17983 2011-05-08  Bruno Haible  <bruno@clisp.org>
17984
17985         getloadavg: Move AC_LIBOBJ invocations to module description.
17986         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
17987         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
17988         * modules/getloadavg (configure.ac): ... to here.
17989
17990 2011-05-08  Bruno Haible  <bruno@clisp.org>
17991
17992         gethrxtime: Move AC_LIBOBJ invocations to module description.
17993         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
17994         LIB_GETHRXTIME from here...
17995         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
17996         invocations from here...
17997         * modules/gethrxtime (configure.ac): ... to here.
17998
17999 2011-05-08  Bruno Haible  <bruno@clisp.org>
18000
18001         gethostname: Move AC_LIBOBJ invocations to module description.
18002         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
18003         gl_PREREQ_GETHOSTNAME invocations from here...
18004         * modules/gethostname (configure.ac): ... to here.
18005
18006 2011-05-08  Bruno Haible  <bruno@clisp.org>
18007
18008         getgroups: Move AC_LIBOBJ invocations to module description.
18009         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
18010         here...
18011         * modules/getgroups (configure.ac): ... to here.
18012
18013 2011-05-08  Bruno Haible  <bruno@clisp.org>
18014
18015         getdtablesize: Move AC_LIBOBJ invocations to module description.
18016         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
18017         invocation from here...
18018         * modules/getdtablesize (configure.ac): ... to here.
18019
18020 2011-05-08  Bruno Haible  <bruno@clisp.org>
18021
18022         getdomainname: Move AC_LIBOBJ invocations to module description.
18023         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
18024         gl_PREREQ_GETDOMAINNAME invocations from here...
18025         * modules/getdomainname (configure.ac): ... to here.
18026
18027 2011-05-08  Bruno Haible  <bruno@clisp.org>
18028
18029         getline: Move AC_LIBOBJ invocations to module description.
18030         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
18031         invocations from here...
18032         * modules/getline (configure.ac): ... to here.
18033
18034 2011-05-08  Bruno Haible  <bruno@clisp.org>
18035
18036         getline: Simplify.
18037         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
18038         It's already handled through the module dependency.
18039
18040 2011-05-08  Bruno Haible  <bruno@clisp.org>
18041
18042         getdelim: Move AC_LIBOBJ invocations to module description.
18043         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
18044         and gl_PREREQ_GETDELIM invocations from here...
18045         * modules/getdelim (configure.ac): ... to here.
18046         (Depends-on): Fix condition.
18047
18048 2011-05-08  Bruno Haible  <bruno@clisp.org>
18049
18050         getcwd: Move AC_LIBOBJ invocations to module description.
18051         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
18052         invocations from here...
18053         * modules/getcwd (configure.ac): ... to here.
18054
18055 2011-05-08  Bruno Haible  <bruno@clisp.org>
18056
18057         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
18058         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
18059         here...
18060         * modules/getcwd-lgpl (configure.ac): ... to here.
18061
18062 2011-05-07  Bruno Haible  <bruno@clisp.org>
18063
18064         crypto/gc: Move AC_LIBOBJ invocations to module description.
18065         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
18066         * modules/crypto/gc (configure.ac): ... to here.
18067
18068 2011-05-07  Bruno Haible  <bruno@clisp.org>
18069
18070         fwriting: Move AC_LIBOBJ invocations to module description.
18071         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
18072         here...
18073         * modules/fwriting (configure.ac): ... to here.
18074
18075 2011-05-07  Bruno Haible  <bruno@clisp.org>
18076
18077         fwritable: Move AC_LIBOBJ invocations to module description.
18078         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
18079         here...
18080         * modules/fwritable (configure.ac): ... to here.
18081
18082 2011-05-07  Bruno Haible  <bruno@clisp.org>
18083
18084         futimens: Move AC_LIBOBJ invocations to module description.
18085         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
18086         here...
18087         * modules/futimens (configure.ac): ... to here.
18088
18089 2011-05-07  Bruno Haible  <bruno@clisp.org>
18090
18091         ftruncate: Move AC_LIBOBJ invocations to module description.
18092         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
18093         gl_PREREQ_FTRUNCATE invocations from here...
18094         * modules/ftruncate (configure.ac): ... to here.
18095
18096 2011-05-07  Bruno Haible  <bruno@clisp.org>
18097
18098         fsync: Move AC_LIBOBJ invocations to module description.
18099         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
18100         invocations from here...
18101         * modules/fsync (configure.ac): ... to here.
18102
18103 2011-05-07  Bruno Haible  <bruno@clisp.org>
18104
18105         fsusage: Move AC_LIBOBJ invocations to module description.
18106         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
18107         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
18108         * modules/fsusage (configure.ac): ... to here.
18109
18110 2011-05-07  Bruno Haible  <bruno@clisp.org>
18111
18112         freopen: Move AC_LIBOBJ invocations to module description.
18113         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
18114         invocations from here...
18115         * modules/freopen (configure.ac): ... to here.
18116
18117 2011-05-07  Bruno Haible  <bruno@clisp.org>
18118
18119         free: Move AC_LIBOBJ invocations to module description.
18120         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
18121         invocations from here...
18122         * modules/free (configure.ac): ... to here.
18123
18124 2011-05-07  Bruno Haible  <bruno@clisp.org>
18125
18126         freadable: Move AC_LIBOBJ invocations to module description.
18127         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
18128         here...
18129         * modules/freadable (configure.ac): ... to here.
18130
18131 2011-05-07  Bruno Haible  <bruno@clisp.org>
18132
18133         fpurge: Move AC_LIBOBJ invocations to module description.
18134         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
18135         invocations from here...
18136         * modules/fpurge (configure.ac): ... to here.
18137
18138 2011-05-07  Bruno Haible  <bruno@clisp.org>
18139
18140         fpending: Move AC_LIBOBJ invocations to module description.
18141         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
18142         gl_FUNC_FPENDING.
18143         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
18144         invocations from here...
18145         * modules/fpending (configure.ac): ... to here.
18146
18147 2011-05-07  Bruno Haible  <bruno@clisp.org>
18148
18149         fopen: Move AC_LIBOBJ invocations to module description.
18150         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
18151         invocations from here...
18152         * modules/fopen (configure.ac): ... to here.
18153
18154 2011-05-07  Bruno Haible  <bruno@clisp.org>
18155
18156         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
18157         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
18158         gl_FUNC_FNMATCH_POSIX.
18159         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
18160         invocations from here...
18161         * modules/fnmatch (configure.ac): ... to here.
18162         * modules/fnmatch-gnu (configure.ac): ... and here.
18163
18164 2011-05-07  Bruno Haible  <bruno@clisp.org>
18165
18166         flock: Move AC_LIBOBJ invocations to module description.
18167         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
18168         invocations from here...
18169         * modules/flock (configure.ac): ... to here.
18170
18171 2011-05-07  Bruno Haible  <bruno@clisp.org>
18172
18173         fileblocks: Move AC_LIBOBJ invocations to module description.
18174         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
18175         gl_PREREQ_FILEBLOCKS invocations from here...
18176         * modules/fileblocks (configure.ac): ... to here.
18177
18178 2011-05-06  Bruno Haible  <bruno@clisp.org>
18179
18180         fflush: Move AC_LIBOBJ invocations to module description.
18181         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
18182         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
18183         invocations from here...
18184         * modules/fflush (configure.ac): ... to here.
18185
18186 2011-05-06  Bruno Haible  <bruno@clisp.org>
18187
18188         fdopendir: Move AC_LIBOBJ invocations to module description.
18189         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
18190         here...
18191         * modules/fdopendir (configure.ac): ... to here.
18192         (Depends-on): Improve conditions.
18193
18194 2011-05-06  Bruno Haible  <bruno@clisp.org>
18195
18196         _Exit: Move AC_LIBOBJ invocations to module description.
18197         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
18198         invocations from here...
18199         * modules/_Exit (configure.ac): ... to here.
18200
18201 2011-05-21  Bruno Haible  <bruno@clisp.org>
18202
18203         euidaccess: Respect rules for use of AC_LIBOBJ.
18204         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
18205         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
18206         from here...
18207         * modules/euidaccess (configure.ac): ... to here.
18208
18209 2011-05-06  Bruno Haible  <bruno@clisp.org>
18210
18211         error: Move AC_LIBOBJ invocations to module description.
18212         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
18213         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
18214         invocations from here...
18215         * modules/error (configure.ac): ... to here.
18216
18217 2011-05-06  Bruno Haible  <bruno@clisp.org>
18218
18219         duplocale: Move AC_LIBOBJ invocations to module description.
18220         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
18221         gl_PREREQ_DUPLOCALE invocations from here...
18222         * modules/duplocale (configure.ac): ... to here.
18223
18224 2011-05-05  Bruno Haible  <bruno@clisp.org>
18225
18226         dirfd: Move AC_LIBOBJ invocations to module description.
18227         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
18228         gl_FUNC_DIRFD.
18229         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
18230         here...
18231         * modules/dirfd (configure.ac): ... to here.
18232         (Depends-on): Fix condition.
18233
18234 2011-05-05  Bruno Haible  <bruno@clisp.org>
18235
18236         chown: Respect rules for use of AC_LIBOBJ.
18237         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
18238         * modules/chown (configure.ac): ... to here.
18239
18240 2011-05-05  Bruno Haible  <bruno@clisp.org>
18241
18242         chdir-long: Move AC_LIBOBJ invocations to module description.
18243         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
18244         gl_PREREQ_CHDIR_LONG invocations from here...
18245         * modules/chdir-long (configure.ac): ... to here.
18246
18247 2011-05-05  Bruno Haible  <bruno@clisp.org>
18248
18249         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
18250         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
18251         from here...
18252         * modules/canonicalize-lgpl (configure.ac): ... to here.
18253
18254 2011-05-05  Bruno Haible  <bruno@clisp.org>
18255
18256         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
18257         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
18258         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
18259         REPLACE_CALLOC.
18260         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
18261         * modules/calloc-gnu (configure.ac): Likewise.
18262
18263 2011-05-05  Bruno Haible  <bruno@clisp.org>
18264
18265         btowc: Move AC_LIBOBJ invocations to module description.
18266         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
18267         invocations from here...
18268         * modules/btowc (configure.ac): ... to here.
18269
18270 2011-05-21  Bruno Haible  <bruno@clisp.org>
18271
18272         atexit: Move AC_LIBOBJ invocations to module description.
18273         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
18274         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
18275         here...
18276         * modules/atexit (configure.ac): ... to here.
18277
18278 2011-05-05  Bruno Haible  <bruno@clisp.org>
18279
18280         atoll: Move AC_LIBOBJ invocations to module description.
18281         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
18282         invocations from here...
18283         * modules/atoll (configure.ac): ... to here.
18284
18285 2011-05-05  Bruno Haible  <bruno@clisp.org>
18286
18287         argz: Move AC_LIBOBJ invocations to module description.
18288         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
18289         * modules/argz (configure.ac): ... to here.
18290
18291 2011-05-05  Bruno Haible  <bruno@clisp.org>
18292
18293         alphasort: Move AC_LIBOBJ invocations to module description.
18294         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
18295         gl_PREREQ_ALPHASORT invocations from here...
18296         * modules/alphasort (configure.ac): ... to here.
18297
18298 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
18299
18300         verify: new macro verify_expr; verify_true deprecated
18301         * NEWS: Mention this.
18302         * doc/verify.texi (Compile-time Assertions): Document this.
18303         * lib/verify.h (verify_true): Deprecate.
18304         (verify_expr): New macro.
18305         * tests/test-verify.c (function): Test verify_expr.
18306
18307 2011-06-14  Jim Meyering  <meyering@redhat.com>
18308
18309         init.sh: give more portable redirection-related advice in a comment
18310         * tests/init.sh (stderr_fileno_): Update the advice in comments.
18311         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
18312         for lots of discussion.  Stefano Lattarini suggested the solution
18313         of putting "9>&2" after the command.  Reported by Bruno Haible.
18314
18315 2011-06-13  Bruno Haible  <bruno@clisp.org>
18316
18317         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
18318         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
18319         'none'.
18320
18321 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
18322
18323         ftoastr: use strtof only if HAVE_STRTOF
18324         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
18325         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
18326         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
18327         * modules/ftoastr (configure.ac): Check for strtof.
18328
18329 2011-06-13  Bruno Haible  <bruno@clisp.org>
18330
18331         gnulib-tool: Addendum to 2011-06-08 commit.
18332         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
18333         and --witness-c-macro have been given, augment AM_CPPFLAGS.
18334
18335 2011-06-13  Bruno Haible  <bruno@clisp.org>
18336
18337         fseeko: Provide a non-inline replacement of fseek().
18338         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
18339         * modules/fseeko (Depends-on): Add fseek.
18340         * modules/fseek (License): Change to LGPLv2+.
18341
18342 2011-06-13  Bruno Haible  <bruno@clisp.org>
18343
18344         ftello: Provide a non-inline replacement of ftell().
18345         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
18346         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
18347         not have ftello() (such as on mingw).
18348         * modules/ftello (Depends-on): Add ftell.
18349         * modules/ftell (License): Change to LGPLv2+.
18350
18351 2011-05-07  Bruno Haible  <bruno@clisp.org>
18352
18353         ftell: Move AC_LIBOBJ invocations to module description.
18354         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
18355         * modules/ftell (configure.ac): ... to here.
18356
18357 2011-05-07  Bruno Haible  <bruno@clisp.org>
18358
18359         ftello: Respect rules for use of AC_LIBOBJ.
18360         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
18361         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
18362         here...
18363         * modules/ftello (configure.ac): ... to here.
18364
18365 2011-05-07  Bruno Haible  <bruno@clisp.org>
18366
18367         fseeko: Simplify.
18368         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
18369         (gl_FUNC_FSEEKO): Inline it here.
18370
18371 2011-05-07  Bruno Haible  <bruno@clisp.org>
18372
18373         fseek: Move AC_LIBOBJ invocations to module description.
18374         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
18375         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
18376         * modules/fseek (configure.ac): ... to here.
18377
18378 2011-05-07  Bruno Haible  <bruno@clisp.org>
18379
18380         fseek: Respect rules for use of AC_LIBOBJ.
18381         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
18382         here...
18383         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
18384
18385 2011-05-07  Bruno Haible  <bruno@clisp.org>
18386
18387         fseeko: Respect rules for use of AC_LIBOBJ.
18388         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
18389         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
18390         here...
18391         * modules/fseeko (configure.ac): ... to here.
18392
18393 2011-06-13  Bruno Haible  <bruno@clisp.org>
18394
18395         gnulib-tool: Allow comments in the 'Depends-on' section.
18396         * doc/gnulib.texi (Module description): Mention comment syntax in the
18397         Depends-on section.
18398         * gnulib-tool (func_get_dependencies): Filter out comment lines.
18399
18400 2011-06-13  Bruno Haible  <bruno@clisp.org>
18401
18402         file-set.h: guard __attibute__ use, now that it's not always defined
18403         * lib/file-set.h (record_file): Use __attribute__ only with compiler
18404         versions that support it.  This fixes a coreutils build failure with
18405         the vendor cc on HP-UX 11.31.
18406
18407 2011-06-12  Bruno Haible  <bruno@clisp.org>
18408
18409         acl: Add support for HP-UX >= 11.11 JFS ACLs.
18410         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
18411         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
18412         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
18413         (acl, aclsort): New declarations.
18414         (aclv_nontrivial): New declaration.
18415         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
18416         (file_has_acl): Read also the second kind of HP-UX ACLs.
18417         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
18418         kind of HP-UX ACLs if the first kind fails.
18419         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
18420         second kind of HP-UX ACLs.
18421         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
18422         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
18423         agree.
18424         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
18425         hpuxjfs.
18426         Handle hpuxjfs.
18427         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
18428         hpuxjfs.
18429         Handle hpuxjfs.
18430         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
18431         (func_test_same_acls): Use both lsacl and getacl.
18432         Handle hpuxjfs.
18433         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
18434         (func_test_same_acls): Use both lsacl and getacl.
18435         Handle hpuxjfs.
18436
18437 2011-06-12  Bruno Haible  <bruno@clisp.org>
18438
18439         acl: Complete the 2010-08-10 fix.
18440         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
18441         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
18442         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
18443         explicitly.
18444         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
18445         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
18446
18447 2011-06-12  Bruno Haible  <bruno@clisp.org>
18448
18449         spawn-pipe tests: Comments.
18450         * tests/test-spawn-pipe-child.c (main): Update comment.
18451         Reported by James Youngman <jay@gnu.org>.
18452
18453 2011-06-11  James Youngman  <jay@gnu.org>
18454
18455         New module 'stat-size'.
18456         * modules/stat-size: New module.  Provides macros for accessing
18457         file size information in instances of struct stat.  Depends on the
18458         fileblocks module because it calls st_blocks.
18459         * lib/stat-size.h: New file, adapted from coreutils' system.h.
18460         * doc/gnulib.texi: Include stat-size.texi.
18461         * doc/stat-size.texi: Documentation for this module.
18462         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
18463         * m4/fileblocks.m4: Mention that stat-size depends on the call to
18464         AC_STRUCT_ST_BLOCKS.
18465
18466 2011-06-09  Bruno Haible  <bruno@clisp.org>
18467
18468         thread: Support pthreads-win32.
18469         * lib/glthread/thread.h (gl_thread_self): Define differently on
18470         pthreads-win32.
18471         (gl_null_thread): New declaration.
18472         (gl_thread_self_pointer): New macro.
18473         * lib/glthread/thread.c (gl_null_thread): New constant.
18474         * tests/test-lock.c: Use gl_thread_self_pointer instead of
18475         gl_thread_self.
18476         * tests/test-tls.c: Likewise.
18477         Suggested by Paul Eggert. Reported by Eric Blake.
18478
18479 2011-06-09  Bruno Haible  <bruno@clisp.org>
18480
18481         thread: Fix confusion between NULL and 0.
18482         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
18483         Reported by Paul Eggert.
18484
18485 2011-06-09  Bruno Haible  <bruno@clisp.org>
18486
18487         spawn-pipe tests: Avoid test failure on HP-UX 11.
18488         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
18489         is closed.
18490
18491 2011-06-09  Bruno Haible  <bruno@clisp.org>
18492
18493         acl tests: Fix compilation error on HP-UX 11.
18494         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
18495
18496 2011-06-09  Bruno Haible  <bruno@clisp.org>
18497
18498         rmdir: Avoid test failure on HP-UX 10.20.
18499         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
18500         EEXIST.
18501
18502 2011-06-08  Eric Blake  <eblake@redhat.com>
18503
18504         perror: fix test on mingw
18505         * modules/perror-tests (Depends-on): Add dup2.
18506
18507         strerror_r-posix: fix on MacOS
18508         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
18509         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
18510         logic bug.
18511         * lib/strerror_r.c (strerror_r): Fix the bug.
18512         * lib/strerror.c (strerror): Likewise.
18513         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
18514         problem.
18515         * doc/posix-functions/strerror.texi (strerror): Likewise.
18516         * doc/posix-functions/perror.texi (perror): Likewise.
18517         * tests/test-strerror.c (main): Enhance test.
18518         * tests/test-strerror_r.c (main): Likewise.
18519
18520 2011-06-08  Bruno Haible  <bruno@clisp.org>
18521
18522         gnulib-tool: Better isolation between different gnulib-tool invocations.
18523         * gnulib-tool: New option --witness-c-macro.
18524         (witness_c_macro): New variable.
18525         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
18526         AM_CPPFLAGS define it as a C macro.
18527         (func_emit_tests_Makefile_am): Likewise.
18528         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
18529         read it from there.
18530         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
18531         m4_define, not AC_DEFUN.
18532         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
18533         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
18534         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
18535         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
18536         s|...|...|, to substitute the values of the GNULIB_* module indicator
18537         variables.
18538         * modules/dirent (Makefile.am): Likewise.
18539         * modules/fcntl-h (Makefile.am): Likewise.
18540         * modules/iconv-h (Makefile.am): Likewise.
18541         * modules/langinfo (Makefile.am): Likewise.
18542         * modules/locale (Makefile.am): Likewise.
18543         * modules/math (Makefile.am): Likewise.
18544         * modules/netdb (Makefile.am): Likewise.
18545         * modules/poll-h (Makefile.am): Likewise.
18546         * modules/pty (Makefile.am): Likewise.
18547         * modules/search (Makefile.am): Likewise.
18548         * modules/signal (Makefile.am): Likewise.
18549         * modules/spawn (Makefile.am): Likewise.
18550         * modules/stdio (Makefile.am): Likewise.
18551         * modules/stdlib (Makefile.am): Likewise.
18552         * modules/string (Makefile.am): Likewise.
18553         * modules/sys_ioctl (Makefile.am): Likewise.
18554         * modules/sys_select (Makefile.am): Likewise.
18555         * modules/sys_socket (Makefile.am): Likewise.
18556         * modules/sys_stat (Makefile.am): Likewise.
18557         * modules/sys_times (Makefile.am): Likewise.
18558         * modules/sys_utsname (Makefile.am): Likewise.
18559         * modules/sys_wait (Makefile.am): Likewise.
18560         * modules/termios (Makefile.am): Likewise.
18561         * modules/time (Makefile.am): Likewise.
18562         * modules/unistd (Makefile.am): Likewise.
18563         * modules/wchar (Makefile.am): Likewise.
18564
18565 2011-06-08  Eric Blake  <eblake@redhat.com>
18566
18567         strerror: simplify replacement
18568         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
18569         * modules/strerror (configure.ac): No prereqs needed here...
18570         * modules/strerror-override (configure.ac): ...but this needs it.
18571         (Files): Add file for needed prereq macro.
18572
18573 2011-06-08  Bruno Haible  <bruno@clisp.org>
18574
18575         strerror_r-posix: Tweaks.
18576         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
18577         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
18578         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
18579         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
18580         (gl_FUNC_STRERROR_R): ... to here.
18581         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
18582
18583 2011-06-07  Eric Blake  <eblake@redhat.com>
18584
18585         perror: document fixed bugs
18586         * doc/posix-functions/perror.texi (perror): Document recent
18587         patches.
18588
18589 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
18590
18591         stat-time: get_stat_birthtime failure is better-defined
18592         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
18593         return a timestamp whose tv_sec and tv_nsec values are both -1.
18594         Previously, the spec said only that the tv_nsec value was negative.
18595         This upward-compatible change simplifies GNU tar a bit.
18596
18597 2011-06-07  Eric Blake  <eblake@redhat.com>
18598
18599         strerror_r-posix: work around cygwin 1.7.9
18600         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
18601         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
18602         bug without replacing strerror_r.
18603         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
18604         strerror_r is buggy, but without requiring strerror_r compilation.
18605         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
18606
18607         test-perror: relax test to ignore cygwin bug
18608         * tests/test-perror2.c (main): Relax test on requiring detection
18609         of stream errors, and use unbuffered stream.
18610         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
18611         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
18612         * doc/posix-functions/fputc.texi (fputc): Likewise.
18613         * doc/posix-functions/fputs.texi (fputs): Likewise.
18614         * doc/posix-functions/fputws.texi (fputws): Likewise.
18615         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
18616         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
18617         * doc/posix-functions/getopt.texi (getopt): Likewise.
18618         * doc/posix-functions/perror.texi (perror): Likewise.
18619         * doc/posix-functions/printf.texi (printf): Likewise.
18620         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
18621         * doc/posix-functions/psignal.texi (psignal): Likewise.
18622         * doc/posix-functions/putc.texi (putc): Likewise.
18623         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
18624         Likewise.
18625         * doc/posix-functions/putchar.texi (putchar): Likewise.
18626         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
18627         Likewise.
18628         * doc/posix-functions/puts.texi (puts): Likewise.
18629         * doc/posix-functions/putwc.texi (putwc): Likewise.
18630         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
18631         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
18632         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
18633         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
18634         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
18635         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
18636         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
18637         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
18638
18639 2011-05-22  Bruno Haible  <bruno@clisp.org>
18640
18641         strerror: Move AC_LIBOBJ invocations to module description.
18642         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
18643         gl_PREREQ_STRERROR invocations from here...
18644         * modules/strerror (configure.ac): ... to here.
18645
18646 2011-05-21  Bruno Haible  <bruno@clisp.org>
18647
18648         perror: Use common idiom.
18649         * modules/perror (configure.ac): Reorder statements.
18650
18651 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
18652
18653         tests: fix usage message in 'mktempd_'
18654         * tests/init.sh (mktempd_): In the usage message, use literal
18655         'mktempd_', not '$ME' (which is even undefined), as the name of
18656         the subroutine.
18657
18658 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
18659
18660         tests init: new function 'fatal_', for hard errors
18661         Before this patch, the only way offered by tests/init.sh to
18662         properly signal a hard error was the `framework_failure_'
18663         function.  But the error message issued by that function,
18664         as its name would suggest, refers to a set-up failure in the
18665         testsuite, while hard errors can obviously also be due to
18666         other reasons.  The best way to fix this inconsistency is to
18667         introduce a new function with a more general error message.
18668         * tests/init.sh (fatal_): New function.
18669
18670 2011-06-06  Eric Blake  <eblake@redhat.com>
18671
18672         canonicalize-lgpl: use common idiom
18673         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
18674         over newer POSIX -Rf.
18675         Reported by Bruno Haible.
18676
18677         canonicalize-lgpl: work around AIX realpath bug
18678         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
18679         * doc/posix-functions/realpath.texi (realpath): Document it.
18680         Reported by Bruno Haible.
18681
18682         strerror: work around FreeBSD bug
18683         * lib/strerror.c (strerror): Special case 0.
18684         Reported by Bruno Haible.
18685
18686         strerror-override: avoid bloating errno module
18687         * modules/errno (Files, configure.ac): Move replacement strings...
18688         * modules/strerror-override: ...to new module.
18689         * modules/strerror (Depends-on): Add strerror-override.
18690         * modules/strerror_r-posix (Depends-on): Likewise.
18691         * MODULES.html.sh: Document new module.
18692         Reported by Bruno Haible.
18693
18694 2011-06-06  Bruno Haible  <bruno@clisp.org>
18695
18696         spawn-pipe tests: Rename program.
18697         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
18698         * tests/test-spawn-pipe-child.c: Update comment.
18699         * tests/test-spawn-pipe.sh: Update.
18700         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
18701
18702         spawn-pipe tests: Link the child program only against libc.
18703         * tests/test-spawn-pipe-child.c: New file, extracted from
18704         tests/test-spawn-pipe.c.
18705         (main): Expect only one argument.
18706         (is_open): New function, copied from tests/test-pipe.c.
18707         * tests/test-spawn-pipe.c: Don't include <errno.h>.
18708         (child_main): Remove function.
18709         (test_pipe): Pass only one argument to the child program.
18710         (main): Remove child process code. Expect the child program's name as
18711         first argument.
18712         * tests/test-spawn-pipe.sh: Pass the child program's name as first
18713         argument.
18714         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
18715         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
18716         test-spawn-pipe-child against no libraries.
18717
18718 2011-06-06  Bruno Haible  <bruno@clisp.org>
18719
18720         careadlinkat: Avoid mismatch between ssize_t and int.
18721         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
18722         * lib/careadlinkat.c (careadlinkatcwd): Define always.
18723
18724 2011-06-06  Jim Meyering  <meyering@redhat.com>
18725
18726         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
18727         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
18728         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
18729
18730 2011-06-05  Bruno Haible  <bruno@clisp.org>
18731
18732         ansi-c++-opt: Interoperability with libtool.
18733         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
18734         set the variable to "no", not to ":".
18735         * NEWS: Mention the change.
18736
18737 2011-06-05  Bruno Haible  <bruno@clisp.org>
18738
18739         acl: Fix test failure on AIX 7.
18740         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
18741         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
18742
18743 2011-06-05  Bruno Haible  <bruno@clisp.org>
18744
18745         pipe-filter-ii: Fix test failure on AIX and IRIX.
18746         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
18747         with EAGAIN, retry with a smaller buffer size.
18748
18749 2011-06-05  Bruno Haible  <bruno@clisp.org>
18750
18751         localename: Fix link dependencies.
18752         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
18753         * modules/localename-tests (Makefile.am): Link test-localename with
18754         $(LIBTHREAD).
18755
18756 2011-06-05  Bruno Haible  <bruno@clisp.org>
18757
18758         error: Avoid gcc warning.
18759         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
18760
18761 2011-06-05  Bruno Haible  <bruno@clisp.org>
18762
18763         unsetenv: Avoid gcc warning.
18764         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
18765
18766 2011-06-05  Bruno Haible  <bruno@clisp.org>
18767
18768         setenv: Avoid gcc warning.
18769         * lib/setenv.c (setenv): Provide declaration if system lacks it.
18770
18771 2011-06-05  Bruno Haible  <bruno@clisp.org>
18772
18773         sys_select: Ensure memset is declared also on AIX 7.
18774         * lib/sys_select.in.h: Include <string.h> also on AIX.
18775         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
18776         self-contained also on AIX 7.1.
18777
18778 2011-06-04  Jim Meyering  <meyering@redhat.com>
18779
18780         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
18781         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
18782         function name, "error".
18783         (_gl_translatable_diag_func_re): New configurable variable.
18784
18785 2011-06-04  Bruno Haible  <bruno@clisp.org>
18786
18787         getopt: Avoid gcc warning.
18788         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
18789
18790 2011-06-04  Bruno Haible  <bruno@clisp.org>
18791
18792         strerror_r: Fix comments.
18793         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
18794         commit.
18795
18796 2011-06-04  Bruno Haible  <bruno@clisp.org>
18797
18798         perror: Fix compilation error.
18799         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
18800         Undefine fprintf, not sprintf.
18801         * modules/perror (Depends-on): Remove intprops, verify.
18802
18803 2011-06-04  Bruno Haible  <bruno@clisp.org>
18804
18805         setlocale: Enable replacement on Cygwin 1.5.
18806         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
18807         Cygwin 1.5.x.
18808         * doc/posix-functions/setlocale.texi: Mention that the problem with the
18809         LC_CTYPE category also exists on Cygwin 1.5.x.
18810
18811 2011-06-04  Bruno Haible  <bruno@clisp.org>
18812
18813         strerror-override: Don't disable symbol renamings.
18814         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
18815         * lib/strerror-override.c: Include config.h.
18816         (strerror_override): Don't undefine.
18817
18818 2011-06-03  Bruno Haible  <bruno@clisp.org>
18819
18820         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
18821         * lib/localename.h: Update copyright header.
18822         * lib/localename.c: Likewise.
18823         * lib/relocatable.h: Likewise.
18824         * lib/relocatable.c: Likewise.
18825
18826 2011-06-02  Bruno Haible  <bruno@clisp.org>
18827
18828         doc: Fix a module name.
18829         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
18830
18831 2011-06-02  Bruno Haible  <bruno@clisp.org>
18832
18833         pipe2: Remove dependency on 'nonblocking' module.
18834         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
18835         O_NONBLOCK is defined by gnulib.
18836         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
18837         is zero.
18838         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
18839         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
18840         defined by gnulib.
18841         (get_nonblocking_flag): New function.
18842         (main): Test O_NONBLOCK flag only if it is nonzero.
18843         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
18844
18845 2011-06-03  Jim Meyering  <meyering@redhat.com>
18846
18847         maint: three new prohibit-header-without-use rules
18848         Prohibit use of cloexec.h, posixver.h, same.h without use.
18849         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
18850         (sc_prohibit_posixver_without_use): Likewise.
18851         (sc_prohibit_same_without_use): Likewise.
18852
18853 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
18854
18855         allocator: 'die' routine is now given requested size
18856         * lib/allocator.h (struct allocator.die): New size arg.
18857         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
18858         If the actual problem is an ssize_t limitation, not a size_t or
18859         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
18860
18861 2011-06-01  Eric Blake  <eblake@redhat.com>
18862
18863         strerror: drop strerror_r dependency
18864         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
18865         * lib/strerror-override.c (strerror_override): ...to new file.
18866         * lib/strerror-override.h: Add prototype.
18867         * lib/strerror-impl.h: Delete.
18868         * lib/strerror.c (strerror): New implementation.
18869         * modules/errno (Files): Add new files.
18870         (configure.ac): Compile new file as appropriate.
18871         * modules/strerror (Files): Drop unused file.
18872         (Depends-on): Drop strerror_r-posix.
18873         * MODULES.html.sh: Document strerror_r-posix.
18874         Requested by Sam Steingold.
18875
18876         perror: call strerror_r directly
18877         * modules/perror (Files): Drop strerror-impl.h.
18878         * lib/perror.c (perror): Use our own stack buffer, rather than
18879         calling a wrapper that uses static storage.
18880         * doc/posix-functions/perror.texi (perror): Document a limitation
18881         of our replacement.
18882
18883         strerror_r: fix includes for FreeBSD
18884         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
18885         since we use abort on some platforms.
18886         Reported by Matthias Bolte.
18887
18888 2011-05-31  Bruno Haible  <bruno@clisp.org>
18889
18890         Fix link errors in tests: openat-die uses gettext-h.
18891         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
18892         against $(LIBINTL).
18893         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
18894         against $(LIBINTL).
18895         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
18896         $(LIBINTL).
18897         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
18898         against $(LIBINTL).
18899         * modules/linkat-tests (Makefile.am): Link test-linkat against
18900         $(LIBINTL).
18901         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
18902         $(LIBINTL).
18903         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
18904         against $(LIBINTL).
18905         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
18906         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
18907         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
18908         $(LIBINTL).
18909         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
18910         $(LIBINTL).
18911         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
18912         $(LIBINTL).
18913         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
18914
18915 2011-05-31  Bruno Haible  <bruno@clisp.org>
18916
18917         Fix link errors in tests: wait-process uses gettext-h.
18918         * modules/nonblocking-pipe-tests (Makefile.am): Set
18919         test_nonblocking_pipe_main_LDADD.
18920         * modules/nonblocking-socket-tests (Makefile.am): Link
18921         test-nonblocking-socket-main against $(LIBINTL).
18922         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
18923
18924 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
18925
18926         assert-h: work around 'verify' incompatibility
18927         * lib/verify.h: Use @...@ directives, not ifdef.
18928         * modules/assert-h (assert.h): Implement the directives.
18929         (assert.h): Substitute the symbol-prefix more consistently.
18930
18931 2011-05-29  Jim Meyering  <meyering@redhat.com>
18932
18933         trim: remove three superfluous assignments
18934         * lib/trim.c (trim2): Remove three superfluous assignments
18935         and correct brace positioning.
18936
18937 2011-05-29  Bruno Haible  <bruno@clisp.org>
18938
18939         wctype-h: Avoid namespace pollution on Solaris 2.6.
18940         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
18941         identifiers.
18942         * doc/posix-headers/wctype.texi: Mention the problem.
18943         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
18944
18945 2011-05-28  Jim Meyering  <meyering@redhat.com>
18946
18947         parse-datetime.y: accommodate -Wstrict-overflow
18948         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
18949         placate -Wstrict-overflow.
18950
18951         trim: avoid a warning from -O2 -Wstrict-overflow
18952         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
18953
18954 2011-05-29  Bruno Haible  <bruno@clisp.org>
18955
18956         gnulib-tool: Fix bug in yesterday's commit.
18957         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
18958         twice.
18959
18960 2011-05-29  Bruno Haible  <bruno@clisp.org>
18961
18962         Allow multiple gnulib generated include files to be combined.
18963         * gnulib-tool (func_compute_include_guard_prefix): New function.
18964         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
18965         ${gl_include_guard_prefix} references.
18966         (func_import, func_create_testdir): Invoke
18967         func_compute_include_guard_prefix.
18968         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
18969         * lib/ctype.in.h: Likewise.
18970         * lib/dirent.in.h: Likewise.
18971         * lib/errno.in.h: Likewise.
18972         * lib/fcntl.in.h: Likewise.
18973         * lib/float.in.h: Likewise.
18974         * lib/getopt.in.h: Likewise.
18975         * lib/iconv.in.h: Likewise.
18976         * lib/langinfo.in.h: Likewise.
18977         * lib/locale.in.h: Likewise.
18978         * lib/math.in.h: Likewise.
18979         * lib/netdb.in.h: Likewise.
18980         * lib/netinet_in.in.h: Likewise.
18981         * lib/poll.in.h: Likewise.
18982         * lib/pthread.in.h: Likewise.
18983         * lib/pty.in.h: Likewise.
18984         * lib/sched.in.h: Likewise.
18985         * lib/se-selinux.in.h: Likewise.
18986         * lib/search.in.h: Likewise.
18987         * lib/signal.in.h: Likewise.
18988         * lib/spawn.in.h: Likewise.
18989         * lib/stdarg.in.h: Likewise.
18990         * lib/stddef.in.h: Likewise.
18991         * lib/stdint.in.h: Likewise.
18992         * lib/stdio.in.h: Likewise.
18993         * lib/stdlib.in.h: Likewise.
18994         * lib/string.in.h: Likewise.
18995         * lib/strings.in.h: Likewise.
18996         * lib/sys_file.in.h: Likewise.
18997         * lib/sys_ioctl.in.h: Likewise.
18998         * lib/sys_select.in.h: Likewise.
18999         * lib/sys_socket.in.h: Likewise.
19000         * lib/sys_stat.in.h: Likewise.
19001         * lib/sys_time.in.h: Likewise.
19002         * lib/sys_times.in.h: Likewise.
19003         * lib/sys_uio.in.h: Likewise.
19004         * lib/sys_utsname.in.h: Likewise.
19005         * lib/sys_wait.in.h: Likewise.
19006         * lib/sysexits.in.h: Likewise.
19007         * lib/termios.in.h: Likewise.
19008         * lib/time.in.h: Likewise.
19009         * lib/unistd.in.h: Likewise.
19010         * lib/wchar.in.h: Likewise.
19011         * lib/wctype.in.h: Likewise.
19012         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
19013         * modules/ctype (Makefile.am): Likewise.
19014         * modules/dirent (Makefile.am): Likewise.
19015         * modules/errno (Makefile.am): Likewise.
19016         * modules/fcntl-h (Makefile.am): Likewise.
19017         * modules/float (Makefile.am): Likewise.
19018         * modules/getopt-posix (Makefile.am): Likewise.
19019         * modules/iconv-h (Makefile.am): Likewise.
19020         * modules/langinfo (Makefile.am): Likewise.
19021         * modules/locale (Makefile.am): Likewise.
19022         * modules/math (Makefile.am): Likewise.
19023         * modules/netdb (Makefile.am): Likewise.
19024         * modules/netinet_in (Makefile.am): Likewise.
19025         * modules/poll-h (Makefile.am): Likewise.
19026         * modules/pthread (Makefile.am): Likewise.
19027         * modules/pty (Makefile.am): Likewise.
19028         * modules/sched (Makefile.am): Likewise.
19029         * modules/search (Makefile.am): Likewise.
19030         * modules/selinux-h (Makefile.am): Likewise.
19031         * modules/signal (Makefile.am): Likewise.
19032         * modules/spawn (Makefile.am): Likewise.
19033         * modules/stdarg (Makefile.am): Likewise.
19034         * modules/stddef (Makefile.am): Likewise.
19035         * modules/stdint (Makefile.am): Likewise.
19036         * modules/stdio (Makefile.am): Likewise.
19037         * modules/stdlib (Makefile.am): Likewise.
19038         * modules/string (Makefile.am): Likewise.
19039         * modules/strings (Makefile.am): Likewise.
19040         * modules/sys_file (Makefile.am): Likewise.
19041         * modules/sys_ioctl (Makefile.am): Likewise.
19042         * modules/sys_select (Makefile.am): Likewise.
19043         * modules/sys_socket (Makefile.am): Likewise.
19044         * modules/sys_stat (Makefile.am): Likewise.
19045         * modules/sys_time (Makefile.am): Likewise.
19046         * modules/sys_times (Makefile.am): Likewise.
19047         * modules/sys_uio (Makefile.am): Likewise.
19048         * modules/sys_utsname (Makefile.am): Likewise.
19049         * modules/sys_wait (Makefile.am): Likewise.
19050         * modules/sysexits (Makefile.am): Likewise.
19051         * modules/termios (Makefile.am): Likewise.
19052         * modules/time (Makefile.am): Likewise.
19053         * modules/unistd (Makefile.am): Likewise.
19054         * modules/wchar (Makefile.am): Likewise.
19055         * modules/wctype-h (Makefile.am): Likewise.
19056         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
19057
19058 2011-05-29  Bruno Haible  <bruno@clisp.org>
19059
19060         assert-h: Allow multiple gnulib generated replacements to coexist.
19061         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
19062
19063 2011-05-29  Bruno Haible  <bruno@clisp.org>
19064
19065         argp: Allow coexistence with strerror_r-posix module.
19066         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
19067         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
19068         by gnulib's <string.h> replacement), assume it has the POSIX signature,
19069         not the glibc signature.
19070
19071 2011-05-28  Bruno Haible  <bruno@clisp.org>
19072
19073         gnulib-tool: Alternative structure of testdirs, similar to --import.
19074         * gnulib-tool: New option --single-configure.
19075         (func_usage): Document it.
19076         (single_configure): New variable.
19077         (func_modules_transitive_closure_separately,
19078         func_modules_transitive_closure_separately,
19079         func_determine_use_libtests, func_modules_add_dummy_separately,
19080         func_modules_to_filelist_separately): New functions, extracted from
19081         func_import.
19082         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
19083         (func_import): Use the new functions.
19084         (func_create_testdir): Set final_modules. Handle $single_configure =
19085         true case.
19086
19087 2011-05-28  Bruno Haible  <bruno@clisp.org>
19088
19089         getloadavg: Remove an unreliable safety check.
19090         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
19091         getloadavg.c is in place.
19092         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
19093         Reported by Sam Steingold <sds@gnu.org>.
19094
19095 2011-05-28  Bruno Haible  <bruno@clisp.org>
19096
19097         doc: Cleanup yet another file produced by texinfo.tex.
19098         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
19099
19100 2011-05-28  Bruno Haible  <bruno@clisp.org>
19101
19102         Finish the conditional dependencies mechanism.
19103         * gnulib-tool: New option --no-conditional-dependencies.
19104         (func_usage): Document it. Don't mark --conditional-dependencies as
19105         experimental.
19106         (cond_dependencies): The possible values can now be true, false, empty.
19107         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
19108         (func_import): Store setting in gnulib-cache.m4 and read it from there.
19109         * doc/gnulib-tool.texi (Conditional dependencies): New section.
19110
19111 2011-05-28  Bruno Haible  <bruno@clisp.org>
19112
19113         doc: Use a recent texinfo.tex.
19114         * doc/Makefile (tex_opts): New variable.
19115         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
19116
19117 2011-05-28  Jim Meyering  <meyering@redhat.com>
19118
19119         intprops.h: adjust comment to match code change
19120         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
19121         only once, it *may* have side effects.  Also fix an unrelated typo.
19122         (_GL_INT_SIGNED): Likewise.
19123
19124 2011-05-26  Simon Josefsson  <simon@josefsson.org>
19125
19126         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
19127
19128 2011-05-26  Bruno Haible  <bruno@clisp.org>
19129
19130         mbsrchr: Avoid collision with system function on Interix.
19131         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
19132         Reported by Markus Duft <mduft@gentoo.org>.
19133
19134 2011-05-15  James Youngman  <jay@gnu.org>
19135
19136         getopt: for ambiguous options, enumerate the possibilities.
19137         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
19138         the ambiguous options when an ambiguous prefix is given. This was
19139         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
19140         glibc change was
19141         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
19142
19143 2011-05-25  Eric Blake  <eblake@redhat.com>
19144
19145         getcwd: work around mingw bug
19146         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
19147         * doc/posix-functions/getcwd.texi (getcwd): Document it.
19148         Reported by Matthias Bolte.
19149
19150 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
19151
19152         test-intprops: disable -Wtype-limits diagnostics
19153         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
19154         diagnostics.  Otherwise, the integer overflow macros generate many
19155         diagnostics.  Reported by Jim Meyering in
19156         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
19157
19158         intprops: shorten, to pacify gcc -Woverlength-strings
19159         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
19160         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
19161         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
19162         likely to run afoul of C compiler limits for string constant lengths.
19163         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
19164
19165 2011-05-24  Eric Blake  <eblake@redhat.com>
19166
19167         docs: document recently fixed glibc printf bug
19168         * doc/posix-functions/fprintf.texi (fprintf): Document it.
19169         * doc/posix-functions/printf.texi (printf): Likewise.
19170         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
19171         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
19172
19173         closein-tests: convert to init.sh
19174         * modules/closein-tests (Files): Add init.sh
19175         * tests/test-closein.sh Use it.
19176
19177         yesno-tests: convert to init.sh
19178         * modules/yesno-tests (Files): Add init.sh.
19179         * tests/test-yesno.sh: Use it.
19180
19181         atexit-tests: ensure reliable exit status
19182         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
19183         Reported by Bruno Haible.
19184
19185 2011-05-24  Bruno Haible  <bruno@clisp.org>
19186
19187         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
19188         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
19189         gl_PREREQ_STRERROR_R invocations from here...
19190         * modules/strerror_r-posix (configure.ac): ... to here.
19191
19192 2011-05-24  Eric Blake  <eblake@redhat.com>
19193
19194         strerror_r: fix missing header
19195         * lib/strerror_r.c: Avoid compiler warning about snprintf.
19196
19197         strerror_r: fix AIX test failures
19198         * lib/strerror_r.c (strerror_r): Convert silent truncation to
19199         ERANGE failure.
19200
19201         strerror_r: fix Solaris test failures
19202         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
19203         failures.
19204         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
19205
19206         strerror_r: enforce POSIX recommendations
19207         * lib/strerror_r.c (safe_copy): New helper method.
19208         (strerror_r): Guarantee a non-empty string.
19209         * tests/test-strerror_r.c (main): Enhance tests to incorporate
19210         recent POSIX rulings and to match our strerror guarantees.
19211         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
19212
19213 2011-05-24  Jim Meyering  <meyering@redhat.com>
19214
19215         test-perror2.c: avoid warning about unused variable
19216         * tests/test-perror2.c (main): Remove declaration of unused "fp".
19217
19218 2011-05-24  Eric Blake  <eblake@redhat.com>
19219
19220         perror: avoid spurious test failure on HP-UX
19221         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
19222
19223         tests: fix logic bug in init.sh
19224         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
19225         shell.
19226
19227 2011-05-24  Jim Meyering  <meyering@redhat.com>
19228
19229         utimensat: do not reference an out-of-scope buffer
19230         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
19231         declared in an inner scope, yet "times" would be dereferenced outside
19232         the scope in which "ts" was valid.
19233         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
19234         of ts[2] "out/up", so that the use of aliased "times" (via
19235         "times = ts;") does not end up referencing an out-of-scope "ts"
19236
19237         opendir-safer.c: don't clobber errno; don't close negative FD
19238         * lib/opendir-safer.c (opendir_safer):
19239         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
19240         file descriptor, and more importantly, don't clobber the
19241         offending errno value with EINVAL.  Before, upon failure
19242         of dup_safer, we would pass the negative file descriptor to
19243         fdopendir, which would clobber errno.
19244
19245 2011-05-23  Bruno Haible  <bruno@clisp.org>
19246
19247         idcache: Fix module description.
19248         * modules/idcache (Include): Set to "idcache.h".
19249
19250 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
19251
19252         gnulib-tool: fix portability problem with MacOS sed
19253         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
19254         before the "}".  Problem reported by Leo in
19255         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
19256         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
19257         sed_extract_condition1, sed_extract_condition2.
19258
19259 2011-05-23  Bruno Haible  <bruno@clisp.org>
19260
19261         hash: Simplify autoconf macro.
19262         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
19263
19264 2011-05-23  Bruno Haible  <bruno@clisp.org>
19265
19266         getugroups: Fix module description.
19267         * modules/getugroups (Include): Set to "getugroups.h".
19268
19269 2011-05-23  Bruno Haible  <bruno@clisp.org>
19270
19271         linkat: Simplify autoconf macro.
19272         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
19273
19274 2011-05-23  Bruno Haible  <bruno@clisp.org>
19275             Eric Blake  <eblake@redhat.com>
19276
19277         linkat, renameat: Update dependencies.
19278         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
19279         * modules/linkat (Depends-on): Likewise. Remove also readlink,
19280         symlinkat.
19281
19282 2011-05-23  Jim Meyering  <meyering@redhat.com>
19283
19284         maint.mk: more tight_scope improvements
19285         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
19286         (_gl_TS_headers): Define only in if-0'd block.
19287         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
19288         sometimes we must *not* use it.  Adjust uses accordingly.
19289         (sc_tight_scope): Use much simpler grep-based test to determine
19290         whether we skip this rule.
19291
19292         maint.mk: generalize/improve the tight-scope rule
19293         * top/maint.mk: Emit a warning when the test is skipped.
19294         (_gl_TS_dir): Add $(srcdir)/ prefix.
19295         (_gl_TS_function_match): Simplify, rather than trying
19296         to enumerate common types.  Otherwise, it would fail to match an
19297         "extern unsigned char const *" declaration in idutils.
19298         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
19299         a way to support use of that type of macro.
19300         (_gl_TS_var_match): Simplify regexp.
19301         (_gl_TS_obj_files): New configurable variable.
19302         (_gl_TS_headers): Likewise.
19303
19304 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
19305
19306         verify: fix bug when gnulib <assert.h> is also included
19307         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
19308         is defined, not if _GL_STATIC_ASSERT_H is not defined.
19309         Perhaps there's a better way, but this fixes the immediate problem.
19310         Problem reported by Bruno Haible in
19311         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
19312
19313 2011-05-22  Bruno Haible  <bruno@clisp.org>
19314
19315         xgetcwd: Simplify autoconf macro.
19316         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
19317
19318 2011-05-22  Bruno Haible  <bruno@clisp.org>
19319
19320         New module 'mktime-internal'.
19321         * modules/mktime-internal: New file.
19322         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
19323         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
19324         mktime_internal as a C macro if libc has __mktime_internal.
19325         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
19326         conditions.
19327         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
19328
19329 2011-05-22  Bruno Haible  <bruno@clisp.org>
19330
19331         timegm: Correct mktime replacement statements.
19332         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
19333         defining mktime as a C macro. This completes a 2009-07-28 commit.
19334
19335 2011-05-22  Bruno Haible  <bruno@clisp.org>
19336
19337         timegm: Simplify autoconf macro.
19338         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
19339
19340 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
19341
19342         clock-time: change to LGPLv2+.
19343         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
19344         BSD-like but we have no mark for that; this is good enough for now.
19345
19346 2011-05-21  Bruno Haible  <bruno@clisp.org>
19347
19348         strerror_r: Fix comments.
19349         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
19350
19351 2011-05-21  Bruno Haible  <bruno@clisp.org>
19352
19353         relocatable-prog-wrapper: Fix possible link error.
19354         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
19355         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
19356         (gl_FUNC_SETENV): ... to here.
19357         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
19358         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
19359
19360 2011-05-21  Bruno Haible  <bruno@clisp.org>
19361
19362         relocatable-prog-wrapper: Assume strerror() exists.
19363         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
19364         m4/strerror.m4.
19365         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
19366         * lib/relocwrapper.c: Remove mention of strerror module.
19367         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
19368         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
19369         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
19370         C macro.
19371
19372 2011-05-21  Bruno Haible  <bruno@clisp.org>
19373
19374         select: Simplify replacement idiom.
19375         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
19376         Win32 platforms.
19377         * lib/sys_select.in.h (select): Simplify accordingly.
19378         * modules/select (Depends-on): Likewise.
19379
19380 2011-05-21  Bruno Haible  <bruno@clisp.org>
19381
19382         mkdir-p: Simplify autoconf macro.
19383         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
19384         gl_FUNC_LCHOWN.
19385
19386 2011-05-21  Eric Blake  <eblake@redhat.com>
19387
19388         strerror_r: avoid clobbering strerror on cygwin
19389         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
19390         fall back instead to sys_errlist.
19391         * modules/strerror (configure.ac): Add witness.
19392         * tests/test-strerror_r.c (main): Enhance test.
19393         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
19394         * tests/test-perror2.c (main): Free memory before exit.
19395
19396 2011-05-21  Bruno Haible  <bruno@clisp.org>
19397
19398         mkdtemp: Use gnulib naming conventions.
19399         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
19400         * modules/mkdtemp (configure.ac): Update.
19401
19402 2011-05-20  Eric Blake  <eblake@redhat.com>
19403
19404         strerror_r: avoid corrupting errno on Solaris
19405         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
19406         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
19407
19408         strerror_r: avoid compiler warning
19409         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
19410
19411         strerror_r: simplify AIX code
19412         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
19413
19414         test-perror: avoid spurious failure on FreeBSD
19415         * modules/perror-tests (Depends-on): Add strerror, now that
19416         strerror_r no longer pulls it in.
19417
19418 2011-05-20  Bruno Haible  <bruno@clisp.org>
19419
19420         strerror_r-posix: Remove unused dependencies.
19421         * modules/strerror_r-posix (Depends-on): Remove strerror.
19422         Reported by Eric Blake.
19423
19424 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
19425
19426         intprops: remove assumption about A|B representation
19427         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
19428         is a valid integer if both A and B are.  Although this is true for
19429         all known practical hosts, the C standard doesn't guarantee it,
19430         and the code need not assume it.  Also, this change may work around
19431         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
19432         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
19433
19434 2011-05-20  Eric Blake  <eblake@redhat.com>
19435
19436         perror: work around FreeBSD bug
19437         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
19438         is broken.  Move AC_LIBOBJ...
19439         * modules/perror (configure.ac): Here.
19440         * doc/posix-functions/perror.texi (perror): Document this.
19441         * tests/test-perror2.c (main): Enhance test.
19442
19443         test-perror: check for strerror interactions
19444         * tests/macros.h (STREQ): Add macro.
19445         * modules/perror-tests (Files): Add second test.
19446         * tests/test-perror2.c (main): New file.
19447         * doc/posix-functions/perror.texi (perror): Document glibc bug.
19448
19449         test-perror: rewrite to use init script
19450         * modules/perror-tests (Files): Add init.sh.
19451         * tests/test-perror.sh: Use temporary directory.
19452
19453 2011-05-20  Jim Meyering  <meyering@redhat.com>
19454
19455         maint: replace misused "a" with "an"
19456         * doc/intprops.texi: "a integer"
19457         * doc/regex.texi: "a explanation"
19458         * lib/alignof.h: "a object"
19459         * lib/argmatch.h: "a explanation"
19460         * lib/argp-help.c: "a option" and "a OPTION_DOC"
19461         * lib/stdint.in.h: "a integer"
19462         * lib/userspec.c: "a owner"
19463         * doc/gnulib.texi: Fix "a idea", and reword.
19464
19465 2011-05-19  Jim Meyering  <meyering@redhat.com>
19466
19467         maint: correct misuse of "a" and "an"
19468         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
19469         * lib/argp-help.c: "an docum...": s/an/a/
19470         * lib/argp-parse.c: "An vector": s/An/A/
19471         * lib/execute.c: "an native": s/an/a/
19472         * lib/spawn-pipe.c: Likewise.
19473         * lib/gc.h: "an Gc_rc": s/an/a/
19474         * lib/unigbrk.in.h: "an grapheme": s/an/a/
19475         * lib/fts.c: "an stat.st_dev": s/an/a/
19476
19477 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
19478
19479         intprops-tests: work around HP-UX 11.23 cc bug with constants
19480         * tests/test-intprops.c (VERIFY): New macro.
19481         (main): Use it, instead of verify, to work around the compiler bug; see
19482         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
19483
19484         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
19485         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
19486         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
19487         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
19488         (_GL_REMAINDER_OVERFLOW): Use it.
19489
19490         intprops-tests: revert unsigned part of previous change
19491         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
19492         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
19493         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
19494         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
19495
19496 2011-05-19  Bruno Haible  <bruno@clisp.org>
19497
19498         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
19499         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
19500         strerror_r() returned without filling the buffer.
19501         Reported by Eric Blake.
19502
19503 2011-05-19  Eric Blake  <eblake@redhat.com>
19504
19505         strerror_r: guarantee unchanged errno
19506         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
19507         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
19508         failure.
19509         * tests/test-strerror_r.c (main): Enhance test.
19510
19511 2011-05-19  Bruno Haible  <bruno@clisp.org>
19512
19513         strerror_r: Reorder #if blocks.
19514         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
19515         for consistency with the previous commit.
19516
19517 2011-05-19  Bruno Haible  <bruno@clisp.org>
19518
19519         perror: Avoid clobbering the strerror buffer when possible.
19520         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
19521         * lib/strerror.c: Include it.
19522         * modules/strerror (Files): Add lib/strerror-impl.h.
19523         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
19524         (my_strerror): New function, defined through lib/strerror-impl.h.
19525         (perror): Use it instead of strerror.
19526         * modules/perror (Files): Add lib/strerror-impl.h.
19527         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
19528
19529 2011-05-19  Eric Blake  <eblake@redhat.com>
19530
19531         strerror_r: fix on newer cygwin
19532         * lib/strerror_r.c (strerror_r): Cygwin now has
19533         __xpg_strerror_r, use it.
19534
19535 2011-05-19  Bruno Haible  <bruno@clisp.org>
19536
19537         strerror_r: Avoid clobbering the strerror buffer when possible.
19538         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
19539         (sys_nerr, sys_errlist): New declarations.
19540         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
19541         HP-UX, native Win32, IRIX, and 32-bit Solaris.
19542         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
19543
19544 2011-05-19  Bruno Haible  <bruno@clisp.org>
19545
19546         strerror_r: Fix test failure on mingw.
19547         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
19548         EXTEND_STRERROR_R.
19549         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
19550         macros from errno.in.h instead.
19551
19552 2011-05-19  Eric Blake  <eblake@redhat.com>
19553
19554         strerror: relax test for Solaris
19555         * tests/test-strerror.c (main): Permit Solaris behavior.
19556         * tests/test-strerror_r.c (main): Likewise.
19557
19558         strerror: enforce POSIX ruling on strerror(0)
19559         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
19560         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
19561         * lib/strerror_r.c (rpl_strerror_r): Work around it.
19562         * doc/posix-functions/strerror.texi (strerror): Document it.
19563         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
19564         * tests/test-strerror.c (main): Strengthen test.
19565         * tests/test-strerror_r.c (main): Likewise.
19566
19567 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
19568
19569         intprop-tests: port to older and more-pedantic compilers
19570         * modules/intprops-tests (Files): Add tests/macros.h.
19571         * tests/test-intprops.c: Include macros.h.
19572         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
19573         it's no longer documented to expand to an integer constant expression.
19574         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
19575         argument is floating point, as it's no longer documented to expand
19576         to an integer constant expression in that case.
19577         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
19578         compiler bugs reported by Bruno Haible.  See
19579         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
19580         (U0, U1): New constants, to work around the same bugs.  Also,
19581         in tests, use e.g., "(unsigned int) 39" rather than "39u".
19582
19583         intprops: work around C compiler bugs
19584         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
19585         bug in Sun C 5.11 2010/08/13 and other compilers; see
19586         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
19587
19588         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
19589         * doc/intprops.texi (Integer Type Determination): Fix
19590         documentation for TYPE_IS_INTEGER: it returns an constant
19591         expression, not an integer constant expression.  Fix doc for
19592         TYPE_SIGNED: it returns an integer constant expression only if its
19593         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
19594         hardly worth documented that way....)
19595
19596 2011-05-18  Bruno Haible  <bruno@clisp.org>
19597
19598         strerror_r: Avoid clobbering the strerror buffer when possible.
19599         * lib/strerror_r.c (strerror_r): Merge the three implementations.
19600         Handle gnulib defined errno values here. When strerror() returns NULL
19601         or an empty string, return EINVAL.
19602         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
19603         gnulib defined errno values here.
19604         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
19605
19606 2011-05-18  Eric Blake  <eblake@redhat.com>
19607
19608         fnmatch: avoid compiler warning
19609         * lib/fnmatch_loop.c (FCT): Use correct type.
19610         Reported by Matthias Bolte.
19611
19612 2011-05-13  Jim Meyering  <meyering@redhat.com>
19613
19614         maint.mk: three new prohibit_<HDR>_without_use rules
19615         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
19616         (sc_prohibit_stdio-safer_without_use): Likewise.
19617         (sc_prohibit_xfreopen_without_use): Likewise.
19618
19619 2011-05-17  Jim Meyering  <meyering@redhat.com>
19620
19621         announce-gen: fail if the NEWS delta is empty
19622         If there's nothing noteworthy in NEWS, then either you forgot
19623         or you shouldn't be releasing.
19624         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
19625
19626 2011-05-17  Pádraig Brady <P@draigBrady.com>
19627
19628         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
19629         reserved symbols starting with double underscore from the check.
19630
19631 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
19632
19633         intprops: add doc
19634         * doc/intprops.texi: New file, documenting intprops.
19635         * doc/gnulib.texi (Particular Modules): Include it.
19636
19637         verify: add doc to gnulib manual and fix example
19638         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
19639         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
19640         (Compile-time Assertions): Fix example so it can't overflow.
19641
19642 2011-05-17  Jim Meyering  <meyering@redhat.com>
19643
19644         warnings.m4: don't usurp save_CPPFLAGS variable name
19645         * m4/warnings.m4: Prefix local temporary variable name with gl_.
19646
19647         doc: fix typo
19648         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
19649
19650 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
19651             Bruno Haible  <bruno@clisp.org>
19652
19653         doc: Tweak recent change.
19654         * README (Portability guidelines): Tweak new text.
19655         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
19656         Interix 6.1.
19657
19658 2011-05-16  Eric Blake  <eblake@redhat.com>
19659
19660         inttypes: avoid autoconf warning
19661         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
19662         * m4/stdint.m4 (gl_STDINT_H): Likewise.
19663
19664 2011-05-16  Sam Steingold <sds@gnu.org>
19665         and Eric Blake  <eblake@redhat.com>
19666
19667         vc-list-files: accept multiple directory operands
19668         * build-aux/vc-list-files: Iterate over all remaining operands.
19669
19670 2011-05-16  Bruno Haible  <bruno@clisp.org>
19671
19672         Fix confusion regarding deprecated modules.
19673         * modules/calloc (Status, Notice): Mark module as deprecated, not
19674         obsolete.
19675         * modules/fnmatch-posix (Status, Notice): Likewise.
19676         * modules/getdate (Status, Notice): Likewise.
19677         * modules/getopt (Status, Notice): Likewise.
19678         * modules/malloc (Status, Notice): Likewise.
19679         * modules/pipe (Status, Notice): Likewise.
19680         * modules/realloc (Status, Notice): Likewise.
19681         * modules/rename-dest-slash (Status, Notice): Likewise.
19682         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
19683         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
19684         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
19685         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
19686         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
19687
19688 2011-05-16  Bruno Haible  <bruno@clisp.org>
19689
19690         doc: List the target platforms.
19691         * doc/gnulib-intro.texi (Target Platforms): New section.
19692         * doc/gnulib.texi (Introduction): Update menu.
19693         * README (Portability guidelines): Refer to the new section. Update
19694         statement about oldest supported environment. Remove rationale why
19695         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
19696         unportable C89 function.
19697         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
19698         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
19699
19700 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
19701
19702         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
19703
19704 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
19705
19706         intprops-tests: new module
19707         * modules/intprops-tests, tests/test-intprops.c: New files.
19708
19709         intprops: add safe, portable integer overflow checking
19710         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
19711         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
19712         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
19713         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
19714         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
19715         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
19716         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
19717         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
19718         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
19719         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
19720         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
19721
19722 2011-05-12  James Youngman  <jay@gnu.org>
19723
19724         Add a test for glibc's Bugzilla bug #12378.
19725         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
19726         doesn't allow the literal matching of a lone "[" (which is
19727         required by POSIX).
19728         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
19729
19730 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
19731
19732         Sync glibc change fixing Bugzilla bug #12378.
19733         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
19734         beginning and fall back to matching as normal character if the
19735         string ends before the matching ']' is found.  This is what POSIX
19736         requires.
19737
19738 2011-05-13  Eric Blake  <eblake@redhat.com>
19739
19740         getcwd-lgpl: relax test for FreeBSD
19741         * doc/posix-functions/getcwd.texi (getcwd): Document portability
19742         issue.
19743         * tests/test-getcwd-lgpl.c (main): Relax test.
19744         Reported by Matthias Bolte.
19745
19746 2011-05-11  Eric Blake  <eblake@redhat.com>
19747
19748         test-fflush: silence compiler warning
19749         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
19750
19751 2011-05-11  Bruno Haible  <bruno@clisp.org>
19752
19753         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
19754         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
19755         * modules/canonicalize (Depends-on): Add 'nocrash'.
19756         * modules/canonicalize-lgpl (Depends-on): Likewise.
19757         * doc/posix-functions/realpath.texi: Update platforms list.
19758         Reported by Ryan Schmidt <ryandesign@macports.org>.
19759
19760 2011-05-11  Bruno Haible  <bruno@clisp.org>
19761
19762         group-member: Declare function in <unistd.h>.
19763         * lib/unistd.in.h (group_member): New declaration.
19764         * lib/group-member.h: Remove file.
19765         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
19766         * tests/test-unistd-c++.cc: Check signature of group_member.
19767         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
19768         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
19769         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
19770         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
19771         HAVE_GROUP_MEMBER.
19772         * modules/group-member (Files): Remove lib/group-member.h.
19773         (Depends-on): Add unistd. Specify conditions.
19774         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
19775         (Include): Change to <unistd.h>.
19776         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
19777         HAVE_GROUP_MEMBER.
19778         * NEWS: Mention the change.
19779         * lib/euidaccess.c: Don't include group-member.h.
19780
19781 2011-05-11  Bruno Haible  <bruno@clisp.org>
19782
19783         group-member: Document module.
19784         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
19785         module.
19786
19787 2011-05-11  Bruno Haible  <bruno@clisp.org>
19788
19789         fclose: Fix mistake earlier today.
19790         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
19791
19792 2011-05-11  Eric Blake  <eblake@redhat.com>
19793
19794         fclose: preserve fflush errors
19795         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
19796         Reported by Jim Meyering.
19797
19798         bootstrap: support a prereq of 'rpcgen -' on RHEL5
19799         * build-aux/bootstrap (check_versions): When no specific version
19800         is required, merely check that the app produces an exit status
19801         that indicates its existence.
19802
19803         maint.mk: drop redundant check
19804         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
19805         the same but better.
19806
19807 2011-05-11  Bruno Haible  <bruno@clisp.org>
19808
19809         fclose: Fix possible link error.
19810         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
19811         unregister_shadow_fd. Improve comments.
19812         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
19813         Eric Blake.
19814
19815 2011-05-11  Jim Meyering  <meyering@redhat.com>
19816
19817         maint.mk: improve "can not" detection and generalize rule name
19818         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
19819         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
19820         Use the same technique as in sc_prohibit_doubled_word, so that
19821         we recognize "can not" also when the words are separated by a newline.
19822         Suggested by Eric Blake.
19823         (perl_filename_lineno_text_): Define.  Factored out of...
19824         (prohibit_doubled_word_): ...here.  Use the new definition.
19825         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
19826         (prohibit_undesirable_word_seq_RE_): New overridable variable.
19827         (ignore_undesirable_word_sequence_RE_): New overridable variable.
19828
19829 2011-05-10  Eric Blake  <eblake@redhat.com>
19830
19831         fclose: avoid double close race when possible
19832         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
19833         all but WINDOWS_SOCKETS.
19834
19835 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
19836
19837         openat: correct new comment
19838         * lib/openat-proc.c (openat_proc_name): Correct the comment.
19839
19840 2011-05-10  Jim Meyering  <meyering@redhat.com>
19841
19842         openat: add comments
19843         * lib/openat-proc.c (openat_proc_name): Add comments,
19844         mostly from Eric Blake.
19845
19846 2011-05-09  Eric Blake  <eblake@redhat.com>
19847
19848         openat: reduce syscalls in first probe of /proc
19849         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
19850         be a directory.  Simplify the probe for .. bugs.
19851         * modules/openat (Depends-on): Drop same-inode.
19852         Reported by Bastien ROUCARIES.
19853
19854 2011-05-09  Jim Meyering  <meyering@redhat.com>
19855
19856         maint.mk: change semantics/name of tight_scope variables
19857         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
19858         Rename variables to align with semantics that make them more useful.
19859
19860         maint.mk: tweak new rule's name not to impinge
19861         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
19862         (sc_tight_scope): Use new rule name rather than $@-0.
19863
19864         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
19865         * top/maint.mk (sc_tight_scope): New rule.
19866         (sc_tight_scope-0): New rule, ifdef'd out.
19867         (_gl_TS_dir): Default.
19868         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
19869         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
19870
19871 2011-05-09  Simon Josefsson  <simon@josefsson.org>
19872
19873         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
19874         Haible <bruno@clisp.org>.
19875
19876 2011-05-08  Bruno Haible  <bruno@clisp.org>
19877
19878         Comments.
19879         * m4/isnanf.m4: Add comment.
19880         * m4/isnanl.m4: Likewise.
19881
19882 2011-05-08  Bruno Haible  <bruno@clisp.org>
19883
19884         glob: Remove obsolete macro.
19885         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
19886
19887 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
19888
19889         intprops: Sun C 5.11 supports __typeof__
19890         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
19891         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
19892         which is new.
19893         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
19894
19895         intprops: switch to usual gnulib indenting and naming
19896         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
19897         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
19898
19899         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
19900
19901 2011-05-08  Jim Meyering  <meyering@redhat.com>
19902
19903         maint.mk: suppress "Entering/Leaving directory" diag in announcement
19904         * top/maint.mk (release-prep): Use make's --no-print-directory
19905         option when generating the announcement.  This eliminates the
19906         pesky "make[2]: Entering/Leaving directory" diagnostics in the
19907         generated announcement template.
19908
19909 2011-05-08  Bruno Haible  <bruno@clisp.org>
19910
19911         tzset: Fix gettimeofday wrapper on Solaris 2.6.
19912         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
19913         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
19914
19915 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
19916
19917         ignore-value, verify: Omit include files from lib_SOURCES.
19918         * modules/ignore-value, modules/verify (Makefile.am):
19919         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
19920         that leads Automake to duplicate use of am__objects_... variables
19921         in Makefile.in.  See
19922         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
19923
19924 2011-05-07  Bruno Haible  <bruno@clisp.org>
19925
19926         fclose: Simplify autoconf macro.
19927         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
19928         defined.
19929
19930 2011-05-07  Bruno Haible  <bruno@clisp.org>
19931
19932         canonicalize-lgpl: Fix autoconf macro ordering bug.
19933         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
19934         gl_STDLIB_H_DEFAULTS.
19935
19936 2011-05-06  Eric Blake  <eblake@redhat.com>
19937
19938         maintainer-makefile: make sc_po_check easier to tune
19939         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
19940         to probe for strings, such as an alternate location for gnulib.
19941
19942         fclose: guarantee behavior on seekable stdin
19943         * modules/fclose (Depends-on): Add fflush.
19944         * doc/posix-functions/fclose.texi (fclose): Document this.
19945         * tests/test-fclose.c (main): Make test for this unconditional.
19946
19947 2011-05-06  Bruno Haible  <bruno@clisp.org>
19948
19949         fflush, fpurge: Relicense under LGPLv2+.
19950         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
19951         * modules/fpurge (License): Likewise.
19952         With permission from Eric Blake and Jim Meyering.
19953         Suggested by Eric Blake.
19954
19955 2011-05-06  Karl Berry  <karl@gnu.org>
19956
19957         * MODULES.html.sh (func_all_modules): remove exit.
19958
19959 2011-05-06  Jim Meyering  <meyering@redhat.com>
19960
19961         maint.mk: use info-gnu@ as the default only for a stable release
19962         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
19963         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
19964         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
19965         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
19966
19967 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
19968
19969         assert-h: new module, which supports C1X-style static_assert
19970         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
19971         * lib/verify.h: Revamp so that this can be copied into assert.h,
19972         while retaining the ability to use it standalone as before.
19973         Rename private identifiers so as not to encroach on the
19974         standard C namespace, since this is now used by assert.h.
19975         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
19976         the old verify_true.
19977         (_GL_VERIFY_TRUE): New macro, with much of the contents of
19978         the old verify_true.  Use _GL_VERIFY_TYPE.
19979         (_GL_VERIFY): New macro, with much of the contents of the old verify.
19980         (static_assert): New macro, if _GL_STATIC_ASSERT_H
19981         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
19982         defined when this file is copied into the replacement assert.h.
19983         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
19984         and _Static_assert is not built in.
19985         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
19986         defined, and use the new macros mentioned above.
19987         * doc/posix-headers/assert.texi: Document this.
19988
19989 2011-05-05  Bruno Haible  <bruno@clisp.org>
19990
19991         fclose, fflush: Respect rules for use of AC_LIBOBJ.
19992         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
19993         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
19994         gl_REPLACE_FCLOSE here.
19995         * modules/fflush (Depends-on): Remove fclose.
19996         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
19997         combination with module 'fclose'.
19998
19999 2011-05-05  Bruno Haible  <bruno@clisp.org>
20000
20001         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
20002         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
20003         gl_FUNC_FFLUSH.
20004         (gl_FUNC_FFLUSH): Use it.
20005         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
20006         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
20007         gl_REPLACE_FSEEKO here.
20008
20009 2011-05-05  Bruno Haible  <bruno@clisp.org>
20010
20011         tzset: Relicense under LGPL.
20012         * modules/tzset (License): Change to LGPL.
20013         No agreement needed; it's a no-op.
20014
20015         strtoimax, strtoumax: Relicense under LGPL.
20016         * modules/strtoimax (License): Change to LGPL.
20017         * modules/strtoumax (License): Likewise.
20018         With permission from Jim Meyering, Paul Eggert:
20019         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
20020         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
20021
20022         getgroups: Relicense under LGPL.
20023         * modules/getgroups (License): Change to LGPL.
20024         With permission from Jim Meyering, Paul Eggert, Eric Blake:
20025         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
20026         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
20027         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
20028
20029         nanosleep: Relicense under LGPL.
20030         * modules/nanosleep (License): Change to LGPL.
20031         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
20032         Haible:
20033         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
20034         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
20035         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
20036         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
20037
20038         futimens: Relicense under LGPL.
20039         * modules/futimens (License): Change to LGPL.
20040         With permission from Eric Blake:
20041         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
20042
20043         fflush: Relicense under LGPL.
20044         * modules/fflush (License): Change to LGPL.
20045         With permission from Eric Blake, Bruno Haible, Jim Meyering:
20046         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
20047         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
20048         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
20049
20050         tmpfile: Relicense under LGPL.
20051         * modules/tmpfile (License): Change to LGPL.
20052         With permission from Ben Pfaff:
20053         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
20054
20055         isfinite: Relicense under LGPL.
20056         * modules/isfinite (License): Change to LGPL.
20057         With permission from Ben Pfaff, Bruno Haible:
20058         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
20059         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
20060
20061         acosl..tanl: Relicense under LGPL.
20062         * modules/acosl (License): Change to LGPL.
20063         * modules/asinl (License): Likewise.
20064         * modules/atanl (License): Likewise.
20065         * modules/cosl (License): Likewise.
20066         * modules/expl (License): Likewise.
20067         * modules/logl (License): Likewise.
20068         * modules/sinl (License): Likewise.
20069         * modules/sqrtl (License): Likewise.
20070         * modules/tanl (License): Likewise.
20071         Source code originally from glibc and Paolo Bonzini. Agreements:
20072         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
20073         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
20074
20075 2011-05-05  Bruno Haible  <bruno@clisp.org>
20076
20077         signal: Define sighandler_t.
20078         * lib/signal.in.h (sighandler_t): New type.
20079         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
20080         whether sighandler_t is defined.
20081         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
20082         * modules/signal (Depends-on): Add extensions.
20083         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
20084         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
20085         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
20086
20087 2011-05-05  Eric Blake  <eblake@redhat.com>
20088
20089         maint: remove useless REPLACE_*_H macros
20090         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
20091         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
20092         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
20093         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
20094         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
20095         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
20096         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
20097         * m4/btowc.m4: Update callers.
20098         * m4/dirfd.m4: Likewise.
20099         * m4/duplocale.m4: Likewise.
20100         * m4/fchdir.m4: Likewise.
20101         * m4/fdopendir.m4: Likewise.
20102         * m4/inet_ntop.m4: Likewise.
20103         * m4/inet_pton.m4: Likewise.
20104         * m4/ioctl.m4: Likewise.
20105         * m4/mbrlen.m4: Likewise.
20106         * m4/mbrtowc.m4: Likewise.
20107         * m4/mbsinit.m4: Likewise.
20108         * m4/mbsnrtowcs.m4: Likewise.
20109         * m4/mbsrtowcs.m4: Likewise.
20110         * m4/poll.m4: Likewise.
20111         * m4/setlocale.m4: Likewise.
20112         * m4/wcrtomb.m4: Likewise.
20113         * m4/wcsnrtombs.m4: Likewise.
20114         * m4/wcsrtombs.m4: Likewise.
20115         * m4/wctob.m4: Likewise.
20116         * m4/wcwidth.m4: Likewise.
20117         * modules/posix_spawn: Likewise.
20118         * modules/posix_spawn_file_actions_addclose: Likewise.
20119         * modules/posix_spawn_file_actions_adddup2: Likewise.
20120         * modules/posix_spawn_file_actions_addopen: Likewise.
20121         * modules/posix_spawn_file_actions_destroy: Likewise.
20122         * modules/posix_spawn_file_actions_init: Likewise.
20123         * modules/posix_spawnattr_destroy: Likewise.
20124         * modules/posix_spawnattr_getflags: Likewise.
20125         * modules/posix_spawnattr_getpgroup: Likewise.
20126         * modules/posix_spawnattr_getschedparam: Likewise.
20127         * modules/posix_spawnattr_getschedpolicy: Likewise.
20128         * modules/posix_spawnattr_getsigdefault: Likewise.
20129         * modules/posix_spawnattr_getsigmask: Likewise.
20130         * modules/posix_spawnattr_init: Likewise.
20131         * modules/posix_spawnattr_setflags: Likewise.
20132         * modules/posix_spawnattr_setpgroup: Likewise.
20133         * modules/posix_spawnattr_setschedparam: Likewise.
20134         * modules/posix_spawnattr_setschedpolicy: Likewise.
20135         * modules/posix_spawnattr_setsigdefault: Likewise.
20136         * modules/posix_spawnattr_setsigmask: Likewise.
20137         * modules/posix_spawnp: Likewise.
20138
20139 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
20140
20141         Add option to do-release-commit-and-tag to specify branch.
20142         * build-aux/do-release-commit-and-tag: Add --branch.
20143
20144 2011-05-03  Bruno Haible  <bruno@clisp.org>
20145
20146         Avoid unnecessary compilation units, through conditional dependencies.
20147         * modules/accept (Depends-on): Add conditions to the dependencies.
20148         * modules/acosl (Depends-on): Likewise.
20149         * modules/argz (Depends-on): Likewise.
20150         * modules/asinl (Depends-on): Likewise.
20151         * modules/atanl (Depends-on): Likewise.
20152         * modules/atoll (Depends-on): Likewise.
20153         * modules/bind (Depends-on): Likewise.
20154         * modules/btowc (Depends-on): Likewise.
20155         * modules/canonicalize-lgpl (Depends-on): Likewise.
20156         * modules/ceil (Depends-on): Likewise.
20157         * modules/ceilf (Depends-on): Likewise.
20158         * modules/ceill (Depends-on): Likewise.
20159         * modules/chdir-long (Depends-on): Likewise.
20160         * modules/chown (Depends-on): Likewise.
20161         * modules/close (Depends-on): Likewise.
20162         * modules/connect (Depends-on): Likewise.
20163         * modules/cosl (Depends-on): Likewise.
20164         * modules/dirfd (Depends-on): Likewise.
20165         * modules/dprintf (Depends-on): Likewise.
20166         * modules/dprintf-posix (Depends-on): Likewise.
20167         * modules/error (Depends-on): Likewise.
20168         * modules/euidaccess (Depends-on): Likewise.
20169         * modules/expl (Depends-on): Likewise.
20170         * modules/faccessat (Depends-on): Likewise.
20171         * modules/fchdir (Depends-on): Likewise.
20172         * modules/fclose (Depends-on): Likewise.
20173         * modules/fcntl (Depends-on): Likewise.
20174         * modules/fdopendir (Depends-on): Likewise.
20175         * modules/fflush (Depends-on): Likewise.
20176         * modules/floor (Depends-on): Likewise.
20177         * modules/floorf (Depends-on): Likewise.
20178         * modules/floorl (Depends-on): Likewise.
20179         * modules/fnmatch (Depends-on): Likewise.
20180         * modules/fopen (Depends-on): Likewise.
20181         * modules/fprintf-posix (Depends-on): Likewise.
20182         * modules/frexp (Depends-on): Likewise.
20183         * modules/frexp-nolibm (Depends-on): Likewise.
20184         * modules/frexpl (Depends-on): Likewise.
20185         * modules/frexpl-nolibm (Depends-on): Likewise.
20186         * modules/fseek (Depends-on): Likewise.
20187         * modules/fsusage (Depends-on): Likewise.
20188         * modules/ftell (Depends-on): Likewise.
20189         * modules/ftello (Depends-on): Likewise.
20190         * modules/futimens (Depends-on): Likewise.
20191         * modules/getcwd (Depends-on): Likewise.
20192         * modules/getcwd-lgpl (Depends-on): Likewise.
20193         * modules/getdelim (Depends-on): Likewise.
20194         * modules/getdomainname (Depends-on): Likewise.
20195         * modules/getgroups (Depends-on): Likewise.
20196         * modules/gethostname (Depends-on): Likewise.
20197         * modules/getline (Depends-on): Likewise.
20198         * modules/getlogin_r (Depends-on): Likewise.
20199         * modules/getopt-posix (Depends-on): Likewise.
20200         * modules/getpeername (Depends-on): Likewise.
20201         * modules/getsockname (Depends-on): Likewise.
20202         * modules/getsockopt (Depends-on): Likewise.
20203         * modules/getsubopt (Depends-on): Likewise.
20204         * modules/getusershell (Depends-on): Likewise.
20205         * modules/glob (Depends-on): Likewise.
20206         * modules/grantpt (Depends-on): Likewise.
20207         * modules/iconv_open (Depends-on): Likewise.
20208         * modules/iconv_open-utf (Depends-on): Likewise.
20209         * modules/inet_ntop (Depends-on): Likewise.
20210         * modules/inet_pton (Depends-on): Likewise.
20211         * modules/ioctl (Depends-on): Likewise.
20212         * modules/isapipe (Depends-on): Likewise.
20213         * modules/isfinite (Depends-on): Likewise.
20214         * modules/isinf (Depends-on): Likewise.
20215         * modules/lchown (Depends-on): Likewise.
20216         * modules/ldexpl (Depends-on): Likewise.
20217         * modules/link (Depends-on): Likewise.
20218         * modules/linkat (Depends-on): Likewise.
20219         * modules/listen (Depends-on): Likewise.
20220         * modules/logl (Depends-on): Likewise.
20221         * modules/lstat (Depends-on): Likewise.
20222         * modules/mbrlen (Depends-on): Likewise.
20223         * modules/mbrtowc (Depends-on): Likewise.
20224         * modules/mbsinit (Depends-on): Likewise.
20225         * modules/mbsnrtowcs (Depends-on): Likewise.
20226         * modules/mbsrtowcs (Depends-on): Likewise.
20227         * modules/mbtowc (Depends-on): Likewise.
20228         * modules/memcmp (Depends-on): Likewise.
20229         * modules/mkdir (Depends-on): Likewise.
20230         * modules/mkdtemp (Depends-on): Likewise.
20231         * modules/mkfifo (Depends-on): Likewise.
20232         * modules/mkfifoat (Depends-on): Likewise.
20233         * modules/mknod (Depends-on): Likewise.
20234         * modules/mkostemp (Depends-on): Likewise.
20235         * modules/mkostemps (Depends-on): Likewise.
20236         * modules/mkstemp (Depends-on): Likewise.
20237         * modules/mkstemps (Depends-on): Likewise.
20238         * modules/mktime (Depends-on): Likewise.
20239         * modules/nanosleep (Depends-on): Likewise.
20240         * modules/open (Depends-on): Likewise.
20241         * modules/openat (Depends-on): Likewise.
20242         * modules/perror (Depends-on): Likewise.
20243         * modules/poll (Depends-on): Likewise.
20244         * modules/popen (Depends-on): Likewise.
20245         * modules/posix_spawn (Depends-on): Likewise.
20246         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
20247         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
20248         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
20249         * modules/posix_spawnp (Depends-on): Likewise.
20250         * modules/pread (Depends-on): Likewise.
20251         * modules/printf-posix (Depends-on): Likewise.
20252         * modules/ptsname (Depends-on): Likewise.
20253         * modules/putenv (Depends-on): Likewise.
20254         * modules/pwrite (Depends-on): Likewise.
20255         * modules/readline (Depends-on): Likewise.
20256         * modules/readlink (Depends-on): Likewise.
20257         * modules/readlinkat (Depends-on): Likewise.
20258         * modules/recv (Depends-on): Likewise.
20259         * modules/recvfrom (Depends-on): Likewise.
20260         * modules/regex (Depends-on): Likewise.
20261         * modules/remove (Depends-on): Likewise.
20262         * modules/rename (Depends-on): Likewise.
20263         * modules/renameat (Depends-on): Likewise.
20264         * modules/rmdir (Depends-on): Likewise.
20265         * modules/round (Depends-on): Likewise.
20266         * modules/roundf (Depends-on): Likewise.
20267         * modules/roundl (Depends-on): Likewise.
20268         * modules/rpmatch (Depends-on): Likewise.
20269         * modules/select (Depends-on): Likewise.
20270         * modules/send (Depends-on): Likewise.
20271         * modules/sendto (Depends-on): Likewise.
20272         * modules/setenv (Depends-on): Likewise.
20273         * modules/setlocale (Depends-on): Likewise.
20274         * modules/setsockopt (Depends-on): Likewise.
20275         * modules/shutdown (Depends-on): Likewise.
20276         * modules/sigaction (Depends-on): Likewise.
20277         * modules/signbit (Depends-on): Likewise.
20278         * modules/sigprocmask (Depends-on): Likewise.
20279         * modules/sinl (Depends-on): Likewise.
20280         * modules/sleep (Depends-on): Likewise.
20281         * modules/snprintf (Depends-on): Likewise.
20282         * modules/snprintf-posix (Depends-on): Likewise.
20283         * modules/socket (Depends-on): Likewise.
20284         * modules/sprintf-posix (Depends-on): Likewise.
20285         * modules/sqrtl (Depends-on): Likewise.
20286         * modules/stat (Depends-on): Likewise.
20287         * modules/strchrnul (Depends-on): Likewise.
20288         * modules/strdup-posix (Depends-on): Likewise.
20289         * modules/strerror (Depends-on): Likewise.
20290         * modules/strerror_r-posix (Depends-on): Likewise.
20291         * modules/strndup (Depends-on): Likewise.
20292         * modules/strnlen (Depends-on): Likewise.
20293         * modules/strptime (Depends-on): Likewise.
20294         * modules/strsep (Depends-on): Likewise.
20295         * modules/strsignal (Depends-on): Likewise.
20296         * modules/strstr-simple (Depends-on): Likewise.
20297         * modules/strtod (Depends-on): Likewise.
20298         * modules/strtoimax (Depends-on): Likewise.
20299         * modules/strtok_r (Depends-on): Likewise.
20300         * modules/strtoumax (Depends-on): Likewise.
20301         * modules/symlink (Depends-on): Likewise.
20302         * modules/symlinkat (Depends-on): Likewise.
20303         * modules/tanl (Depends-on): Likewise.
20304         * modules/tcgetsid (Depends-on): Likewise.
20305         * modules/tmpfile (Depends-on): Likewise.
20306         * modules/trunc (Depends-on): Likewise.
20307         * modules/truncf (Depends-on): Likewise.
20308         * modules/truncl (Depends-on): Likewise.
20309         * modules/uname (Depends-on): Likewise.
20310         * modules/unlink (Depends-on): Likewise.
20311         * modules/unlockpt (Depends-on): Likewise.
20312         * modules/unsetenv (Depends-on): Likewise.
20313         * modules/usleep (Depends-on): Likewise.
20314         * modules/utimensat (Depends-on): Likewise.
20315         * modules/vasprintf (Depends-on): Likewise.
20316         * modules/vdprintf (Depends-on): Likewise.
20317         * modules/vdprintf-posix (Depends-on): Likewise.
20318         * modules/vfprintf-posix (Depends-on): Likewise.
20319         * modules/vprintf-posix (Depends-on): Likewise.
20320         * modules/vsnprintf (Depends-on): Likewise.
20321         * modules/vsnprintf-posix (Depends-on): Likewise.
20322         * modules/vsprintf-posix (Depends-on): Likewise.
20323         * modules/wcrtomb (Depends-on): Likewise.
20324         * modules/wcscasecmp (Depends-on): Likewise.
20325         * modules/wcscspn (Depends-on): Likewise.
20326         * modules/wcsdup (Depends-on): Likewise.
20327         * modules/wcsncasecmp (Depends-on): Likewise.
20328         * modules/wcsnrtombs (Depends-on): Likewise.
20329         * modules/wcspbrk (Depends-on): Likewise.
20330         * modules/wcsrtombs (Depends-on): Likewise.
20331         * modules/wcsspn (Depends-on): Likewise.
20332         * modules/wcsstr (Depends-on): Likewise.
20333         * modules/wcstok (Depends-on): Likewise.
20334         * modules/wcswidth (Depends-on): Likewise.
20335         * modules/wctob (Depends-on): Likewise.
20336         * modules/wctomb (Depends-on): Likewise.
20337         * modules/wctype (Depends-on): Likewise.
20338         * modules/wcwidth (Depends-on): Likewise.
20339         * modules/write (Depends-on): Likewise.
20340
20341 2011-05-03  Bruno Haible  <bruno@clisp.org>
20342
20343         Support for conditional dependencies.
20344         * doc/gnulib.texi (Module description): Document the syntax of
20345         conditional dependencies.
20346         * gnulib-tool: New option --conditional-dependencies.
20347         (func_usage): Document it.
20348         (cond_dependencies): New variable.
20349         (func_get_automake_snippet_conditional,
20350         func_get_automake_snippet_unconditional): New functions, extracted from
20351         func_get_automake_snippet.
20352         (func_get_automake_snippet): Use them.
20353         (sed_first_32_chars): New variable.
20354         (func_module_shellfunc_name): New function.
20355         (func_module_shellvar_name): New function.
20356         (func_module_conditional_name): New function.
20357         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
20358         func_cond_module_condition): New functions.
20359         (func_modules_transitive_closure): Add support for conditional
20360         dependencies.
20361         (func_emit_lib_Makefile_am): For a conditional module, enclose the
20362         conditional automake snippet in an automake conditional.
20363         (func_emit_autoconf_snippets): Emit shell functions that contain the
20364         code for conditional modules.
20365         (func_import, func_create_testdir): Update specification.
20366
20367 2011-05-03  Eric Blake  <eblake@redhat.com>
20368
20369         test-getaddrinfo: report error information
20370         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
20371
20372 2011-05-03  Jim Meyering  <meyering@redhat.com>
20373
20374         bootstrap: avoid build failure when $GZIP is set
20375         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
20376         program name.  If defined at all, it is supposed to list gzip options.
20377         Reported by Alan Curry in http://debbugs.gnu.org/8609
20378
20379 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
20380
20381         readme-release: new module with release instructions
20382         * modules/readme-release: New module.
20383         * top/README-release: New file, from coreutils, grep, diffutils.
20384         * MODULES.html.sh (Support for maintaining and releasing): Add it.
20385
20386 2011-05-02  Eric Blake  <eblake@redhat.com>
20387
20388         fflush: also replace fclose when fixing fflush
20389         * modules/fflush (Depends-on): Add fclose.
20390         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
20391         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
20392         memstreams with no backing fd.
20393         * doc/posix-functions/fclose.texi (fclose): Document the use of
20394         fflush module to fix the bug.
20395         * tests/test-fclose.c (main): Relax test when fclose is used in
20396         isolation.
20397
20398         fclose: add some tests
20399         * modules/fclose-tests: New test module.
20400         * tests/test-fclose.c: New file.
20401         * doc/posix-functions/fclose.texi (fclose): Document the bug.
20402
20403         fclose: reduced dependencies
20404         * modules/fclose (Depends-on): Switch from fflush/fseeko to
20405         simpler lseek.
20406         * lib/fclose.c (rpl_fclose): Likewise.
20407         Reported by Simon Josefsson.
20408
20409         exit: drop remaining clients
20410         * modules/argmatch (Depends-on): Replace exit with stdlib.
20411         * modules/copy-file (Depends-on): Likewise.
20412         * modules/execute (Depends-on): Likewise.
20413         * modules/exitfail (Depends-on): Likewise.
20414         * modules/obstack (Depends-on): Likewise.
20415         * modules/pagealign_alloc (Depends-on): Likewise.
20416         * modules/pipe-filter-gi (Depends-on): Likewise.
20417         * modules/pipe-filter-ii (Depends-on): Likewise.
20418         * modules/savewd (Depends-on): Likewise.
20419         * modules/spawn-pipe (Depends-on): Likewise.
20420         * modules/wait-process (Depends-on): Likewise.
20421         * modules/xsetenv (Depends-on): Likewise.
20422         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
20423         * modules/git-merge-changelog (Depends-on): Likewise.
20424         * modules/long-options (Depends-on): Likewise.
20425         * modules/pt_chown (Depends-on): Likewise.
20426         * modules/sysexits (Depends-on): Likewise.
20427
20428         freading: relax license from LGPLv3+ to LGPLv2+
20429         * modules/freading (License): Relax LGPL version.
20430
20431 2011-05-02  Bruno Haible  <bruno@clisp.org>
20432
20433         fchdir: Remove unused dependencies.
20434         * modules/fchdir (Depends-on): Remove include_next.
20435
20436 2011-05-02  Bruno Haible  <bruno@clisp.org>
20437
20438         gnulib-tool: Refactor.
20439         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
20440         from func_emit_autoconf_snippets.
20441         (func_emit_autoconf_snippets): Use it.
20442
20443 2011-05-02  Simon Josefsson  <simon@josefsson.org>
20444
20445         * NEWS: Document removal of 'exit'.
20446         * modules/exit: Remove file.
20447
20448 2011-05-01  Bruno Haible  <bruno@clisp.org>
20449
20450         Update DEPENDENCIES.
20451         * DEPENDENCIES (gettext): Recommend the newest release.
20452         Reported by Simon Josefsson.
20453
20454 2011-05-01  Bruno Haible  <bruno@clisp.org>
20455
20456         gnulib-tool: Reduce code duplication.
20457         * gnulib-tool (func_emit_autoconf_snippets): New function.
20458         (func_import, func_create_testdir): Use it.
20459
20460 2011-04-30  Eric Blake  <eblake@redhat.com>
20461
20462         fclose: don't fail on non-seekable input stream
20463         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
20464         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
20465         since fflush is allowed to fail in that case.
20466
20467 2011-04-30  Bruno Haible  <bruno@clisp.org>
20468
20469         dup3: cleanup
20470         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
20471
20472 2011-04-30  Bruno Haible  <bruno@clisp.org>
20473
20474         netdb: Make it work in C++ mode.
20475         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
20476         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
20477         module.
20478         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
20479         gl_MODULE_INDICATOR_FOR_TESTS.
20480         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
20481         * modules/netdb-c++-tests: New file.
20482         * tests/test-netdb-c++.cc: New file.
20483
20484 2011-04-30  Bruno Haible  <bruno@clisp.org>
20485
20486         New modules 'vfscanf', 'vscanf'.
20487         * modules/vfscanf: New file.
20488         * modules/vscanf: New file.
20489         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
20490         here.
20491         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
20492         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
20493
20494 2011-04-30  Bruno Haible  <bruno@clisp.org>
20495
20496         passfd: Add comments.
20497         * lib/passfd.c: Add comments about platforms.
20498
20499 2011-04-30  Bruno Haible  <bruno@clisp.org>
20500
20501         sys_uio: Make <sys/uio.h> self-contained.
20502         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
20503         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
20504
20505 2011-04-30  Bruno Haible  <bruno@clisp.org>
20506
20507         sys_socket: Ensure 'struct iovec' definition.
20508         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
20509         <sys/socket.h>.
20510         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
20511
20512 2011-04-30  Bruno Haible  <bruno@clisp.org>
20513
20514         sys_uio: Protect definition of 'struct iovec'.
20515         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
20516         it as a C struct.
20517
20518 2011-04-30  Bruno Haible  <bruno@clisp.org>
20519
20520         manywarnings: fix indentation
20521         * m4/manywarnings.m4: Indent by 2 spaces consistently.
20522
20523 2011-04-30  Pádraig Brady <P@draigBrady.com>
20524
20525         manywarnings: add -Wno-missing-field-initializers if needed.
20526         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
20527         option if it's needed to allow initialization with { 0, }
20528
20529 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
20530
20531         announce-gen: cosmetic improvement
20532         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
20533
20534 2011-04-29  Jim Meyering  <meyering@redhat.com>
20535
20536         vc-list-files: indent with spaces, not TABs
20537         * build-aux/vc-list-files: Convert leading TABs to spaces,
20538         to match the style of most other files in gnulib.
20539
20540         announce-gen: indent with spaces, not TABs
20541         * build-aux/announce-gen: Convert all TABs to spaces, to match
20542         the style of most other files in gnulib.
20543
20544 2011-04-29  Eric Blake  <eblake@redhat.com>
20545
20546         quotearg: avoid uninitialized variable use
20547         * lib/quotearg.c (quoting_options_from_style): Initialize
20548         remaining fields, and ensure that custom styles are only used via
20549         quoting_options rather than quoting_style.
20550
20551 2011-04-29  Jim Meyering  <meyering@redhat.com>
20552
20553         maint.mk: remove unused VC-tag variable
20554         * top/maint.mk (VC-tag): Remove unused variable.
20555
20556 2011-04-29  Bruno Haible  <bruno@clisp.org>
20557
20558         netdb: fix gai_strerror replacements
20559         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
20560         * modules/netdb: Substitute it.
20561
20562 2011-04-29  Jim Meyering  <meyering@redhat.com>
20563
20564         test-getcwd.c: avoid new set-but-not-used warning
20565         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
20566         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
20567         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
20568         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
20569
20570         test-hash.c: avoid a new shadowing warning
20571         * tests/test-hash.c (main): Don't shadow "dup".
20572
20573 2011-04-28  Eric Blake  <eblake@redhat.com>
20574
20575         getaddrinfo: fix gai_strerror signature
20576         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
20577         and work around mingw with UNICODE defined.
20578         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
20579         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
20580         * modules/netdb (Makefile.am): Substitute it.
20581         * lib/netdb.in.h (gai_strerror): Declare replacement.
20582         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
20583         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
20584         the fix.
20585
20586         getsockopt: avoid compiler warning
20587         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
20588         Reported by Matthias Bolte.
20589
20590         tests: drop unused link dependency
20591         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
20592         * modules/dirent-safer-tests (Makefile.am): Likewise.
20593         * modules/fdopendir-tests (Makefile.am): Likewise.
20594         * modules/mkfifoat-tests (Makefile.am): Likewise.
20595         * modules/openat-safer-tests (Makefile.am): Likewise.
20596         * modules/openat-tests (Makefile.am): Likewise.
20597         * modules/readlinkat-tests (Makefile.am): Likewise.
20598         * modules/symlinkat-tests (Makefile.am): Likewise.
20599         * modules/linkat-tests (Makefile.am): Likewise.
20600         (Depends-on): Switch to filenamecat-lgpl.
20601         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
20602         LIBINTL.
20603         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
20604         * tests/test-linkat.c (main): Don't require xalloc.
20605
20606         hash, mgetgroups: drop xalloc dependency
20607         * lib/hash.c (includes): Adjust includes.
20608         * lib/mgetgroups.c (includes): Likewise.
20609         (xgetgroups): Move...
20610         * lib/xgetgroups.c: ...to new file.
20611         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
20612         * modules/xgetgroups: New file, split from...
20613         * modules/mgetgroups: ...here.
20614         (Depends-on): Add xalloc-oversized.
20615         * modules/hash (Depends-on): Likewise.
20616         * modules/hash-tests (Depends-on): Drop xalloc.
20617         (test_hash_LDADD): Drop unused library.
20618         * tests/test-hash.c (main): Break xalloc dependency.
20619         (includes): Drop unused include.
20620
20621         xalloc-oversized: new module
20622         * modules/xalloc-oversized: New module.
20623         * modules/xalloc (Depends-on): Add it.
20624         * lib/xalloc.h (xalloc_oversized): Move...
20625         * lib/xalloc-oversized.h: ...into new file.
20626
20627         utimecmp: drop dependency on xmalloc
20628         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
20629         due to memory pressure.
20630         * modules/utimecmp (Depends-on): Drop xalloc.
20631
20632 2011-04-27  Eric Blake  <eblake@redhat.com>
20633
20634         getcwd: fix mingw bugs
20635         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
20636         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
20637         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
20638
20639 2011-04-27  Bruno Haible  <bruno@clisp.org>
20640
20641         mkstemps: Ensure declaration on MacOS X 10.5.
20642         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
20643         * doc/glibc-functions/mkstemps.texi: Document header file problem on
20644         MacOS X.
20645
20646 2011-04-27  Bruno Haible  <bruno@clisp.org>
20647
20648         mkstemp: More documentation.
20649         * doc/posix-functions/mkstemp.texi: Document header file problem on
20650         MacOS X.
20651
20652 2011-04-27  Bruno Haible  <bruno@clisp.org>
20653
20654         mkstemp: Tweak configure message when cross-compiling.
20655         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
20656         result as a guess.
20657
20658 2011-04-27  Bruno Haible  <bruno@clisp.org>
20659
20660         clean-temp: Clarify what it does.
20661         * lib/clean-temp.h: Add more comments.
20662         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
20663         module.
20664         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
20665         * doc/glibc-functions/mkstemps.texi: Likewise.
20666         * doc/glibc-functions/mkostemps.texi: Likewise.
20667
20668 2011-04-27  Eric Blake  <eblake@redhat.com>
20669
20670         fchdir: avoid extra chdir and fix test
20671         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
20672         getcwd-lgpl.
20673         * lib/fchdir.c (get_name): Any absolute name will do; it does not
20674         have to be canonical.
20675         (canonicalize_file_name): Drop unused macro.
20676         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
20677
20678         filenamecat-lgpl: fix licence
20679         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
20680         when it was first created.
20681
20682         linkat, renameat: add missing dependency
20683         * modules/linkat (Depends-on): Require getcwd-lgpl.
20684         * modules/renameat (Depends-on): Likewise.
20685
20686         tests: reduce dependencies
20687         * tests/test-linkat.c (main): Use lighter-weight getcwd.
20688         * tests/test-renameat.c (main): Likewise.
20689         * modules/linkat-tests (Depends-on): Relax dependency.
20690         * modules/renameat-tests (Depends-on): Likewise.
20691         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
20692         dependency explicit.
20693
20694         save-cwd: reduce default dependency
20695         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
20696         * lib/save-cwd.c: Update comments.
20697         * NEWS: Document the semantic change.
20698
20699         getcwd: enhance tests
20700         * tests/test-getcwd-lgpl.c: New file, taken from...
20701         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
20702         repeat long path stress tests from m4 probe.
20703         * modules/getcwd-lgpl-tests: New module.
20704         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
20705         * m4/getcwd-abort-bug.m4: Update comment.
20706         * m4/getcwd-path-max.m4: Likewise.
20707
20708         getcwd-lgpl: new module
20709         * modules/getcwd-lgpl: New module.
20710         * lib/getcwd-lgpl.c: New file.
20711         * doc/posix-functions/getcwd.texi (getcwd): Document it.
20712         * MODULES.html.sh (lacking POSIX:2008): Likewise.
20713         * modules/getcwd (configure.ac): Set C witness.
20714         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
20715
20716         getcwd: tweak comments
20717         * m4/getcwd-abort-bug.m4: Fix comments.
20718         * m4/getcwd-path-max.m4: Likewise.
20719         * m4/getcwd.m4: Likewise.
20720
20721 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
20722         and Eric Blake  <eblake@redhat.com>
20723
20724         mkstemp: replace if system version uses wrong permissions
20725         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
20726         read/write mode bits set in file created by mkstemp.
20727         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
20728
20729 2011-04-27  Eric Blake  <eblake@redhat.com>
20730
20731         passfd: avoid compiler warning
20732         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
20733         Reported by Laine Stump.
20734
20735 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
20736
20737         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
20738         required by the NetBSD (and perhaps other 4.4BSD derived) join.
20739
20740 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
20741         and Eric Blake  <eblake@redhat.com>
20742
20743         mkstemp: mention clean-temp module
20744         * lib/mkstemp.c: Add comment.
20745         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
20746
20747 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
20748
20749         inttypes: also provide default values for 32-bit tests
20750         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
20751         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
20752
20753 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
20754
20755         strtoumax: remove dependency on strtoimax
20756         This is like the strtoull change of yesterday.
20757         * modules/strtoumax (Files): Add lib/strtoimax.c.
20758         (Depends-on): Remove strtoimax and add verify.
20759
20760         inttypes-incomplete: new module
20761         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
20762         all but the PRI* and SCN* parts of gl_INTTYPES_H.
20763         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
20764         of gl_INTTYPES_H.
20765         (gl_INTTYPES_H): Rewrite in terms of these new macros.
20766         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
20767         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
20768         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
20769         * modules/strtoumax, modules/xstrtol (Depends-on):
20770         Depend on inttypes-incomplete, not inttypes.
20771         * modules/inttypes-incomplete: New module, containing the contents
20772         of the old modules/inttypes module, except that the Files: section
20773         omits m4/inttypes-pri.m4, and the configure.ac section invokes
20774         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
20775         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
20776         (Depends-on): Depend only on inttypes-incomplete.
20777         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
20778
20779         inttypes: omit now-redundant strtoimax and strtoumax work
20780         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
20781         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
20782
20783         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
20784         This supports apps that need pointers to strtoimax and strtoumax,
20785         and ports to HP-UX 11.00 64.bit, which has macros that expand to
20786         nonexistent functions.  See
20787         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
20788         et seq.
20789         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
20790         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
20791         a macro.
20792         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
20793
20794 2011-04-25  Simon Josefsson  <simon@josefsson.org>
20795
20796         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
20797
20798 2011-04-25  Bruno Haible  <bruno@clisp.org>
20799
20800         strtol, strtoul: Mark modules as obsolete.
20801         * modules/strtol (Status, Notice): New sections.
20802         * modules/strtoul (Status, Notice): New sections.
20803
20804 2011-04-25  Bruno Haible  <bruno@clisp.org>
20805
20806         strtod: Remove check for strtod, unless supporting old platforms.
20807         * modules/strtod-obsolete: New file.
20808         * m4/strtod-obsolete.m4: New file.
20809         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
20810         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
20811         * modules/strtod (Depends-on): Add strtod-obsolete.
20812         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
20813
20814 2011-04-25  Bruno Haible  <bruno@clisp.org>
20815
20816         strcase: Make module obsolete.
20817         * modules/strcase (Status, Notice): New sections.
20818
20819 2011-04-25  Bruno Haible  <bruno@clisp.org>
20820
20821         dup2: Remove check for dup2, unless supporting old obsolete platforms.
20822         * modules/dup2-obsolete: New file.
20823         * m4/dup2-obsolete.m4: New file.
20824         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
20825         gl_FUNC_DUP2_OBSOLETE is not also defined.
20826         * modules/dup2 (Depends-on): Add dup2-obsolete.
20827         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
20828
20829 2011-04-25  Bruno Haible  <bruno@clisp.org>
20830
20831         strnlen: Avoid memchr related link error on old obsolete platforms.
20832         * modules/memchr-obsolete: New file.
20833         * m4/memchr-obsolete.m4: New file.
20834         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
20835         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
20836         * modules/memchr (Depends-on): Add memchr-obsolete.
20837         * modules/strnlen (Depends-on): Likewise.
20838         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
20839
20840 2011-04-25  Jim Meyering  <meyering@redhat.com>
20841
20842         maint.mk: makefile_at_at_check extend and clean up
20843         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
20844         in addition to */Makefile.am.
20845         Exempt legitimate uses of @VAR@ notation, e.g.,
20846         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
20847         Remove obsolete coreutils-specific comment.
20848         Prompted by discussion here:
20849         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
20850
20851 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
20852
20853         strtoul: remove dependency on strtol
20854         This is so that 'configure' need not check for strtol merely because
20855         the application needs strtoul.
20856         * modules/strtoul (Files): Add lib/strtol.c.
20857         (Depends-on): Remove strtol.
20858
20859         strtoull: remove dependency on strtoul
20860         This is like the strtoll change.
20861         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
20862         (Depends-on): Remove strtoul.
20863
20864         strtoll: remove dependency on strtol
20865         This is so that 'configure' need not check for strtol merely because
20866         the application needs strtoll.
20867         * modules/strtoll (Files): Add lib/strtol.c.
20868         (Depends-on): Remove strtol.
20869
20870 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
20871
20872         inttypes: Move some configure check to module 'imaxdiv'.
20873         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
20874         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
20875         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
20876
20877 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
20878
20879         inttypes: Move some configure check to module 'imaxabs'.
20880         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
20881         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
20882         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
20883
20884 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
20885
20886         inttypes: Remove configure tests that are not needed since 2009-12-31.
20887         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
20888         gl_cv_header_working_inttypes_h.
20889
20890 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
20891
20892         * modules/strnlen (Depends-on): Remove memchr.
20893         The strnlen implementation doesn't need the memchr module's fixes; see
20894         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
20895
20896         strtol: remove dependency on wchar
20897         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
20898         * modules/strtol (Depends-on): Remove wchar.
20899
20900 2011-04-21  Eric Blake  <eblake@redhat.com>
20901
20902         passfd: fix test regression on Linux
20903         * modules/passfd-tests (configure.ac): Correct socketpair check.
20904
20905         passfd: speed up configure and drop unused code
20906         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
20907         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
20908         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
20909         Instead of probing at configure for unix_scm_rights_bsd44_way,
20910         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
20911         check to a struct member probe.
20912         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
20913         (sendfd, recvfd): Update preprocessor checks.
20914         * modules/passfd (Files): Reflect rename, and drop unused file.
20915         (Depends-on): Drop unused dependency.
20916
20917         passfd: allow compilation on mingw
20918         * modules/sys_socket (Depends-on): Add sys_uio.
20919         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
20920         iovec and a minimal struct msghdr.
20921         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
20922         * tests/test-sys_socket.c (main): Enhance test.
20923         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
20924         guaranteed to provide what we need.
20925         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
20926         * modules/passfd-tests (Depends-on): Add sys_wait.
20927         * tests/test-passfd.c (main): Skip test on mingw, for now.
20928         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
20929         partial 'struct msghdr' implementation.
20930
20931         sys_uio: new module
20932         * modules/sys_uio: New module.
20933         * modules/sys_uio-tests: Likewise.
20934         * lib/sys_uio.in.h: New file.
20935         * m4/sys_uio_h.m4: Likewise.
20936         * tests/test-sys_uio.c: Likewise.
20937         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
20938         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
20939
20940 2011-04-20  Jim Meyering  <meyering@redhat.com>
20941
20942         useless-if-before-free: avoid false-positive
20943         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
20944         disjunct so that it too requires a terminating ";".  Without that,
20945         this script would identify as useless one statement from gcc that
20946         was not:
20947           if (aligned_ptr)
20948             free (((void **) aligned_ptr) [-1]);
20949
20950 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
20951
20952         doc: update users.txt.
20953         * users.txt: Add barcode.
20954
20955 2011-04-19  Bruno Haible  <bruno@clisp.org>
20956
20957         ioctl: Remove link dependency on native Windows.
20958         * lib/fd-hook.h: Renamed from lib/close-hook.h.
20959         (gl_close_fn, gl_ioctl_fn): New types.
20960         (struct fd_hook): Renamed from struct close_hook. Change type of
20961         private_close_fn field. Add private_ioctl_fn field.
20962         (close_hook_fn): Add parameter for primary close method.
20963         (execute_close_hooks, execute_all_close_hooks): Likewise.
20964         (ioctl_hook_fn): New type.
20965         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
20966         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
20967         argument.
20968         (unregister_fd_hook): Renamed from unregister_close_hook.
20969         * lib/fd-hook.c: Renamed from lib/close-hook.c.
20970         Don't include <unistd.h>.
20971         (close): Remove undef.
20972         (anchor): Update.
20973         (execute_close_hooks): Add argument for primary close method.
20974         (execute_all_close_hooks): Likewise.
20975         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
20976         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
20977         argument. Allow each argument to be NULL.
20978         (unregister_fd_hook): Renamed from unregister_close_hook.
20979         * lib/close.c (rpl_close): Pass 'close' function pointer to
20980         execute_all_close_hooks.
20981         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
20982         (primary_ioctl): New function.
20983         (ioctl): Don't call ioctlsocket here. Instead, call
20984         execute_all_ioctl_hooks.
20985         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
20986         close method.
20987         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
20988         (fd_sockets_hook): Renamed from close_sockets_hook.
20989         (gl_sockets_startup, gl_sockets_cleanup): Update.
20990         * modules/fd-hook: Renamed from modules/close-hook. Update.
20991         * modules/close (Depends-on): Add fd-hook, remove close-hook.
20992         * modules/sockets (Depends-on): Likewise.
20993         * modules/ioctl (Depends-on): Add fd-hook.
20994         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
20995         GNULIB_SOCKET.
20996
20997 2011-04-19  Bruno Haible  <bruno@clisp.org>
20998
20999         Move the support of O_NONBLOCK in open() to the 'open' module.
21000         * modules/nonblocking (Depends-on): Remove 'open'.
21001         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
21002         gl_cv_have_open_O_NONBLOCK.
21003         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
21004         O_NONBLOCK support.
21005         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
21006
21007 2011-04-17  Bruno Haible  <bruno@clisp.org>
21008
21009         pipe2: Simplify code.
21010         * lib/pipe2.c (pipe2): Reduce code duplication.
21011
21012 2011-04-17  Bruno Haible  <bruno@clisp.org>
21013
21014         nonblocking: Add comment.
21015         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
21016
21017 2011-04-17  Bruno Haible  <bruno@clisp.org>
21018
21019         nonblocking: Add tests for sockets.
21020         * tests/test-nonblocking-socket.sh: New file.
21021         * tests/test-nonblocking-socket-main.c: New file.
21022         * tests/test-nonblocking-socket-child.c: New file.
21023         * tests/test-nonblocking-socket.h: New file.
21024         * tests/socket-server.h: New file.
21025         * tests/socket-client.h: New file.
21026         * modules/nonblocking-socket-tests: New file.
21027         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
21028
21029 2011-04-17  Bruno Haible  <bruno@clisp.org>
21030
21031         nonblocking: Add tests for pipes.
21032         * tests/test-nonblocking-pipe.sh: New file.
21033         * tests/test-nonblocking-pipe-main.c: New file.
21034         * tests/test-nonblocking-pipe-child.c: New file.
21035         * tests/test-nonblocking-pipe.h: New file.
21036         * tests/test-nonblocking-writer.h: New file.
21037         * tests/test-nonblocking-reader.h: New file.
21038         * tests/test-nonblocking-misc.h: New file.
21039         * modules/nonblocking-pipe-tests: New file.
21040         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
21041
21042 2011-04-16  Bruno Haible  <bruno@clisp.org>
21043
21044         gettext: Clarify the needed programmer actions.
21045         * modules/gettext (Notice): New field.
21046         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
21047
21048 2011-04-16  Bruno Haible  <bruno@clisp.org>
21049
21050         strchrnul: Tweak last commit.
21051         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
21052         bug.
21053         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
21054         as in _GL_FUNCDECL_SYS.
21055         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
21056         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
21057
21058 2011-04-15  Eric Blake  <eblake@redhat.com>
21059
21060         strchrnul: work around cygwin bug
21061         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
21062         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
21063         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
21064         * modules/string (Makefile.am): Substitute it.
21065         * lib/string.in.h (strchrnul): Use it.
21066
21067 2011-04-15  Bruno Haible  <bruno@clisp.org>
21068
21069         Don't require lib/stdio-write.c when only module 'stdio' is used.
21070         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
21071         invocation.
21072         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
21073
21074 2011-04-14  Bruno Haible  <bruno@clisp.org>
21075
21076         Support non-blocking pipe I/O in read() on native Windows.
21077         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
21078         (read): New declaration.
21079         * lib/read.c: New file.
21080         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
21081         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
21082         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
21083         vscanf): New declarations.
21084         * lib/stdio-read.c: New file.
21085         * m4/read.m4: New file.
21086         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
21087         REPLACE_READ.
21088         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
21089         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
21090         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
21091         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
21092         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
21093         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
21094         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
21095         * modules/read: New file.
21096         * modules/nonblocking (Files): Add lib/stdio-read.c.
21097         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
21098         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
21099         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
21100         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
21101         * modules/pread (Depends-on): Add read.
21102         * modules/safe-read (Depends-on): Likewise.
21103         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
21104         gets, scanf, vfscanf, vscanf): Verify signatures.
21105         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
21106         problem with non-blocking pipes.
21107         * doc/posix-functions/fgetc.texi: Likewise.
21108         * doc/posix-functions/fgets.texi: Likewise.
21109         * doc/posix-functions/fread.texi: Likewise.
21110         * doc/posix-functions/fscanf.texi: Likewise.
21111         * doc/posix-functions/getc.texi: Likewise.
21112         * doc/posix-functions/getchar.texi: Likewise.
21113         * doc/posix-functions/gets.texi: Likewise.
21114         * doc/posix-functions/scanf.texi: Likewise.
21115         * doc/posix-functions/vfscanf.texi: Likewise.
21116         * doc/posix-functions/vscanf.texi: Likewise.
21117
21118 2011-04-14  Bruno Haible  <bruno@clisp.org>
21119
21120         Support non-blocking pipe I/O in write() on native Windows.
21121         * lib/write.c (rpl_write): Split a write request that failed merely
21122         because the byte count was larger than the pipe buffer's size.
21123         * doc/posix-functions/write.texi: Mention the problem with large byte
21124         counts.
21125
21126 2011-04-14  Bruno Haible  <bruno@clisp.org>
21127
21128         wchar: Ensure that wchar_t gets defined on uClibc.
21129         * lib/wchar.in.h: On uClibc, include <stddef.h>.
21130         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
21131
21132 2011-04-13  Bruno Haible  <bruno@clisp.org>
21133
21134         safe-write, full-read: Avoid unnecessary compilation units.
21135         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
21136         (Depends-on): Remove safe-read. Add ssize_t.
21137         * modules/full-read (Files): Add lib/full-write.c.
21138         (Depends-on): Add full-write.
21139
21140 2011-04-13  Bruno Haible  <bruno@clisp.org>
21141
21142         Support non-blocking pipe I/O and SIGPIPE in pwrite().
21143         * modules/pwrite (Depends-on): Add 'write'.
21144
21145 2011-04-13  Bruno Haible  <bruno@clisp.org>
21146
21147         Support non-blocking pipe I/O in write() on native Windows.
21148         * lib/unistd.in.h (write): Enable replacement also if
21149         GNULIB_UNISTD_H_NONBLOCKING is 1.
21150         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
21151         (rpl_write): When failing to write on a non-blocking pipe, change
21152         errno from ENOSPC to EAGAIN.
21153         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
21154         putchar, puts, vfprintf, vprintf): Enable replacement also if
21155         GNULIB_STDIO_H_NONBLOCKING is 1.
21156         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
21157         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
21158         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
21159         CALL_WITH_SIGPIPE_EMULATION.
21160         (CALL_WITH_SIGPIPE_EMULATION): Use them.
21161         * m4/nonblocking.m4: New file.
21162         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
21163         for non-blocking I/O support.
21164         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
21165         GNULIB_UNISTD_H_NONBLOCKING.
21166         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
21167         required for non-blocking I/O support.
21168         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
21169         * modules/nonblocking (Files): Add m4/nonblocking.m4,
21170         lib/stdio-write.c, m4/asm-underscore.m4.
21171         (Depends-on): Add stdio, unistd.
21172         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
21173         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
21174         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
21175         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
21176         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
21177         problem with non-blocking pipes.
21178         * doc/posix-functions/fputc.texi: Likewise.
21179         * doc/posix-functions/fputs.texi: Likewise.
21180         * doc/posix-functions/fwrite.texi: Likewise.
21181         * doc/posix-functions/printf.texi: Likewise.
21182         * doc/posix-functions/putc.texi: Likewise.
21183         * doc/posix-functions/putchar.texi: Likewise.
21184         * doc/posix-functions/puts.texi: Likewise.
21185         * doc/posix-functions/vfprintf.texi: Likewise.
21186         * doc/posix-functions/vprintf.texi: Likewise.
21187         * doc/posix-functions/write.texi: Likewise.
21188
21189 2011-04-10  Jim Meyering  <meyering@redhat.com>
21190
21191         maint.mk: prohibit doubled words
21192         Detect them also when they're separated by a newline.
21193         There are 3 ways to customize it:
21194           - disable the test on a per file basis, as usual with rules using
21195             $(VC_LIST_EXCEPT)
21196           - replace the default doubled-word-selecting regexp (affects all files)
21197           - ignore a particular file-vs-doubled-word match
21198         I nearly used that last one to ignore the "is is" match in
21199         coreutils' NEWS file, since the text was "ls -is is ..."
21200         To do that, I would have added this line to cfg.mk:
21201           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
21202         but it would have ignored any "is is" match in NEWS.
21203         Low probability, but still...
21204         Instead, I changed the text, slightly:
21205           -  ls -is is now consistent with ls -lis in ignoring values returned
21206           +  "ls -is" is now consistent with ls -lis in ignoring values returned
21207         * top/maint.mk (prohibit_double_word_RE_): Provide default.
21208         (prohibit_doubled_word_): Define.
21209         (sc_prohibit_doubled_word): New rule.
21210         (sc_prohibit_the_the): Remove.  Subsumed by the above.
21211
21212 2011-04-10  Jim Meyering  <meyering@redhat.com>
21213
21214         maint: fix doubled-word typo in comment
21215         * m4/gethostname.m4: s/is is/it is/
21216         * m4/getdomainname.m4: Likewise.
21217
21218 2011-04-10  Jim Meyering  <meyering@redhat.com>
21219
21220         maint: remove doubled word: s/it it/it/
21221         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
21222
21223 2011-04-10  Jim Meyering  <meyering@redhat.com>
21224
21225         maint.mk: remove useless semicolon and backslash
21226         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
21227         semicolon and backslash.
21228
21229 2011-04-10  Bruno Haible  <bruno@clisp.org>
21230
21231         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
21232         * modules/stdint-tests (Depends-on): Add wchar.
21233
21234 2011-04-10  Jim Meyering  <meyering@redhat.com>
21235
21236         maint: remove doubled words in comments, e.g., s/a a/a/
21237         * lib/strptime.c (day_of_the_week): s/the the/the/
21238         * tests/test-chown.h (test_chown): s/a a/a/
21239
21240         test-chown.h: correct a cast
21241         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
21242         when the destination is a stat.st_gid.
21243
21244 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
21245
21246         getaddrinfo: Fix test for sa_len member.
21247         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
21248         include <sys/types.h> before <sys/socket.h>.
21249
21250 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
21251
21252         maint: change "can not" to "cannot"
21253         * doc/posix-functions/iconv.texi (iconv): This one crossed line
21254         boundaries.
21255
21256 2011-04-09  Jim Meyering  <meyering@redhat.com>
21257
21258         maint: change "a a" to "a"
21259         * tests/test-lchown.h (test_lchown): s/a a/a/
21260
21261         maint.mk: prohibit \<the the\>
21262         * top/maint.mk (sc_prohibit_the_the): New rule.
21263
21264         maint: fix "the the" in comment
21265         * lib/count-one-bits.h: s/the the/the/
21266
21267         maint: change "can not" to "cannot"
21268         But do not change the occurrences in maintain.texi or in
21269         build-aux/po/Makefile.in.in, which I presume comes from gettext.
21270         * doc/gnulib-tool.texi: s/can not/cannot/
21271         * doc/posix-functions/accept.texi (accept): Likewise.
21272         * doc/posix-functions/socket.texi (socket): Likewise.
21273         * lib/mbrtowc.c: Likewise.
21274
21275         maint.mk: prohibit use of "can not"
21276         * top/maint.mk (sc_prohibit_can_not): New rule.
21277         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
21278
21279 2011-04-09  Bruno Haible  <bruno@clisp.org>
21280
21281         careadlinkat: Guard against misuse of careadlinkatcwd.
21282         * lib/careadlinkat.c: Include <stdlib.h>.
21283         (careadlinkatcwd): Check that the fd argument is as expected.
21284
21285 2011-04-09  Bruno Haible  <bruno@clisp.org>
21286
21287         careadlinkat: Use common coding style.
21288         * lib/careadlinkat.c: Move gnulib includes after system includes.
21289
21290 2011-04-09  Bruno Haible  <bruno@clisp.org>
21291
21292         careadlinkat: Clarify specification.
21293         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
21294         (careadlinkatcwd): Add comment.
21295         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
21296
21297 2011-04-09  Bruno Haible  <bruno@clisp.org>
21298
21299         areadlinkat: Avoid link error on many platforms.
21300         * modules/areadlinkat (Depends-on): Add areadlink.
21301
21302 2011-04-09  Bruno Haible  <bruno@clisp.org>
21303
21304         allocator, careadlinkat: Fix double-inclusion guard.
21305         * lib/allocator.h: Fix double-inclusion guard.
21306         * lib/careadlinkat.h: Likewise.
21307
21308 2011-04-09  Bruno Haible  <bruno@clisp.org>
21309
21310         relocatable-prog-wrapper: Update after module 'areadlink' changed.
21311         * lib/relocwrapper.c: Update dependencies hierarchy.
21312         * build-aux/install-reloc: Update list of files to be compiled.
21313         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
21314         lib/allocator.[hc].
21315
21316 2011-04-08  Eric Blake  <eblake@redhat.com>
21317
21318         strftime: silence gnulib-tool warning
21319         * modules/strftime-tests (Depends-on): Drop automatic dependency.
21320
21321 2011-04-08  Bruno Haible  <bruno@clisp.org>
21322
21323         verify: Fix syntax error with GCC 4.6 in C++ mode.
21324         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
21325         (HAVE_STATIC_ASSERT): New macro.
21326         (verify_true, verify): Use 'static_assert' if it is supported and
21327         '_Static_assert' is not supported.
21328
21329 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
21330
21331         allocator: New module.
21332         * modules/allocator, lib/allocator.c: New files.
21333         * lib/allocator.h (stdlib_allocator): New decl.
21334         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
21335         Remove.  Do not include <stdlib.h>.
21336         (careadlinkat): Use stdlib_allocator instead of rolling our own.
21337         * modules/careadlinkat (Files): Remove lib/allocator.h.
21338         (Depends-on): Add allocator.
21339
21340         stdlib: let modules use system malloc, realloc
21341         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
21342         if !_GL_USE_STDLIB_ALLOC.
21343         (malloc, realloc): Limit this change to a smaller scope.
21344
21345         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
21346         (malloc, realloc): Don't #undef; no longer needed.
21347         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
21348         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
21349         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
21350         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
21351         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
21352         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
21353         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
21354         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
21355
21356         careadlinkat: rename members to avoid problem
21357         * lib/allocator.h (struct allocator): Rename members from
21358         malloc/realloc to allocate/reallocate, to avoid problems if malloc
21359         and realloc are #define'd.  Reported by Eric Blake in
21360         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
21361         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
21362
21363 2011-04-08  Eric Blake  <eblake@redhat.com>
21364
21365         nonblocking: reduce dependency
21366         * tests/test-nonblocking.c: Only test sockets when in use.
21367         * modules/nonblocking-tests (Depends-on): Drop socket.
21368         (Makefile.am): Link even if sockets are not present.
21369         * modules/pipe2-tests (Makefile.am): Likewise.
21370         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
21371
21372         pipe2: fix O_NONBLOCK support on mingw
21373         * modules/pipe2 (Depends-on): Add nonblocking.
21374         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
21375         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
21376         * tests/test-nonblocking.c (main): Likewise.
21377         * modules/pipe2-tests (Makefile.am): Avoid link failure.
21378
21379         fcntl-h: fix O_ACCMODE on cygwin
21380         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
21381         * lib/fcntl.in.h (O_ACCMODE): Fix it.
21382
21383         pipe-filter: drop O_NONBLOCK workarounds
21384         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
21385         * modules/pipe-filter-ii (Depends-on): Likewise.
21386         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
21387
21388         nonblocking: provide O_NONBLOCK for mingw
21389         * modules/nonblocking (Depends-on): Add open.
21390         (configure.ac): Set new witness macro.
21391         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
21392         * modules/fcntl-h (Makefile.am): Substitute it.
21393         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
21394         nonblocking module is in use.
21395         * lib/nonblocking.c: Adjust portability test.
21396         * lib/open.c (open): Don't let native open see gnulib flag.
21397         * tests/test-fcntl-h.c (main): Enhance test.
21398         * tests/test-open.h (test_open): Likewise.
21399         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
21400
21401         careadlinkat: fix compilation error on mingw
21402         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
21403         within struct allocator.
21404
21405 2011-04-06  Eric Blake  <eblake@redhat.com>
21406
21407         binary-io: relicense under LGPLv2+
21408         * modules/binary-io (License): Relax to LGPLv2+.
21409         Requested for libvirt, and required by pipe2.
21410
21411 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
21412
21413         verify: use _Static_assert if available
21414         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
21415         (verify_true, verify): Use it if available.  This generates better
21416         diagnostics with GCC 4.6.0 and later.
21417
21418 2011-04-05  Bruno Haible  <bruno@clisp.org>
21419
21420         Remove leftover generated .h files after config.status changed.
21421
21422         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
21423         GL_GENERATE_ALLOCA_H.
21424         * modules/alloca-opt (Makefile.am): Remove alloca.h if
21425         GL_GENERATE_ALLOCA_H evaluates to false.
21426
21427         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
21428         GL_GENERATE_ARGZ_H.
21429         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
21430         evaluates to false.
21431
21432         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
21433         GL_GENERATE_BYTESWAP_H.
21434         * modules/byteswap (Makefile.am): Remove byteswap.h if
21435         GL_GENERATE_BYTESWAP_H evaluates to false.
21436
21437         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
21438         GL_GENERATE_ERRNO_H.
21439         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
21440         evaluates to false.
21441
21442         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
21443         GL_GENERATE_FLOAT_H.
21444         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
21445         evaluates to false.
21446
21447         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
21448         GL_GENERATE_FNMATCH_H.
21449         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
21450         GL_GENERATE_FNMATCH_H evaluates to false.
21451
21452         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
21453         GL_GENERATE_GLOB_H.
21454         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
21455         evaluates to false.
21456
21457         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
21458         automake conditional GL_GENERATE_ICONV_H.
21459         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
21460         evaluates to false.
21461
21462         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
21463         GL_GENERATE_NETINET_IN_H.
21464         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
21465         GL_GENERATE_NETINET_IN_H evaluates to false.
21466
21467         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
21468         conditional GL_GENERATE_PTHREAD_H.
21469         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
21470         * modules/pthread (Makefile.am): Remove pthread.h if
21471         GL_GENERATE_PTHREAD_H evaluates to false.
21472
21473         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
21474         GL_GENERATE_SCHED_H.
21475         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
21476         evaluates to false.
21477
21478         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
21479         conditional GL_GENERATE_SELINUX_CONTEXT_H.
21480         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
21481         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
21482
21483         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
21484         GL_GENERATE_STDARG_H.
21485         * modules/stdarg (Makefile.am): Remove stdarg.h if
21486         GL_GENERATE_STDARG_H evaluates to false.
21487
21488         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
21489         GL_GENERATE_STDBOOL_H.
21490         * modules/stdbool (Makefile.am): Remove stdbool.h if
21491         GL_GENERATE_STDBOOL_H evaluates to false.
21492
21493         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
21494         conditional GL_GENERATE_STDDEF_H.
21495         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
21496         * modules/stddef (Makefile.am): Remove stddef.h if
21497         GL_GENERATE_STDDEF_H evaluates to false.
21498
21499         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
21500         GL_GENERATE_STDINT_H.
21501         * modules/stdint (Makefile.am): Remove stdint.h if
21502         GL_GENERATE_STDINT_H evaluates to false.
21503
21504         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
21505         GL_GENERATE_SYSEXITS_H.
21506         * modules/sysexits (Makefile.am): Remove sysexits.h if
21507         GL_GENERATE_SYSEXITS_H evaluates to false.
21508
21509         Reported by Karl Berry and Ralf Wildenhues.
21510
21511 2011-04-05  Bruno Haible  <bruno@clisp.org>
21512
21513         Ensure to rebuild generated .h files when config.status has changed.
21514         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
21515         config.status.
21516         * modules/ctype (Makefile.am): Likewise.
21517         * modules/dirent (Makefile.am): Likewise.
21518         * modules/errno (Makefile.am): Likewise.
21519         * modules/fcntl-h (Makefile.am): Likewise.
21520         * modules/float (Makefile.am): Likewise.
21521         * modules/getopt-posix (Makefile.am): Likewise.
21522         * modules/glob (Makefile.am): Likewise.
21523         * modules/iconv-h (Makefile.am): Likewise.
21524         * modules/inttypes (Makefile.am): Likewise.
21525         * modules/langinfo (Makefile.am): Likewise.
21526         * modules/locale (Makefile.am): Likewise.
21527         * modules/math (Makefile.am): Likewise.
21528         * modules/netdb (Makefile.am): Likewise.
21529         * modules/netinet_in (Makefile.am): Likewise.
21530         * modules/poll-h (Makefile.am): Likewise.
21531         * modules/pthread (Makefile.am): Likewise.
21532         * modules/pty (Makefile.am): Likewise.
21533         * modules/sched (Makefile.am): Likewise.
21534         * modules/search (Makefile.am): Likewise.
21535         * modules/selinux-h (Makefile.am): Likewise.
21536         * modules/signal (Makefile.am): Likewise.
21537         * modules/spawn (Makefile.am): Likewise.
21538         * modules/stdarg (Makefile.am): Likewise.
21539         * modules/stdbool (Makefile.am): Likewise.
21540         * modules/stddef (Makefile.am): Likewise.
21541         * modules/stdint (Makefile.am): Likewise.
21542         * modules/stdio (Makefile.am): Likewise.
21543         * modules/stdlib (Makefile.am): Likewise.
21544         * modules/string (Makefile.am): Likewise.
21545         * modules/strings (Makefile.am): Likewise.
21546         * modules/sys_file (Makefile.am): Likewise.
21547         * modules/sys_ioctl (Makefile.am): Likewise.
21548         * modules/sys_select (Makefile.am): Likewise.
21549         * modules/sys_socket (Makefile.am): Likewise.
21550         * modules/sys_stat (Makefile.am): Likewise.
21551         * modules/sys_time (Makefile.am): Likewise.
21552         * modules/sys_times (Makefile.am): Likewise.
21553         * modules/sys_utsname (Makefile.am): Likewise.
21554         * modules/sys_wait (Makefile.am): Likewise.
21555         * modules/sysexits (Makefile.am): Likewise.
21556         * modules/termios (Makefile.am): Likewise.
21557         * modules/time (Makefile.am): Likewise.
21558         * modules/unistd (Makefile.am): Likewise.
21559         * modules/wchar (Makefile.am): Likewise.
21560         * modules/wctype-h (Makefile.am): Likewise.
21561         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
21562
21563 2011-04-05  Bruno Haible  <bruno@clisp.org>
21564
21565         pipe2: Relicense under LGPLv2+.
21566         * modules/pipe2 (License): Change to LGPLv2+.
21567         Requested by Eric Blake, for libvirt.
21568
21569 2011-04-05  Bruce Korb  <bkorb@gnu.org>
21570
21571         bootstrap: compute gnulib_extra_files after updating build_aux
21572         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
21573         change build_aux or also supply gnulib_extra_files.  Handle correctly.
21574
21575 2011-04-05  Eric Blake  <eblake@redhat.com>
21576
21577         bootstrap: preserve git whitelist item sorting
21578         * build-aux/bootstrap (sort_patterns): New function.
21579         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
21580
21581 2011-04-05  Simon Josefsson  <simon@josefsson.org>
21582
21583         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
21584         sc_space_tab check.
21585
21586 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
21587
21588         areadlink, areadlinkat: rewrite in terms of careadlinkat
21589         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
21590         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
21591         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
21592         (malloc, realloc): Remove #undefs.
21593         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
21594         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
21595         readlink, ssize_t, stdint, unistd.
21596         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
21597         areadlink, stdint.
21598
21599         careadlinkat: new module
21600         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
21601         * modules/careadlinkat: New files, written by me with
21602         a review and feedback from Ben Pfaff in
21603         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
21604
21605 2011-04-01  Bruno Haible  <bruno@clisp.org>
21606
21607         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
21608         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
21609         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
21610         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
21611         Reported by Bruce Korb <bruce.korb@gmail.com>.
21612
21613 2011-04-01  Bruno Haible  <bruno@clisp.org>
21614
21615         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
21616         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
21617         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
21618         * modules/wcpcpy (Depends-on): Add extensions.
21619         * modules/wcpncpy (Depends-on): Likewise.
21620         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
21621         systems.
21622         * doc/posix-functions/wcpncpy.texi: Likewise.
21623         * doc/posix-functions/wcwidth.texi: Likewise.
21624
21625 2011-03-31  Eric Blake  <eblake@redhat.com>
21626
21627         nonblocking: fix mingw test failures
21628         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
21629         non-blocking flag on regular file.
21630         (get_nonblocking_flag): Set errno on invalid fd.
21631         * tests/test-nonblocking.c (main): Avoid test failure on
21632         directories if fchdir is not active.
21633         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
21634
21635 2011-03-31  Bruno Haible  <bruno@clisp.org>
21636
21637         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
21638         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
21639         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
21640         Reported by Simon Josefsson <simon@josefsson.org>.
21641
21642 2011-03-31  Bruno Haible  <bruno@clisp.org>
21643         and Eric Blake  <eblake@redhat.com>
21644
21645         nonblocking: new module
21646         * modules/nonblocking: New module.
21647         * modules/nonblocking-tests: Likewise.
21648         * lib/nonblocking.h: New file.
21649         * lib/nonblocking.c: Likewise.
21650         * tests/test-nonblocking.c: New test.
21651         * lib/ioctl.c (ioctl) [mingw]: Update comment.
21652
21653 2011-03-30  Bruno Haible  <bruno@clisp.org>
21654
21655         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
21656         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
21657         instead of 'printf' format for GCC >= 4.4.
21658         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
21659         (fprintf, printf, vfprintf, vprintf): Declare with
21660         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
21661         the system's vfprintf() function.
21662         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
21663
21664 2011-03-30  Eric Blake  <eblake@redhat.com>
21665
21666         passfd: fix scoping bug
21667         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
21668         before sendmsg/recvmsg.
21669
21670         passfd: standardize coding conventions
21671         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
21672         can be learned at compile time.
21673         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
21674         ifdefs.
21675         (sendfd, recvfd): Follow gnulib code conventions.
21676
21677         passfd: fix incorrect sendmsg arguments
21678         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
21679         incorrect msg_controllen value.
21680         * modules/passfd-tests (Depends-on): Check for alarm.
21681         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
21682         Reported by Bastien ROUCARIES.
21683
21684 2011-03-30  Bruno Haible  <bruno@clisp.org>
21685
21686         c-strcasestr: Relicense under LGPLv2+.
21687         * modules/c-strcasestr (License): Change to LGPLv2+.
21688         Requested by Eric Blake, for libvirt.
21689
21690 2011-03-30  Simon Josefsson  <simon@josefsson.org>
21691
21692         * users.txt: Add libidn2.  Fix libtasn1 link.
21693
21694 2011-03-30  Jim Meyering  <meyering@redhat.com>
21695
21696         tests: readlink* ("",... fails with EINVAL on newer kernels
21697         readlink and readlinkat have typically failed with ENOENT for
21698         the invalid, empty file name,  "".  However, with the advent
21699         of linux-2.6.39, they fail with EINVAL.
21700         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
21701         when operating on the empty file name.
21702         * tests/test-readlink.h (test_readlink): Likewise.
21703
21704 2011-03-29  Bruno Haible  <bruno@clisp.org>
21705
21706         Relicense some modules under LGPLv2+, for libidn2.
21707         * modules/array-mergesort (License): Change to LGPLv2+.
21708         * modules/c-strcaseeq (License): Likewise.
21709         * modules/striconveh (License): Likewise.
21710         * modules/striconveha (License): Likewise.
21711         * modules/uniconv/base (License): Likewise.
21712         * modules/uniconv/u8-conv-from-enc (License): Likewise.
21713         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
21714         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
21715         * modules/unictype/base (License): Likewise.
21716         * modules/unictype/bidiclass-of (License): Likewise.
21717         * modules/unictype/category-M (License): Likewise.
21718         * modules/unictype/category-none (License): Likewise.
21719         * modules/unictype/category-of (License): Likewise.
21720         * modules/unictype/category-test (License): Likewise.
21721         * modules/unictype/category-test-withtable (License): Likewise.
21722         * modules/unictype/combining-class (License): Likewise.
21723         * modules/unictype/joiningtype-of (License): Likewise.
21724         * modules/unictype/scripts (License): Likewise.
21725         * modules/uninorm/base (License): Likewise.
21726         * modules/uninorm/canonical-decomposition (License): Likewise.
21727         * modules/uninorm/composition (License): Likewise.
21728         * modules/uninorm/decompose-internal (License): Likewise.
21729         * modules/uninorm/decomposition-table (License): Likewise.
21730         * modules/uninorm/nfc (License): Likewise.
21731         * modules/uninorm/nfd (License): Likewise.
21732         * modules/uninorm/u32-normalize (License): Likewise.
21733         * modules/unistr/base (License): Likewise.
21734         * modules/unistr/u32-cpy (License): Likewise.
21735         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
21736         * modules/unistr/u32-to-u8 (License): Likewise.
21737         * modules/unistr/u32-uctomb (License): Likewise.
21738         * modules/unistr/u8-check (License): Likewise.
21739         * modules/unistr/u8-mblen (License): Likewise.
21740         * modules/unistr/u8-mbtouc (License): Likewise.
21741         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
21742         * modules/unistr/u8-mbtoucr (License): Likewise.
21743         * modules/unistr/u8-prev (License): Likewise.
21744         * modules/unistr/u8-strlen (License): Likewise.
21745         * modules/unistr/u8-to-u32 (License): Likewise.
21746         * modules/unistr/u8-uctomb (License): Likewise.
21747         * modules/unitypes (License): Likewise.
21748         Requested by Simon Josefsson.
21749
21750 2011-03-29  Simon Josefsson  <simon@josefsson.org>
21751
21752         lib-symbol-visibility: Add a notice.
21753         * modules/lib-symbol-visibility (Notice): New field.
21754
21755 2011-03-29  Bruno Haible  <bruno@clisp.org>
21756
21757         getaddrinfo: Doc fix.
21758         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
21759         section "fixed in Gnulib".
21760
21761 2011-03-28  Simon Josefsson  <simon@josefsson.org>
21762
21763         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
21764         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
21765
21766 2011-03-26  Bruno Haible  <bruno@clisp.org>
21767
21768         unictype/property-byname: Reduce the number of load-time relocations.
21769         * lib/unictype/pr_byname.c: Include <stdlib.h>.
21770         (UC_PROPERTY_INDEX_*): New enumeration values.
21771         (uc_property_byname): Convert an index from the lookup table to an
21772         uc_property_t.
21773         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
21774         values.
21775
21776 2011-03-26  Bruno Haible  <bruno@clisp.org>
21777
21778         unictype/property-byname: Allow omitted word separators and aliases.
21779         * lib/unictype/pr_byname.gperf: Add property names without word
21780         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
21781         for 'space'.
21782
21783 2011-03-26  Bruno Haible  <bruno@clisp.org>
21784
21785         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
21786         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
21787         also hyphens to space.
21788         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
21789         without spaces.
21790         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
21791
21792 2011-03-26  Bruno Haible  <bruno@clisp.org>
21793
21794         unictype/joiningtype-byname: Recognize long names as well.
21795         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
21796         a long name.
21797         * lib/unictype/joiningtype_byname.c: Include <string.h>,
21798         unictype/joiningtype_byname.h.
21799         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
21800         * lib/unictype/joiningtype_byname.gperf: New file.
21801         * modules/unictype/joiningtype-byname (Files): Add
21802         lib/unictype/joiningtype_byname.gperf.
21803         (Depends-on): Add gperf.
21804         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
21805         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
21806         long names.
21807
21808         Tests for module 'unictype/joiningtype-longname'.
21809         * modules/unictype/joiningtype-longname-tests: New file.
21810         * tests/unictype/test-joiningtype_longname.c: New file.
21811
21812         New module 'unictype/joiningtype-longname'.
21813         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
21814         * lib/unictype/joiningtype_longname.c: New file.
21815         * modules/unictype/joiningtype-longname: New file.
21816         * modules/unictype/joiningtype-all (Depends-on): Add
21817         unictype/joiningtype-longname.
21818
21819 2011-03-26  Bruno Haible  <bruno@clisp.org>
21820
21821         unictype/bidiclass-byname: Recognize long names as well.
21822         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
21823         name.
21824         * lib/unictype/bidi_byname.c: Include <string.h>,
21825         unictype/bidi_byname.h.
21826         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
21827         * lib/unictype/bidi_byname.gperf: New file.
21828         * modules/unictype/bidiclass-byname (Files): Add
21829         lib/unictype/bidi_byname.gperf.
21830         (Depends-on): Add gperf.
21831         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
21832         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
21833         long names.
21834
21835         Tests for module 'unictype/bidiclass-longname'.
21836         * modules/unictype/bidiclass-longname-tests: New file.
21837         * tests/unictype/test-bidi_longname.c: New file.
21838
21839         New module 'unictype/bidiclass-longname'.
21840         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
21841         * lib/unictype/bidi_longname.c: New file.
21842         * modules/unictype/bidiclass-longname: New file.
21843         * modules/unictype/bidiclass-all (Depends-on): Add
21844         unictype/bidiclass-longname.
21845
21846 2011-03-26  Bruno Haible  <bruno@clisp.org>
21847
21848         unictype/bidi*: Rename modules.
21849         * modules/unictype/bidiclass-all: Renamed from
21850         modules/unictype/bidicategory-all.
21851         * modules/unictype/bidiclass-name: Renamed from
21852         modules/unictype/bidiclass-name.
21853         (Description): Update.
21854         * modules/unictype/bidiclass-name-tests: Renamed from
21855         modules/unictype/bidicategory-name-tests.
21856         * modules/unictype/bidiclass-byname: Renamed from
21857         modules/unictype/bidicategory-byname.
21858         (Description): Update.
21859         * modules/unictype/bidiclass-byname-tests: Renamed from
21860         modules/unictype/bidicategory-byname-tests.
21861         * modules/unictype/bidiclass-of: Renamed from
21862         modules/unictype/bidicategory-of.
21863         (Description): Update.
21864         * modules/unictype/bidiclass-of-tests: Renamed from
21865         modules/unictype/bidicategory-of-tests.
21866         * modules/unictype/bidiclass-test: Renamed from
21867         modules/unictype/bidicategory-test.
21868         (Description): Update.
21869         * modules/unictype/bidiclass-test-tests: Renamed from
21870         modules/unictype/bidicategory-test-tests.
21871         * modules/unictype/bidicategory-all: New file, a simple redirection.
21872         * modules/unictype/bidicategory-name: Likewise.
21873         * modules/unictype/bidicategory-byname: Likewise.
21874         * modules/unictype/bidicategory-of: Likewise.
21875         * modules/unictype/bidicategory-test: Likewise.
21876         * modules/unictype/property-bidi-* (Dependencies): Update.
21877         * lib/unictype/bidi_*.c: Update comment.
21878
21879 2011-03-26  Bruno Haible  <bruno@clisp.org>
21880
21881         unictype/bidi*: Rename functions, part 2.
21882         * modules/unictype/bidicategory-name (configure.ac): Update required
21883         libunistring version.
21884         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
21885
21886 2011-03-25  Bruno Haible  <bruno@clisp.org>
21887
21888         New module 'unictype/combining-class-all'.
21889         * modules/unictype/combining-class-all: New file.
21890
21891         Tests for module 'unictype/combining-class-byname'.
21892         * modules/unictype/combining-class-byname-tests: New file.
21893         * tests/unictype/test-combiningclass_byname.c: New file.
21894
21895         New module 'unictype/combining-class-byname'.
21896         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
21897         * lib/unictype/combiningclass_byname.c: New file.
21898         * lib/unictype/combiningclass_byname.gperf: New file.
21899         * modules/unictype/combining-class-byname: New file.
21900
21901         Tests for module 'unictype/combining-class-longname'.
21902         * modules/unictype/combining-class-longname-tests: New file.
21903         * tests/unictype/test-combiningclass_longname.c: New file.
21904
21905         New module 'unictype/combining-class-longname'.
21906         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
21907         * lib/unictype/combiningclass_longname.c: New file.
21908         * modules/unictype/combining-class-longname: New file.
21909
21910         Tests for module 'unictype/combining-class-name'.
21911         * modules/unictype/combining-class-name-tests: New file.
21912         * tests/unictype/test-combiningclass_name.c: New file.
21913
21914         New module 'unictype/combining-class-name'.
21915         * lib/unictype.in.h (uc_combining_class_name): New declaration.
21916         * lib/unictype/combiningclass_name.c: New file.
21917         * modules/unictype/combining-class-name: New file.
21918
21919 2011-03-25  Bruno Haible  <bruno@clisp.org>
21920
21921         unictype/combining-class: Rename source files.
21922         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
21923         of unictype/combining.h.
21924         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
21925         Update.
21926         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
21927         * modules/unictype/combining-class (Description): Fix.
21928         (Files, Makefile.am): Update.
21929         * tests/unictype/test-combiningclass.c: Renamed from
21930         tests/unictype/test-combining.c.
21931         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
21932
21933 2011-03-25  Bruno Haible  <bruno@clisp.org>
21934
21935         unictype: Update list of canonical combining classes.
21936         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
21937
21938 2011-03-25  Bruno Haible  <bruno@clisp.org>
21939
21940         unictype/category-byname: Recognize long names as well.
21941         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
21942         a long name.
21943         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
21944         unictype/categ_byname.h.
21945         (UC_CATEGORY_INDEX_*): New enumeration values.
21946         (uc_general_category_byname): Use uc_general_category_lookup and
21947         convert from index to value.
21948         * lib/unictype/categ_byname.gperf: New file.
21949         * modules/unictype/category-byname (Files): Add
21950         lib/unictype/categ_byname.gperf.
21951         (Depends-on): Add gperf.
21952         (Makefile.am): Add rule for generating unictype/categ_byname.h.
21953         * tests/unictype/test-categ_byname.c (main): Test the recognition of
21954         long names.
21955
21956         Tests for module 'unictype/category-longname'.
21957         * modules/unictype/category-longname-tests: New file.
21958         * tests/unictype/test-categ_longname.c: New file.
21959
21960         New module 'unictype/category-longname'.
21961         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
21962         * lib/unictype/categ_longname.c: New file.
21963         * modules/unictype/category-longname: New file.
21964         * modules/unictype/category-all (Depends-on): Add it.
21965
21966 2011-03-25  Bruno Haible  <bruno@clisp.org>
21967
21968         Tests for module 'unictype/category-LC'.
21969         * modules/unictype/category-LC-tests: New file.
21970         * tests/unictype/test-categ_LC.c: New file, automatically generated.
21971
21972         New module 'unictype/category-LC'.
21973         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
21974         (UC_CATEGORY_LC): New declaration.
21975         (UC_CASED_LETTER): New macro.
21976         * lib/gen-uni-tables.c (is_category_LC): New function.
21977         (output_categories): Also handle category LC.
21978         (UC_CATEGORY_MASK_LC): New enumeration value.
21979         (general_category_byname): Also handle category LC.
21980         * lib/unictype/categ_LC.c: New file.
21981         * lib/unictype/categ_LC.h: New file, automatically generated.
21982         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
21983         category LC.
21984         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
21985         * modules/unictype/category-LC: New file.
21986         * modules/unictype/category-byname (Depends-on): Add
21987         unictype/category-LC.
21988         * modules/unictype/category-all (Depends-on): Likewise.
21989
21990 2011-03-25  Eric Blake  <eblake@redhat.com>
21991
21992         xmalloc: revert yesterday's regression
21993         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
21994         realloc's underlying behavior (allowing allocation of zero-size
21995         objects, especially if malloc-gnu is also in use).
21996
21997 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
21998
21999         maint.mk: add missing version to VC-tag
22000         * top/maint.mk: git tag was missing actual tag name; add it.
22001
22002         valgrind: do leak checking, and exit with code 1 on error (not 0)
22003         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
22004         to VALGRIND.
22005
22006 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
22007
22008         posix-modules: say what it does.
22009         * posix-modules: Add a line to the --help output saying what it does.
22010
22011 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
22012
22013         xmalloc: Do not leak if underlying realloc is C99 compatible.
22014         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
22015         This avoids a leak on C99-based systems.  See
22016         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
22017
22018 2011-03-24  Eric Blake  <eblake@redhat.com>
22019
22020         realloc: document portability problem
22021         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
22022         passing 0 size to realloc.
22023
22024 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
22025
22026         doc: update users.txt
22027         * users.txt: Add cvsps, tmpwatch
22028
22029 2011-03-23  Matt Rice  <ratmice@gmail.com>
22030
22031         doc: update users.txt
22032         * users.txt: Add gdb.
22033
22034 2011-03-23  Jim Meyering  <meyering@redhat.com>
22035
22036         doc: update users.txt
22037         Looking through matches up to the following URL (there are still
22038         several more pages), I found several projects that use gnulib:
22039         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
22040         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
22041         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
22042
22043 2011-03-22  Bruno Haible  <bruno@clisp.org>
22044
22045         unictype/bidi*: Rename functions.
22046         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
22047         uc_bidi_class, uc_is_bidi_class): New declarations.
22048         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
22049         uc_bidi_category_byname.
22050         (uc_bidi_category_byname): New function.
22051         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
22052         u_bidi_category_name.
22053         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
22054         (uc_bidi_category_name): New function.
22055         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
22056         uc_bidi_category.
22057         (uc_bidi_category): New function.
22058         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
22059         uc_is_bidi_category. Invoke uc_bidi_class.
22060         (uc_is_bidi_category): New function.
22061         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
22062         instead of uc_bidi_category_byname.
22063         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
22064         instead of uc_bidi_category_name.
22065         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
22066         uc_bidi_category.
22067         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
22068         instead of uc_is_bidi_category.
22069
22070 2011-03-21  Bruno Haible  <bruno@clisp.org>
22071
22072         New module 'unictype/joininggroup-all'.
22073         * modules/unictype/joininggroup-all: New file.
22074
22075         Tests for module 'unictype/joininggroup-of'.
22076         * modules/unictype/joininggroup-of-tests: New file.
22077         * tests/unictype/test-joininggroup_of.c: New file.
22078         * tests/unictype/test-joininggroup_of.h: New file, automatically
22079         generated by gen-uni-tables.
22080
22081         New module 'unictype/joininggroup-of'.
22082         * modules/unictype/joininggroup-of: New file.
22083         * lib/unictype/joininggroup_of.c: New file.
22084         * lib/unictype/joininggroup_of.h: New file, automatically generated by
22085         gen-uni-tables.
22086
22087         Tests for module 'unictype/joininggroup-byname'.
22088         * modules/unictype/joininggroup-byname-tests: New file.
22089         * tests/unictype/test-joininggroup_byname.c: New file.
22090
22091         New module 'unictype/joininggroup-byname'.
22092         * modules/unictype/joininggroup-byname: New file.
22093         * lib/unictype/joininggroup_byname.c: New file.
22094         * lib/unictype/joininggroup_byname.gperf: New file.
22095
22096         Tests for module 'unictype/joininggroup-name'.
22097         * modules/unictype/joininggroup-name-tests: New file.
22098         * tests/unictype/test-joininggroup_name.c: New file.
22099
22100         New module 'unictype/joininggroup-name'.
22101         * modules/unictype/joininggroup-name: New file.
22102         * lib/unictype/joininggroup_name.c: New file.
22103         * lib/unictype/joininggroup_name.h: New file.
22104
22105         New module 'unictype/joiningtype-all'.
22106         * modules/unictype/joiningtype-all: New file.
22107
22108         Tests for module 'unictype/joiningtype-of'.
22109         * modules/unictype/joiningtype-of-tests: New file.
22110         * tests/unictype/test-joiningtype_of.c: New file.
22111         * tests/unictype/test-joiningtype_of.h: New file, automatically
22112         generated by gen-uni-tables.
22113
22114         New module 'unictype/joiningtype-of'.
22115         * modules/unictype/joiningtype-of: New file.
22116         * lib/unictype/joiningtype_of.c: New file.
22117         * lib/unictype/joiningtype_of.h: New file, automatically generated by
22118         gen-uni-tables.
22119
22120         Tests for module 'unictype/joiningtype-byname'.
22121         * modules/unictype/joiningtype-byname-tests: New file.
22122         * tests/unictype/test-joiningtype_byname.c: New file.
22123
22124         New module 'unictype/joiningtype-byname'.
22125         * modules/unictype/joiningtype-byname: New file.
22126         * lib/unictype/joiningtype_byname.c: New file.
22127
22128         Tests for module 'unictype/joiningtype-name'.
22129         * modules/unictype/joiningtype-name-tests: New file.
22130         * tests/unictype/test-joiningtype_name.c: New file.
22131
22132         New module 'unictype/joiningtype-name'.
22133         * modules/unictype/joiningtype-name: New file.
22134         * lib/unictype/joiningtype_name.c: New file.
22135
22136         unictype: Add support for Arabic shaping properties.
22137         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
22138         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
22139         declarations.
22140         (UC_JOINING_GROUP_*): New enumeration values.
22141         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
22142         declarations.
22143         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
22144         (unicode_joining_type): New variable.
22145         (UC_JOINING_GROUP_*): New enumeration values.
22146         (unicode_joining_group): New variable.
22147         (fill_arabicshaping, joining_type_as_c_identifier,
22148         output_joining_type_test, output_joining_type,
22149         joining_group_as_c_identifier, output_joining_group_test,
22150         output_joining_group): New functions.
22151         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
22152         fill_arabicshaping and output_joining_type_test, output_joining_type,
22153         output_joining_group_test, output_joining_group.
22154         Reported by Simon Josefsson.
22155
22156 2011-03-21  Jim Meyering  <meyering@redhat.com>
22157
22158         strftime: fix a bug in yesterday's change
22159         * lib/strftime.c (add): Accommodate width's initial value of -1.
22160         Otherwise, nstrftime would copy uninitialized data into
22161         the result buffer.
22162
22163 2011-03-21  Jim Meyering  <meyering@redhat.com>
22164
22165         tests: add strftime-tests module
22166         * tests/test-strftime.c: New file.
22167         * modules/strftime-tests: New module.
22168
22169 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
22170
22171         strftime: don't assume a byte count fits in 'int'
22172         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
22173         found this problem by static analysis, using gcc -Wstrict-overflow
22174         (GCC 4.5.2, x86-64).  This reported an optimization that depended
22175         on an integer overflow having undefined behavior, but it turns out
22176         that the argument is a size, which might not fit in 'int' anyway,
22177
22178 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
22179
22180         stdio: don't require ignore_value around fwrite
22181
22182         This patch works around libc bug 11959
22183         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
22184         Without this patch, applications must often write
22185         ignore_value (fwrite (...)) even though the ignore_value is
22186         not helpful here.  It's common to write many objects, using
22187         fwrite/printf/etc., and then use ferror to detect output error.
22188
22189         I considered making this patch optional, but decided against it,
22190         because libc is obviously being inconsistent here: there is no
22191         reason libc should insist that user code must inspect fwrite
22192         return's value without also insisting that it inspect printf's,
22193         putchar's, etc.  If user code wants to have a strict style where
22194         all these functions' values are checked (so that ferror need not
22195         be checked), we could add support for that style in a new gnulib
22196         module, but in the meantime it's better to be consistent and to
22197         support common usage.
22198
22199         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
22200         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
22201         that we are compiling in checking mode, and if not C++, and
22202         if not already wrapping fwrite for some other reason.
22203         (fwrite): #define to rpl_fwrite if the latter is defined.
22204
22205 2011-03-20  Bruno Haible  <bruno@clisp.org>
22206
22207         verror: Fix compilation error introduced on 2011-02-13.
22208         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
22209         instead of __attribute__.
22210         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
22211
22212 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
22213             Bruno Haible  <bruno@clisp.org>
22214
22215         socklen: do not depend on sys_socket
22216         While trying to modify Emacs to use gnulib's socklen module,
22217         I discovered a circular dependency: socklen depends on sys_socket
22218         and vice versa.  Emacs can use socklen, but it does not need
22219         sys_socket because it has its own substitute for sys/socket.h.
22220         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
22221         gl_TYPE_SOCKLEN_T.
22222         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
22223         gl_PREREQ_SYS_H_SOCKET.
22224         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
22225         gl_PREREQ_SYS_H_SOCKET.
22226         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
22227         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
22228         * modules/socklen (Depends-on): Do not depend on sys_socket.
22229         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
22230
22231 2011-03-20  Jim Meyering  <meyering@redhat.com>
22232
22233         maint.mk: sort file names *after* new transformation
22234         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
22235         prefix would have led to an unwarranted failure in GNU parted.
22236         Sort after that transformation.
22237
22238 2011-03-19  Jim Meyering  <meyering@redhat.com>
22239
22240         maint.mk: fix po-file syntax-check rule
22241         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
22242         Patch by Bruno Haible.
22243
22244 2011-03-19  Bruno Haible  <bruno@clisp.org>
22245
22246         socklen: Update comment.
22247         * m4/socklen.m4: Update comment about platforms.
22248
22249 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
22250             Bruno Haible  <bruno@clisp.org>
22251
22252         inet_ntop, inet_pton: Simplify.
22253         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
22254         documented to provide socklen_t and we already depend on sys_socket.
22255         * modules/inet_pton (Depends-on): Likewise.
22256         * lib/arpa_inet.in.h: Adjust comment.
22257
22258 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
22259             Bruno Haible  <bruno@clisp.org>
22260
22261         netdb: Simplify.
22262         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
22263         documented to provide socklen_t and we already depend on sys_socket.
22264         * lib/netdb.in.h: Adjust comment.
22265
22266 2011-03-19  Bruno Haible  <bruno@clisp.org>
22267
22268         sys_socket, netdb: Document problem with socklen_t.
22269         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
22270         platforms.
22271         * doc/posix-headers/netdb.texi: Likewise.
22272
22273 2011-03-18  Eric Blake  <eblake@redhat.com>
22274
22275         maint.mk: let po check work in VPATH build
22276         * top/maint.mk (po_file): Allow cfg.mk override.
22277         (sc_po_check): Allow VPATH use.
22278         Reported by Jiri Denemark.
22279
22280 2011-03-16  Jim Meyering  <meyering@redhat.com>
22281
22282         maint.mk: allow fine-grained syntax-check exclusion via Make variables
22283         Before, you would have had to create one .x-sc_ file per rule in order
22284         to exempt offending files.  Now, you may instead use a Make variable --
22285         usually defined in cfg.mk -- whose name identifies the affected rule.
22286         * top/maint.mk (_sc_excl): Define.
22287         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
22288         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
22289
22290 2011-03-13  Bruno Haible  <bruno@clisp.org>
22291
22292         ignore-value tests: Avoid warnings.
22293         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
22294         empty for gcc < 3.4.
22295
22296 2011-03-13  Bruno Haible  <bruno@clisp.org>
22297
22298         passfd: Fix link error on Solaris.
22299         * modules/passfd (Description): Correct.
22300         (Depends-on): Add socketlib.
22301         (Link): New section.
22302         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
22303
22304 2011-03-13  Bruno Haible  <bruno@clisp.org>
22305
22306         passfd: Fix link error on AIX 5.2.
22307         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
22308
22309 2011-03-13  Bruno Haible  <bruno@clisp.org>
22310
22311         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
22312         * lib/sys_socket.in.h: Include <stddef.h>.
22313         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
22314         CMSG_FIRSTHDR. Remove unused variable.
22315
22316 2011-03-13  Bruno Haible  <bruno@clisp.org>
22317
22318         passfd: Fix compilation error on OpenBSD.
22319         * lib/passfd.c: Include <sys/uio.h>.
22320
22321 2011-03-13  Bruno Haible  <bruno@clisp.org>
22322
22323         passfd test: Fix warnings.
22324         * tests/test-passfd.c: Include <sys/wait.h>.
22325         (main): Fix typo.
22326
22327 2011-03-13  Bruno Haible  <bruno@clisp.org>
22328
22329         passfd module, part 4, tweaks.
22330         * tests/test-passfd.c: Reorder includes.
22331         (main): Fix perror and printf calls.
22332
22333 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
22334
22335         passfd module, part 4.
22336         * modules/passfd-tests: New file.
22337         * tests/test-passfd.c: New file.
22338
22339 2011-03-13  Jim Meyering  <meyering@redhat.com>
22340
22341         Makefile: rely on GNU make; derive syntax-check rule names
22342         Rather than requiring that each sc_ rule be listed as a dependent
22343         of "check", use features of GNU make to derive the list.
22344         * Makefile (syntax-check-rules): Define.
22345         (check): Depend on the new variable, not the hard-coded list.
22346
22347 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
22348             Bruno Haible  <bruno@clisp.org>
22349
22350         passfd module, part 3.
22351         * lib/passfd.h (recvfd): Add a flags argument.
22352         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
22353         (recvfd): Add a flags argument.
22354         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
22355         exists.
22356         * modules/passfd (Depends-on): Add cloexec.
22357         Suggested by Eric Blake.
22358
22359 2011-03-13  Bruno Haible  <bruno@clisp.org>
22360
22361         passfd module, part 2, tweaks.
22362         * modules/passfd (Files): Reorder.
22363         (Depends-on): Remove errno.
22364         (Include): Remove <sys/socket.h>, <sys/un.h>.
22365         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
22366         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
22367         specification header. Include <sys/socket.h> always. Don't include
22368         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
22369         (sendfd): Clarify that it sets errno when it fails.
22370         (recvfd): Fix specification.
22371
22372 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
22373
22374         passfd module, part 2.
22375         * modules/passfd: New file.
22376         * lib/passfd.h: New file.
22377         * lib/passfd.c: New file.
22378
22379 2011-03-12  Bruno Haible  <bruno@clisp.org>
22380
22381         wcswidth, mbswidth: Avoid integer overflow.
22382         * lib/wcswidth.c: Include <limits.h>.
22383         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
22384         * lib/mbswidth.c: Include <limits.h>.
22385         (mbsnwidth): Avoid 'int' overflow.
22386         Reported by Jim Meyering.
22387
22388 2011-03-12  Bruno Haible  <bruno@clisp.org>
22389
22390         futimens, utimensat: Avoid endless recursion on Solaris 10.
22391         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
22392         Solaris.
22393         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
22394         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
22395
22396 2011-03-11  Jim Meyering  <meyering@redhat.com>
22397
22398         maint.mk: relax a regexp to accommodate other formatting styles
22399         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
22400         between "ngettext" and the following "(".
22401
22402 2011-03-11  Pádraig Brady <P@draigBrady.com>
22403
22404         maint.mk: suppress a false positive warning
22405         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
22406         diagnostics are marked with ngettext.
22407
22408 2011-03-10  Eric Blake  <eblake@redhat.com>
22409
22410         wchar: add explicit dependencies, for Tru64
22411         * modules/mbmemcasecoll (Depends-on): Add wchar.
22412         * modules/mbtowc (Depends-on): Likewise.
22413         * modules/vasnprintf (Depends-on): Likewise.
22414         * modules/unistdio/u-printf-args (Depends-on): Likewise.
22415         * modules/wctomb (Depends-on): Likewise.
22416         Reported by Peter O'Gorman.
22417
22418 2011-03-08  Bruno Haible  <bruno@clisp.org>
22419
22420         passfd module, part 1, tweaks.
22421         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
22422         Improve indentation. Improve AC_MSG_CHECKING messages.
22423         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
22424         gl_SOCKET_FAMILIES.
22425
22426 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
22427
22428         passfd module, part 1.
22429         * m4/afunix.m4: New file.
22430         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
22431         sockets.
22432
22433 2011-03-08  Bruno Haible  <bruno@clisp.org>
22434
22435         regex-quote: New API.
22436         * lib/regex-quote.h: Include <stdbool.h>.
22437         (struct regex_quote_spec): New type.
22438         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
22439         New declarations.
22440         (regex_quote_length, regex_quote_copy, regex_quote): Take a
22441         'const struct regex_quote_spec *' argument.
22442         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
22443         (pcre_special): New constant.
22444         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
22445         New functions.
22446         (regex_quote_length, regex_quote_copy, regex_quote): Take a
22447         'const struct regex_quote_spec *' argument.
22448         * modules/regex-quote (Depends-on): Add stdbool.
22449         * tests/test-regex-quote.c (check): Update for new API. Add test for
22450         anchored results.
22451         * NEWS: Mention the API change.
22452         Reported by Reuben Thomas and Eric Blake.
22453
22454 2011-03-06  Bruno Haible  <bruno@clisp.org>
22455
22456         regex-quote: Fix creation of POSIX extended regular expressions.
22457         * lib/regex-quote.c (ere_special): Add grouping and alternation
22458         operators.
22459
22460 2011-03-05  Bruno Haible  <bruno@clisp.org>
22461
22462         doc: Improve doc regarding autopoint vs. gnulib.
22463         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
22464         disable autopoint while running autoreconf.
22465         Suggested by Ralf Wildenhues.
22466
22467 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22468
22469         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
22470         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
22471
22472 2011-03-03  Bruce Korb  <bkorb@gnu.org>
22473
22474         parse-duration: remove xalloc.h dependency
22475         * lib/parse-duration.c (parse_period): handle NULL return from
22476         strdup instead of calling xstrdup().
22477         * modules/parse-duration: remove "xalloc" dependency
22478
22479 2011-03-03  Matthew Booth  <mbooth@redhat.com>
22480
22481         bootstrap: honor m4_base when running aclocal
22482         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
22483
22484 2011-03-02  Jim Meyering  <meyering@redhat.com>
22485
22486         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
22487         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
22488         on request from Matt Booth.
22489
22490 2011-03-01  Eric Blake  <eblake@redhat.com>
22491
22492         test-link: work on Hurd
22493         * tests/test-link.h (test_link): Hurd rejects linking directories
22494         with EISDIR instead of the POSIX-mandated EPERM.
22495
22496 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
22497
22498         stdio: simplify by moving files to printf-posix, sigpipe
22499         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
22500         since this symbol is needed only if printf is replaced.
22501         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
22502         Require gl_ASM_SYMBOL_PREFIX.
22503         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
22504         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
22505         (Depends-on): Add 'raise'.
22506         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
22507         * modules/stdio (Files): Remove lib/stdio-write.c,
22508         m4/asm-underscore.m4.
22509         (Depends-on): Remove 'raise'.
22510
22511         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
22512         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
22513         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
22514         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
22515
22516 2011-02-28  Bruno Haible  <bruno@clisp.org>
22517
22518         localcharset: Assume ANSI C behaviour of free().
22519         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
22520         calling free().
22521         Suggested by Simon Josefsson <simon@josefsson.org>.
22522
22523 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
22524             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
22525             Bruno Haible  <bruno@clisp.org>  (tiny change)
22526
22527         On Cygwin, use /proc file system instead of win32 API.
22528         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
22529         Win32 file names.
22530         (DllMain): Simplify by removing Cygwin specific code.
22531         (find_shared_library_fullname): Use Linux specific implementation also
22532         for Cygwin.
22533         (get_shared_library_fullname): Update accordingly.
22534         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
22535         Win32 file names.
22536         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
22537         Cygwin specific code.
22538
22539 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
22540             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
22541
22542         Fix OpenMP flag detection for various Fortran compilers.
22543         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
22544         OpenMP-conditional compilation construct, to force compile
22545         failure with missing OpenMP flag.
22546         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
22547
22548 2011-02-25  Eric Blake  <eblake@redhat.com>
22549
22550         strstr: expand test coverage
22551         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
22552         compilation.
22553         * tests/test-memmem.c (main): Duplicate tests.
22554         * tests/test-strcasestr.c (main): Likewise.
22555         * tests/test-c-strcasestr.c (main): Likewise.
22556
22557 2011-02-25  Jim Meyering  <meyering@redhat.com>
22558
22559         maint.mk: detect missing-NL-at-EOF, too
22560         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
22561         it also detects when a file lacks a newline at EOF.
22562         (require_exactly_one_NL_at_EOF_): Renamed from
22563         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
22564         since people may well have .x-sc_... file names tied to the
22565         existing name.  Suggested by Eric Blake.
22566
22567 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
22568
22569         dirname: move m4/dos.m4 functionality into lib/dosname.h
22570
22571         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
22572         extracts symbols from it, puts them into config.h; but it's much
22573         easier to use the symbols directly.  filename.h already does this,
22574         but it disagrees with dos.m4 in some respects.  This patch
22575         introduces a different include file dosname.h that packages up
22576         dos.m4, and then later we can work on merging filename.h and
22577         dosname.h.  Applications that need only the easy-to-configure
22578         symbols should consider including dosname.h rather than dirname.h.
22579         * NEWS: Mention incompatible changes.
22580         * m4/dos.m4: Remove.
22581         * lib/dosname.h, modules/dosname: New files.
22582         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
22583         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
22584         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
22585         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
22586         Include dosname.h, not dirname.h.
22587         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
22588         Include dosname.h, for definitions of symbols like ISSLASH
22589         that used to be in config.h.
22590         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
22591         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
22592         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
22593         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
22594         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
22595         * modules/rmdir (Files): Likewise.
22596         * modules/stat (Files): Likewise.
22597         * modules/unlink (Files): Likewise.
22598         * modules/dirname-lgpl (Depends-on): Add dosname.
22599         * modules/lstat (Depends-on): Likewise.
22600         * modules/openat (Depends-on): Likewise.
22601         * modules/rmdir (Depends-on): Likewise.
22602         * modules/savewd (Depends-on): Likewise.
22603         * modules/stat (Depends-on): Likewise.
22604         * modules/unlink (Depends-on): Likewise.
22605         * modules/openat (Depends-on): Remove dirname-lgpl.
22606         * modules/savewd (Depends-on): Likewise.
22607         * tests/test-dirname.c: Do not use removed symbols like
22608         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
22609         the remaining symbols, e.g., ISSLASH ('\\').
22610
22611 2011-02-25  Eric Blake  <eblake@redhat.com>
22612
22613         strstr: revert patches that introduced bug and pessimization
22614         * lib/str-two-way.h: Add another reference.
22615         (two_way_short_needle, two_way_long_needle): Revert changes from
22616         2011-02-24; they pessimize search speed.
22617         (critical_factorization): Partially revert changes from
22618         2010-06-22; they violate the requirement that the left half of the
22619         needle be smaller than the period of the needle.
22620
22621 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
22622
22623         filenamecat: remove unnecessary dependency on dirname-lgpl
22624         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
22625         is no direct dependency, just an indirect one via filenamecat-lgpl.
22626
22627         remove: remove unnecessary use of m4/dos.m4
22628         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
22629         * modules/remove (FILES): Remove m4/dos.m4.
22630
22631         * lib/openat-proc.c: Don't include dirname.h; not needed.
22632
22633         backupfile: remove unnecessary use of m4/dos.m4
22634         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
22635         of its symbols are used by the backupfile code.  backupfile.c does
22636         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
22637         for the rare case of programs that want all their backup file
22638         names to live within 8+3 limits, and dos.m4 doesn't address that.
22639         * modules/backupfile (Files): Remove m4/dos.m4.
22640
22641 2011-02-24  Jim Meyering  <meyering@redhat.com>
22642
22643         strstr: fix a bug whereby strstr would mistakenly return NULL
22644         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
22645         in period calculation.
22646         (two_way_long_needle): Likewise.
22647         The original problem was reported by Mike Stump in
22648         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
22649         Ralf Wildenhues provided the short needle and haystack.
22650         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
22651         Add a more involved test to trigger the bug in two_way_long_needle.
22652
22653 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
22654
22655         gnulib-tool: remove use of bold display in help screen
22656         * gnulib-tool (func_usage): Do not use bold display anymore in the
22657         help screen.  That was just meant to be a temporary emphasis for a
22658         backward-incompatible change.
22659
22660 2011-02-23  Bruno Haible  <bruno@clisp.org>
22661
22662         Fix misindentation of preprocessor directives.
22663         * lib/argp-namefrob.h: Reindent preprocessor directives.
22664         * lib/getopt_int.h (struct _getopt_data): Likewise.
22665         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
22666         * lib/vasnprintf.c (decode_long_double): Likewise.
22667         * tests/test-argmatch.c: Insert blank lines, for clarity.
22668         * tests/test-exclude.c: Likewise.
22669
22670 2011-02-22  Bruno Haible  <bruno@clisp.org>
22671
22672         ioctl: Fix for MacOS X in 64-bit mode.
22673         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
22674         value.
22675         Suggested by Eric Blake.
22676         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
22677
22678 2011-02-22  Jim Meyering  <meyering@redhat.com>
22679
22680         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
22681         * Makefile (sc_cpp_indent_check): Don't limit the check to files
22682         in lib/.
22683
22684 2011-02-22  Eric Blake  <eblake@redhat.com>
22685
22686         maint: avoid any CDPATH issue
22687         * Makefile (sc_cpp_indent_check): Anchor cd argument.
22688
22689         maint: adjust cpp indentation for my modules, as well
22690         * Makefile (sc_cpp_indent_check): Add my name.
22691         * lib/fbufmode.c: Filter through cppi.
22692         * lib/fpurge.c: Likewise.
22693         * lib/freadable.c: Likewise.
22694         * lib/freading.c: Likewise.
22695         * lib/fwritable.c: Likewise.
22696         * lib/fwriting.c: Likewise.
22697         * lib/sigaction.c: Likewise.
22698
22699 2011-02-22  Jim Meyering  <meyering@redhat.com>
22700
22701         maint: adjust cpp indentation to reflect nesting depth
22702         I.e., in a block of code that begins with an unnested "#if",
22703         put one space between the "#" in column 1 and following token.
22704         For example,
22705         -#include <sys/vfs.h>
22706         +# include <sys/vfs.h>
22707         Do this only in .c files that are part of a module I maintain.
22708         * lib/linkat.c: Filter through cppi.
22709         * lib/nanosleep.c: Likewise.
22710         * lib/openat.c: Likewise.
22711         * lib/openat-die.c: Likewise.
22712         * lib/dup3.c: Likewise.
22713         * lib/fchownat.c: Likewise.
22714         * lib/flock.c: Likewise.
22715         * lib/fsync.c: Likewise.
22716         * lib/fts.c: Likewise.
22717         * lib/getpass.c: Likewise.
22718         * lib/gettimeofday.c: Likewise.
22719         * lib/userspec.c: Likewise.
22720         * Makefile (sc_cpp_indent_check): New rule, to check this.
22721
22722 2011-02-22  Bruno Haible  <bruno@clisp.org>
22723
22724         New module 'wctomb'.
22725         * lib/stdlib.in.h (wctomb): New declaration.
22726         * lib/wctomb.c: New file.
22727         * lib/wctomb-impl.h: New file.
22728         * m4/wctomb.m4: New file.
22729         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
22730         REPLACE_WCTOMB.
22731         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
22732         REPLACE_WCTOMB.
22733         * modules/wctomb: New file.
22734         * tests/test-stdlib-c++.cc: Test signature of wctomb.
22735         * doc/posix-functions/wctomb.texi: Mention the new module.
22736         * modules/wctob (Depends-on): Add wctomb.
22737
22738 2011-02-22  Bruno Haible  <bruno@clisp.org>
22739
22740         New module 'mbtowc'.
22741         * lib/stdlib.in.h (mbtowc): New declaration.
22742         * lib/mbtowc.c: New file.
22743         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
22744         * m4/mbtowc.m4: New file.
22745         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
22746         REPLACE_MBTOWC.
22747         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
22748         REPLACE_MBTOWC.
22749         * modules/mbtowc: New file.
22750         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
22751         * doc/posix-functions/mbtowc.texi: Mention the new module.
22752         * modules/btowc (Depends-on): Add mbtowc.
22753
22754 2011-02-22  Bruno Haible  <bruno@clisp.org>
22755
22756         wcrtomb: Add more tests for native Windows platforms.
22757         * tests/test-wcrtomb-w32-1.sh: New file.
22758         * tests/test-wcrtomb-w32-2.sh: New file.
22759         * tests/test-wcrtomb-w32-3.sh: New file.
22760         * tests/test-wcrtomb-w32-4.sh: New file.
22761         * tests/test-wcrtomb-w32-5.sh: New file.
22762         * tests/test-wcrtomb-w32.c: New file.
22763         * modules/wcrtomb-tests (Files): Add them.
22764         (Makefile.am): Arrange to run these tests.
22765         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
22766         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
22767
22768 2011-02-20  Bruno Haible  <bruno@clisp.org>
22769
22770         wcrtomb: Enhance test.
22771         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
22772
22773 2011-02-20  Bruno Haible  <bruno@clisp.org>
22774
22775         mbrtowc: Tiny optimization.
22776         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
22777
22778 2011-02-20  Jim Meyering  <meyering@redhat.com>
22779
22780         test-exclude.c: remove unmatched #endif
22781         * tests/test-exclude.c: Remove stray #endif, left over from
22782         the change of a week ago.
22783
22784 2011-02-19  Jim Meyering  <meyering@redhat.com>
22785
22786         git-version-gen: skip "-dirty" check when appropriate
22787         * build-aux/git-version-gen: Don't run any git commands when the
22788         version string comes from .tarball-version.  Prior to this, we
22789         would run git update-index --refresh even from a just-unpacked
22790         tarball directory, and that could affect a .git/ directory in a
22791         parent of the build directory.  Reported by Mike Frysinger.
22792
22793 2011-02-19  Bruno Haible  <bruno@clisp.org>
22794
22795         unictype/property-byname: Reduce the size of the 'data' segment.
22796         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
22797
22798 2011-02-19  Bruno Haible  <bruno@clisp.org>
22799
22800         unictype/scripts: Reduce the size of the 'data' segment.
22801         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
22802         '%pic'.
22803         * lib/unictype/scripts_byname.gperf: Regenerated.
22804
22805 2011-02-19  Bruno Haible  <bruno@clisp.org>
22806
22807         stdint: Update documentation.
22808         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
22809
22810 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
22811
22812         stdint: omit redundant check for wchar.h
22813         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
22814         always tests whether wchar.h exists, so remove the now-redundant test.
22815
22816 2011-02-18  Bruno Haible  <bruno@clisp.org>
22817
22818         stdint: Cut dependency to module 'wchar'.
22819         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
22820         include the necessary prerequisites.
22821         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
22822         * modules/stdint (Depends-on): Remove wchar.
22823         (Makefile.am): Substitute HAVE_WCHAR_H.
22824         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
22825
22826 2011-02-18  Eric Blake  <eblake@redhat.com>
22827
22828         longlong: skip, rather than fail, on cross-compilation
22829         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
22830         when cross-compiling; regression from 2011-02-16.
22831
22832 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
22833
22834         * NEWS: Mention 2011-02-08 change to stdlib.
22835
22836 2011-02-17  Bruno Haible  <bruno@clisp.org>
22837
22838         getloadavg: Add comments about platforms.
22839         * m4/getloadavg.m4: Add comment.
22840         * lib/getloadavg.c: Likewise.
22841
22842 2011-02-17  Bruno Haible  <bruno@clisp.org>
22843
22844         getloadavg: Fix link error on Solaris 2.6.
22845         * modules/getloadavg (Link): New section.
22846         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
22847         linking test-getloadavg.
22848         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
22849         getloadavg.
22850
22851 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
22852
22853         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
22854         It was 'int', but this doesn't match the IRIX 6.5 manual.
22855         Suggested by Bruno Haible in
22856         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
22857
22858 2011-02-17  Bruno Haible  <bruno@clisp.org>
22859
22860         havelib: Fix comments.
22861         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
22862         change.
22863
22864 2011-02-17  Bruno Haible  <bruno@clisp.org>
22865
22866         havelib: Update config.rpath.
22867         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
22868
22869 2011-02-17  Bruno Haible  <bruno@clisp.org>
22870
22871         getloadavg test: Add some plausibility checks.
22872         * tests/test-getloadavg.c (check_avg): Print a warning when the value
22873         is improbable.
22874
22875 2011-02-16  Eric Blake  <eblake@redhat.com>
22876
22877         maintainer-makefile: make syntax-check a no-op from tarballs
22878         * top/maint.mk (no-vc-detected): New rule.
22879         (local-checks-available): Use it to avoid hanging if someone tries
22880         'make syntax-check' from a tarball.  Also append to any non-syntax
22881         checks already defined in cfg.mk.
22882
22883 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
22884
22885         longlong: tune, particularly for common case of c99
22886
22887         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
22888         or running anything if c99, or if unsigned long long int does not
22889         work.  In either case, we know the answer without further tests.
22890         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
22891         it at most once, and use its results for both long long int and
22892         unsigned long long int.  This is more likely to be efficient in
22893         the common case where the program wants to check for both long
22894         long int and unsigned long long int.
22895         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
22896         since the answer is already known.
22897
22898 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
22899
22900         getloadavg: set errno
22901         * lib/getloadavg.c: Set errno when returning -1.  If no other
22902         error number looks appropriate, set it to ENOSYS if the getloadavg
22903         looks like it can't possibly ever work, ENOTSUP otherwise.
22904         Suggested by Bruno Haible in
22905         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
22906
22907         getloadavg: trim unused parts and speed up 'configure'
22908         * NEWS: Document this.
22909         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
22910         always compiled if getloadavg is absent.
22911         Move test code to ...
22912         * tests/test-getloadavg.c: New file, containing previous
22913         contents of test from lib/getloadavg.c.  It also contains
22914         suggestions by Bruno Haible in
22915         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
22916         * modules/getloadavg-tests: New file.
22917         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
22918         Do tests in the same order as they're needed for getloadavg.c.
22919         Omit setgid-related tests that generate symbols KMEM_GROUP,
22920         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
22921         Do only the tests that are needed to see whether the system has
22922         getloadavg, moving the other tests into ...
22923         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
22924         NLIST_NAME_UNION; nobody should be using it.  Do not define
22925         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
22926         relevant, as the user of this module shouldn't care how getloadavg
22927         is implemented.
22928
22929         getloadavg: omit unused var
22930         * lib/getloadavg.c (getloadavg): Omit unused local variable.
22931
22932 2011-02-15  Jim Meyering  <meyering@redhat.com>
22933
22934         doc: update users.txt
22935         * users.txt: Update iwhd's URL.
22936
22937 2011-02-13  Bruno Haible  <bruno@clisp.org>
22938
22939         Consistent macro naming for macros that use GCC __attribute__.
22940         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
22941         _ATTRIBUTE_NONNULL_.
22942         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
22943         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
22944         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
22945         ATTRIBUTE_DEPRECATED.
22946         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
22947         ATTRIBUTE_NORETURN.
22948         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
22949         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
22950         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
22951         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
22952         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
22953         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
22954         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
22955         ATTRIBUTE_SENTINEL.
22956         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
22957         ATTRIBUTE_RETURN_CHECK.
22958         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
22959         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
22960         ATTRIBUTE_NORETURN.
22961         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
22962         Reported by Paul Eggert.
22963
22964 2011-02-13  Bruno Haible  <bruno@clisp.org>
22965
22966         Don't interfere with a program's definition of __attribute__.
22967         * lib/argp.h (__attribute__): Remove definition.
22968         (_GL_ATTRIBUTE_FORMAT): New macro.
22969         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
22970         * lib/argp-fmtstream.h (__attribute__): Remove definition.
22971         (_GL_ATTRIBUTE_FORMAT): New macro.
22972         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
22973         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
22974         GCC 3 or newer.
22975         * lib/error.h (__attribute__): Remove definition.
22976         (_GL_ATTRIBUTE_FORMAT): New macro.
22977         (error, error_at_line): Use it.
22978         * lib/hash.h (__attribute__): Remove definition.
22979         (ATTRIBUTE_WUR): Update definition. Define always.
22980         * lib/openat.h (__attribute__): Remove definition.
22981         (ATTRIBUTE_NORETURN): Update definition. Define always.
22982         * lib/sigpipe-die.h (__attribute__): Remove definition.
22983         (ATTRIBUTE_NORETURN): Update definition. Define always.
22984         * lib/vasnprintf.h (__attribute__): Remove definition.
22985         (_GL_ATTRIBUTE_FORMAT): New macro.
22986         (asnprintf, vasnprintf): Use it.
22987         * lib/xalloc.h (__attribute__): Remove definition.
22988         (ATTRIBUTE_NORETURN): Update definition. Define always.
22989         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
22990         * lib/xmemdup0.h (__attribute__): Remove definition.
22991         (ATTRIBUTE_NORETURN): Update definition. Define always.
22992         * lib/xprintf.h (__attribute__): Remove definition.
22993         (_GL_ATTRIBUTE_FORMAT): New macro.
22994         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
22995         * lib/xstrtol.h (__attribute__): Remove definition.
22996         (ATTRIBUTE_NORETURN): Update definition. Define always.
22997         * lib/xvasprintf.h (__attribute__): Remove definition.
22998         (_GL_ATTRIBUTE_FORMAT): New macro.
22999         (xasprintf, xvasprintf): Use it.
23000         * tests/test-argmatch.c (__attribute__): Remove definition.
23001         (ATTRIBUTE_NORETURN): Update definition. Define always.
23002         * tests/test-exclude.c (__attribute__): Remove definition.
23003         (ATTRIBUTE_NORETURN): Update definition. Define always.
23004         Reported by Paul Eggert.
23005
23006 2011-02-13  Bruno Haible  <bruno@clisp.org>
23007
23008         mbrtowc: Add more tests for native Windows platforms.
23009         * tests/test-mbrtowc-w32-1.sh: New file.
23010         * tests/test-mbrtowc-w32-2.sh: New file.
23011         * tests/test-mbrtowc-w32-3.sh: New file.
23012         * tests/test-mbrtowc-w32-4.sh: New file.
23013         * tests/test-mbrtowc-w32-5.sh: New file.
23014         * tests/test-mbrtowc-w32.c: New file.
23015         * modules/mbrtowc-tests (Files): Add them.
23016         (Makefile.am): Arrange to run these tests.
23017         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
23018         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
23019
23020 2011-02-13  Bruno Haible  <bruno@clisp.org>
23021
23022         mbrtowc: Work around native Windows bug.
23023         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
23024         guess when no suitable locale for testing was found.
23025         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
23026
23027 2011-02-13  Bruno Haible  <bruno@clisp.org>
23028
23029         mbsinit: Work around mingw bug.
23030         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
23031         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
23032         Windows.
23033         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
23034
23035 2011-02-13  Bruno Haible  <bruno@clisp.org>
23036
23037         mbsinit: Don't crash for a NULL argument.
23038         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
23039         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
23040
23041 2011-02-13  Bruno Haible  <bruno@clisp.org>
23042
23043         Don't interfere with a program's definition of __attribute__.
23044         * lib/stdio.in.h (__attribute__): Remove definition.
23045         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
23046         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
23047         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
23048         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
23049         * lib/string.in.h (__attribute__): Remove definition.
23050         Reported by Paul Eggert.
23051
23052 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
23053
23054         stdlib: don't get in the way of non-GCC __attribute__
23055         See thread starting at
23056         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
23057         Revert previous stdlib change, installing the following instead:
23058         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
23059         to get in the way of a non-GCC compiler that supports __attribute__.
23060         (_GL_ATTRIBUTE_RETURN): New macro.
23061         (_Exit): Use it instead of __attribute__.
23062
23063 2011-02-12  Bruno Haible  <bruno@clisp.org>
23064
23065         quotearg test: Avoid test failure on mingw.
23066         * tests/test-quotearg.sh: Convert the locale identifier from native
23067         Windows syntax to Unix syntax.
23068
23069 2011-02-12  Bruno Haible  <bruno@clisp.org>
23070
23071         setlocale: Prefer gnulib's override over libintl's override.
23072         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
23073         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
23074         GNULIB_defined_setlocale is set.
23075
23076 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
23077
23078         stdlib: support non-GCC __attribute__
23079
23080         Fix a serious and tricky problem encountered when attempting to
23081         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
23082         5.5, but it crashed due to memory corruption on Solaris 10 with
23083         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
23084         bits that are otherwise zero.  This tagging is optional inside
23085         Emacs but is preferred and is used when __attribute__ ((__aligned
23086         (8))) works, as it does with both recent-enough GCC and with Sun C
23087         5.11.  However, Sun C 5.11 is not GCC and does not #define
23088         __GNUC__ and __GNUC_MINOR__.
23089
23090         When I added the getloadavg module to Emacs, it brought in
23091         stdlib.in.h, which contained this fragment:
23092
23093            #ifndef __attribute__
23094            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
23095            #  define __attribute__(Spec)   /* empty */
23096            # endif
23097            #endif
23098
23099         When files that include <stdlib.h> were compiled with Sun C 5.11,
23100         the above code disabled __attribute__ ((__aligned (8))), which
23101         caused variables to not be properly aligned, which eventually led
23102         to the pointer corruption mentioned above.  (This was a bit hard
23103         to diagnose, unfortunately.)
23104
23105         Several "#define __attribute__(X) /* empty */" code snippets need
23106         to be eradicated from Gnulib to work with non-GCC compilers that
23107         support __attribute__.  The Autoconf way to do this is to test for
23108         each kind of attribute that we want support for, and selectively
23109         enable that in source code.
23110
23111         Fix this problem just for stdlib.h, by adding a test for the
23112         __noreturn__ attribute, and change stdlib.in.h to use that test
23113         when needed.  This technique can be easily generalized to the
23114         other *.in.h files and attributes, and a similar technique can be
23115         used for *.h and *.c files.  This patch is enough to solve the
23116         problem for Emacs + getloadavg, and I thought I'd publish it for
23117         feedback before undertaking further, similar fixes in other
23118         modules.
23119
23120         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
23121         because it's not needed for stdlib.h.  It merely substitutes the
23122         value directly into stdlib.h.  We may well need to #define it, or
23123         similar symbols, for other modules, but it's nice to also have an
23124         option to not #define it for applications like Emacs that do not
23125         need it.
23126
23127         * lib/stdlib.in.h (__attribute__): Do not #define.
23128         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
23129         be defined only if the _Exit module is also used.
23130         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
23131         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
23132         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
23133         platforms.
23134         * modules/_Exit (Files): Add m4/attribute.m4.
23135         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
23136         * m4/attribute.m4: New file.
23137
23138 2011-02-12  Bruno Haible  <bruno@clisp.org>
23139
23140         wcsrtombs: Work around bug on native Windows.
23141         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
23142         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
23143         instead of len.
23144         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
23145
23146 2011-02-12  Bruno Haible  <bruno@clisp.org>
23147
23148         mbsrtowcs: Work around bug on native Windows.
23149         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
23150         against mingw bug.
23151         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
23152
23153 2011-02-12  Bruno Haible  <bruno@clisp.org>
23154
23155         Avoid setlocale bugs in tests.
23156         * modules/btowc (Dependencies): Add setlocale.
23157         * modules/c-strcase (Dependencies): Likewise.
23158         * modules/mbmemcasecmp (Dependencies): Likewise.
23159         * modules/mbmemcasecoll (Dependencies): Likewise.
23160         * modules/mbrtowc (Dependencies): Likewise.
23161         * modules/mbscasecmp (Dependencies): Likewise.
23162         * modules/mbscasestr (Dependencies): Likewise.
23163         * modules/mbschr (Dependencies): Likewise.
23164         * modules/mbscspn (Dependencies): Likewise.
23165         * modules/mbsinit (Dependencies): Likewise.
23166         * modules/mbsncasecmp (Dependencies): Likewise.
23167         * modules/mbsnrtowcs (Dependencies): Likewise.
23168         * modules/mbspbrk (Dependencies): Likewise.
23169         * modules/mbspcasecmp (Dependencies): Likewise.
23170         * modules/mbsrchr (Dependencies): Likewise.
23171         * modules/mbsrtowcs (Dependencies): Likewise.
23172         * modules/mbsspn (Dependencies): Likewise.
23173         * modules/mbsstr (Dependencies): Likewise.
23174         * modules/nl_langinfo (Dependencies): Likewise.
23175         * modules/quotearg (Dependencies): Likewise.
23176         * modules/unicase/locale-language (Dependencies): Likewise.
23177         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
23178         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
23179         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
23180         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
23181         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
23182         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
23183         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
23184         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
23185         * modules/vasnprintf-posix (Dependencies): Likewise.
23186         * modules/wcrtomb (Dependencies): Likewise.
23187         * modules/wcsnrtombs (Dependencies): Likewise.
23188         * modules/wcsrtombs (Dependencies): Likewise.
23189
23190 2011-02-12  Bruno Haible  <bruno@clisp.org>
23191
23192         setlocale: Workaround native Windows bug.
23193         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
23194         succeeds but sets LC_CTYPE to "C", report a failure.
23195         * tests/test-setlocale2.sh: New file.
23196         * tests/test-setlocale2.c: New file.
23197         * modules/setlocale-tests (Files): Add the new files.
23198         (Makefile.am): Enable test-setlocale2.sh test.
23199         * doc/posix-functions/setlocale.texi: Mention workaround.
23200
23201 2011-02-11  Bruno Haible  <bruno@clisp.org>
23202
23203         Tests for module 'setlocale'.
23204         * modules/setlocale-tests: New file.
23205         * tests/test-setlocale1.sh: New file.
23206         * tests/test-setlocale1.c: New file.
23207
23208         New module 'setlocale'.
23209         * lib/locale.in.h (setlocale): New declaration.
23210         * lib/setlocale.c: New file, based on
23211         gettext/gettext-runtime/intl/setlocale.c.
23212         * m4/setlocale.m4: New file.
23213         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
23214         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
23215         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
23216         REPLACE_SETLOCALE.
23217         * modules/setlocale: New file.
23218         * tests/test-locale-c++.cc: Test the declaration of setlocale.
23219         * doc/posix-functions/setlocale.texi: Mention the new module.
23220
23221 2011-02-11  Bruno Haible  <bruno@clisp.org>
23222
23223         Prepare for locale dependent tests on mingw.
23224         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
23225         because it has the wrong locale encoding.
23226         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
23227         French_France.1252 instead of "fr".
23228         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
23229         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
23230         because it has the wrong locale encoding.
23231         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
23232         native Windows, try Turkish_Turkey.65001.
23233         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
23234         Chinese_China.54936.
23235
23236         Prepare for locale dependent tests on mingw.
23237         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
23238         differently.
23239         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
23240         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
23241         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
23242         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
23243
23244 2011-02-11  Eric Blake  <eblake@redhat.com>
23245
23246         strptime: avoid compiler warnings
23247         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
23248         compiler warnings about dead code.
23249         Reported by Daniel P. Berrange.
23250
23251 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
23252
23253         doc: update users.txt
23254         * users.txt: Add rcs.
23255
23256 2011-02-10  John W. Eaton  <jwe@gnu.org>
23257
23258         doc: update users.txt
23259         * users.txt: Add octave.
23260
23261 2011-02-10  Jim Meyering  <meyering@redhat.com>
23262
23263         doc: update users.txt
23264         * users.txt: Add iwhd.
23265
23266 2011-02-09  Bruno Haible  <bruno@clisp.org>
23267
23268         gnulib-tool: Make copyright notice adjustment more robust.
23269         * gnulib-tool (func_import): In sed_transform_main_lib_file,
23270         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
23271         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
23272         License".
23273         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
23274
23275 2011-02-06  Bruno Haible  <bruno@clisp.org>
23276
23277         New module 'towctrans'.
23278         * modules/towctrans: New file.
23279         * lib/wctype.in.h (towctrans): New declaration.
23280         * lib/towctrans.c: New file.
23281         * lib/towctrans-impl.h: New file.
23282         * m4/towctrans.m4: New file.
23283         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
23284         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
23285         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
23286         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
23287         * doc/posix-functions/towctrans.texi: Mention the new module.
23288
23289 2011-02-06  Bruno Haible  <bruno@clisp.org>
23290
23291         New module 'wctrans'.
23292         * modules/wctrans: New file.
23293         * lib/wctype.in.h (wctrans): New declaration.
23294         * lib/wctrans.c: New file.
23295         * lib/wctrans-impl.h: New file.
23296         * m4/wctrans.m4: New file.
23297         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
23298         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
23299         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
23300         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
23301         * doc/posix-functions/wctrans.texi: Mention the new module.
23302
23303 2011-02-06  Bruno Haible  <bruno@clisp.org>
23304
23305         New module 'iswctype'.
23306         * modules/iswctype: New file.
23307         * lib/wctype.in.h (iswctype): New declaration.
23308         * lib/iswctype.c: New file.
23309         * lib/iswctype-impl.h: New file.
23310         * m4/iswctype.m4: New file.
23311         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
23312         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
23313         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
23314         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
23315         * doc/posix-functions/iswctype.texi: Mention the new module and the
23316         HP-UX 11.00 problem.
23317
23318 2011-02-06  Bruno Haible  <bruno@clisp.org>
23319
23320         New module 'wctype'.
23321         * modules/wctype: Change to represent the wctype() substitute.
23322         * lib/wctype.in.h (wctype): New declaration.
23323         * lib/wctype.c: New file.
23324         * lib/wctype-impl.h: New file.
23325         * m4/wctype.m4: New file.
23326         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
23327         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
23328         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
23329         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
23330         * doc/posix-functions/wctype.texi: Mention the new module and the
23331         HP-UX 11.00 problem.
23332
23333 2011-02-06  Bruno Haible  <bruno@clisp.org>
23334
23335         wctype-h: Ensure wctype_t and wctrans_t are defined.
23336         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
23337         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
23338         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
23339         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
23340         HAVE_WCTRANS_T.
23341         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
23342
23343 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
23344
23345         flock: fix license typo
23346
23347         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
23348         omitted.
23349
23350 2011-02-08  Bruno Haible  <bruno@clisp.org>
23351
23352         Split large sed scripts, for HP-UX sed.
23353         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
23354         to avoid HP-UX limit of 99 commands, in the near future.
23355         * modules/stdlib (Makefile.am): Likewise.
23356         * modules/unistd (Makefile.am): Likewise.
23357         * modules/wchar (Makefile.am): Likewise.
23358         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
23359         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
23360         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
23361
23362 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
23363             Bruno Haible  <bruno@clisp.org>
23364
23365         stdlib: improve random_r modularization
23366         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
23367         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
23368         you also need the random_r module to get this material right.
23369         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
23370         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
23371         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
23372
23373 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
23374
23375         stdlib: don't depend on stdint
23376         * lib/stdlib.in.h: Don't include <stdint.h> merely because
23377         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
23378         be independent of whether stdint.h is needed.
23379         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
23380         here, instead of ...
23381         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
23382         struct random_data should be using the random_r module, not just
23383         the stdlib module (which wouldn't make sense: what package needs
23384         just struct random_data without also needing random_r?).
23385         * modules/stdlib (Depends-on): Remove stdint.
23386
23387         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
23388         See the thread rooted at
23389         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
23390         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
23391         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
23392         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
23393         __VMS)); previously it was always included (via fcntl--.h).
23394         (getloadavg): Do not use c_strtod.  Instead, approximate it by
23395         hand; this is good enough for load averages.  Also, do not use
23396         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
23397         flags directly if available and don't bother otherwise.  (Packages
23398         that need the extra reliability should use the modules that define
23399         these flags on older platforms that lack them.)
23400         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
23401         fcntl-safer.
23402
23403 2011-02-08  Jim Meyering  <meyering@redhat.com>
23404
23405         di-set.h, ino-map.h: add multiple-inclusion guard
23406         Technically, the guard is required only for ino-map.h, due to its
23407         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
23408         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
23409         * lib/ino-map.h: Likewise.
23410
23411 2011-02-06  Bruno Haible  <bruno@clisp.org>
23412
23413         iswblank: Ensure declaration on glibc systems.
23414         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
23415         * modules/iswblank (Dependencies): Add 'extensions'.
23416         * doc/posix-functions/iswblank.texi: Document the glibc problem.
23417
23418 2011-02-06  Bruno Haible  <bruno@clisp.org>
23419
23420         New module 'iswblank'.
23421         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
23422         * modules/iswblank: New file.
23423         * modules/wctype-h (Files): Remove lib/iswblank.c.
23424         (Makefile.am): Substitute GNULIB_ISWBLANK.
23425         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
23426         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
23427         (gl_WCTYPE_H_DEFAULTS): New macro.
23428         (gl_WCTYPE_H): Require it. Remove iswblank related code.
23429         * modules/iswblank-tests: New file.
23430         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
23431         * tests/test-wctype-h.c (main): Remove iswblank tests.
23432         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
23433         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
23434         of 'wctype-h'.
23435         * NEWS: Mention the change.
23436         * modules/mbchar (Depends-on): Add iswblank.
23437
23438 2011-02-08  Bruno Haible  <bruno@clisp.org>
23439
23440         di-set tests: Refactor.
23441         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
23442         unnecessary includes.
23443         (ASSERT): Remove macro.
23444         (main): Make C90 compliant by avoiding variable declaration after
23445         statement.
23446         * modules/di-set-tests (Files): Add tests/macros.h.
23447
23448 2011-02-08  Bruno Haible  <bruno@clisp.org>
23449
23450         ino-map tests: Refactor.
23451         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
23452         unnecessary includes.
23453         (ASSERT): Remove macro.
23454         (main): Make C90 compliant by avoiding variable declaration after
23455         statement.
23456         * modules/ino-map-tests (Files): Add tests/macros.h.
23457
23458 2011-02-08  Jim Meyering  <meyering@redhat.com>
23459
23460         di-set: add "const" to a cast
23461         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
23462         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
23463
23464 2011-02-06  Bruno Haible  <bruno@clisp.org>
23465
23466         Rename module 'wctype' to 'wctype-h'.
23467         * modules/wctype-h: Renamed from modules/wctype.
23468         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
23469         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
23470         (Files, Depends-on, Makefile.am): Update.
23471         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
23472         (Files, Makefile.am): Update.
23473         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
23474         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
23475         * doc/posix-headers/wctype.texi: Update.
23476         * doc/posix-functions/iswalnum.texi: Update.
23477         * doc/posix-functions/iswalpha.texi: Update.
23478         * doc/posix-functions/iswblank.texi: Update.
23479         * doc/posix-functions/iswcntrl.texi: Update.
23480         * doc/posix-functions/iswdigit.texi: Update.
23481         * doc/posix-functions/iswgraph.texi: Update.
23482         * doc/posix-functions/iswlower.texi: Update.
23483         * doc/posix-functions/iswprint.texi: Update.
23484         * doc/posix-functions/iswpunct.texi: Update.
23485         * doc/posix-functions/iswspace.texi: Update.
23486         * doc/posix-functions/iswupper.texi: Update.
23487         * doc/posix-functions/iswxdigit.texi: Update.
23488         * doc/posix-functions/towlower.texi: Update.
23489         * doc/posix-functions/towupper.texi: Update.
23490         * NEWS: Mention the change.
23491         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
23492         * modules/mbchar (Dependencies): Likewise.
23493         * modules/mbswidth (Dependencies): Likewise.
23494         * modules/quotearg (Dependencies): Likewise.
23495         * modules/regex (Dependencies): Likewise.
23496         * modules/wcscasecmp (Dependencies): Likewise.
23497         * modules/wcsncasecmp (Dependencies): Likewise.
23498         * modules/wcwidth (Dependencies): Likewise.
23499
23500 2011-02-06  Bruno Haible  <bruno@clisp.org>
23501
23502         New module 'wcswidth'.
23503         * modules/wcswidth: New file.
23504         * lib/wchar.in.h (wcswidth): New declaration.
23505         * lib/wcswidth.c: New file.
23506         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
23507         * m4/wcswidth.m4: New file.
23508         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
23509         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
23510         REPLACE_WCSWIDTH.
23511         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
23512         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
23513         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
23514         * doc/posix-functions/wcswidth.texi: Mention the new module.
23515
23516 2011-02-06  Bruno Haible  <bruno@clisp.org>
23517
23518         New module 'wcstok'.
23519         * modules/wcstok: New file.
23520         * lib/wchar.in.h (wcstok): New declaration.
23521         * lib/wcstok.c: New file.
23522         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
23523         * m4/wcstok.m4: New file.
23524         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
23525         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
23526         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
23527         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
23528         * doc/posix-functions/wcstok.texi: Mention the new module.
23529
23530 2011-02-06  Bruno Haible  <bruno@clisp.org>
23531
23532         New module 'wcsstr'.
23533         * modules/wcsstr: New file.
23534         * lib/wchar.in.h (wcsstr): New declaration.
23535         * lib/wcsstr.c: New file.
23536         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
23537         * m4/wcsstr.m4: New file.
23538         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
23539         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
23540         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
23541         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
23542         * doc/posix-functions/wcsstr.texi: Mention the new module.
23543
23544 2011-02-06  Bruno Haible  <bruno@clisp.org>
23545
23546         New module 'wcspbrk'.
23547         * modules/wcspbrk: New file.
23548         * lib/wchar.in.h (wcspbrk): New declaration.
23549         * lib/wcspbrk.c: New file.
23550         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
23551         * m4/wcspbrk.m4: New file.
23552         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
23553         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
23554         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
23555         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
23556         * doc/posix-functions/wcspbrk.texi: Mention the new module.
23557
23558 2011-02-06  Bruno Haible  <bruno@clisp.org>
23559
23560         New module 'wcsspn'.
23561         * modules/wcsspn: New file.
23562         * lib/wchar.in.h (wcsspn): New declaration.
23563         * lib/wcsspn.c: New file.
23564         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
23565         * m4/wcsspn.m4: New file.
23566         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
23567         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
23568         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
23569         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
23570         * doc/posix-functions/wcsspn.texi: Mention the new module.
23571
23572 2011-02-06  Bruno Haible  <bruno@clisp.org>
23573
23574         New module 'wcscspn'.
23575         * modules/wcscspn: New file.
23576         * lib/wchar.in.h (wcscspn): New declaration.
23577         * lib/wcscspn.c: New file.
23578         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
23579         * m4/wcscspn.m4: New file.
23580         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
23581         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
23582         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
23583         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
23584         * doc/posix-functions/wcscspn.texi: Mention the new module.
23585
23586 2011-02-06  Bruno Haible  <bruno@clisp.org>
23587
23588         New module 'wcsrchr'.
23589         * modules/wcsrchr: New file.
23590         * lib/wchar.in.h (wcsrchr): New declaration.
23591         * lib/wcsrchr.c: New file.
23592         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
23593         * m4/wcsrchr.m4: New file.
23594         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
23595         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
23596         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
23597         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
23598         * doc/posix-functions/wcsrchr.texi: Mention the new module.
23599
23600 2011-02-06  Bruno Haible  <bruno@clisp.org>
23601
23602         New module 'wcschr'.
23603         * modules/wcschr: New file.
23604         * lib/wchar.in.h (wcschr): New declaration.
23605         * lib/wcschr.c: New file.
23606         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
23607         * m4/wcschr.m4: New file.
23608         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
23609         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
23610         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
23611         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
23612         * doc/posix-functions/wcschr.texi: Mention the new module.
23613
23614 2011-02-06  Bruno Haible  <bruno@clisp.org>
23615
23616         New module 'wcsdup'.
23617         * modules/wcsdup: New file.
23618         * lib/wchar.in.h (wcsdup): New declaration.
23619         * lib/wcsdup.c: New file.
23620         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
23621         * m4/wcsdup.m4: New file.
23622         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
23623         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
23624         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
23625         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
23626         * doc/posix-functions/wcsdup.texi: Mention the new module.
23627
23628 2011-02-06  Bruno Haible  <bruno@clisp.org>
23629
23630         New module 'wcsxfrm'.
23631         * modules/wcsxfrm: New file.
23632         * lib/wchar.in.h (wcsxfrm): New declaration.
23633         * lib/wcsxfrm.c: New file.
23634         * lib/wcsxfrm-impl.h: New file.
23635         * m4/wcsxfrm.m4: New file.
23636         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
23637         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
23638         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
23639         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
23640         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
23641
23642 2011-02-06  Bruno Haible  <bruno@clisp.org>
23643
23644         New module 'wcscoll'.
23645         * modules/wcscoll: New file.
23646         * lib/wchar.in.h (wcscoll): New declaration.
23647         * lib/wcscoll.c: New file.
23648         * lib/wcscoll-impl.h: New file.
23649         * m4/wcscoll.m4: New file.
23650         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
23651         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
23652         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
23653         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
23654         * doc/posix-functions/wcscoll.texi: Mention the new module.
23655
23656 2011-02-06  Bruno Haible  <bruno@clisp.org>
23657
23658         New module 'wcsncasecmp'.
23659         * modules/wcsncasecmp: New file.
23660         * lib/wchar.in.h (wcsncasecmp): New declaration.
23661         * lib/wcsncasecmp.c: New file.
23662         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
23663         * m4/wcsncasecmp.m4: New file.
23664         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
23665         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
23666         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
23667         HAVE_WCSNCASECMP.
23668         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
23669         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
23670
23671 2011-02-06  Bruno Haible  <bruno@clisp.org>
23672
23673         New module 'wcscasecmp'.
23674         * modules/wcscasecmp: New file.
23675         * lib/wchar.in.h (wcscasecmp): New declaration.
23676         * lib/wcscasecmp.c: New file.
23677         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
23678         * m4/wcscasecmp.m4: New file.
23679         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
23680         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
23681         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
23682         HAVE_WCSCASECMP.
23683         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
23684         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
23685
23686 2011-02-05  Bruno Haible  <bruno@clisp.org>
23687
23688         New module 'wcsncmp'.
23689         * modules/wcsncmp: New file.
23690         * lib/wchar.in.h (wcsncmp): New declaration.
23691         * lib/wcsncmp.c: New file.
23692         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
23693         * m4/wcsncmp.m4: New file.
23694         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
23695         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
23696         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
23697         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
23698         * doc/posix-functions/wcsncmp.texi: Mention the new module.
23699
23700 2011-02-05  Bruno Haible  <bruno@clisp.org>
23701
23702         New module 'wcscmp'.
23703         * modules/wcscmp: New file.
23704         * lib/wchar.in.h (wcscmp): New declaration.
23705         * lib/wcscmp.c: New file.
23706         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
23707         * m4/wcscmp.m4: New file.
23708         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
23709         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
23710         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
23711         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
23712         * doc/posix-functions/wcscmp.texi: Mention the new module.
23713
23714 2011-02-05  Bruno Haible  <bruno@clisp.org>
23715
23716         New module 'wcsncat'.
23717         * modules/wcsncat: New file.
23718         * lib/wchar.in.h (wcsncat): New declaration.
23719         * lib/wcsncat.c: New file.
23720         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
23721         * m4/wcsncat.m4: New file.
23722         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
23723         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
23724         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
23725         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
23726         * doc/posix-functions/wcsncat.texi: Mention the new module.
23727
23728 2011-02-05  Bruno Haible  <bruno@clisp.org>
23729
23730         New module 'wcscat'.
23731         * modules/wcscat: New file.
23732         * lib/wchar.in.h (wcscat): New declaration.
23733         * lib/wcscat.c: New file.
23734         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
23735         * m4/wcscat.m4: New file.
23736         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
23737         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
23738         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
23739         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
23740         * doc/posix-functions/wcscat.texi: Mention the new module.
23741
23742 2011-02-05  Bruno Haible  <bruno@clisp.org>
23743
23744         New module 'wcpncpy'.
23745         * modules/wcpncpy: New file.
23746         * lib/wchar.in.h (wcpncpy): New declaration.
23747         * lib/wcpncpy.c: New file.
23748         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
23749         * m4/wcpncpy.m4: New file.
23750         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
23751         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
23752         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
23753         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
23754         * doc/posix-functions/wcpncpy.texi: Mention the new module.
23755
23756 2011-02-05  Bruno Haible  <bruno@clisp.org>
23757
23758         New module 'wcsncpy'.
23759         * modules/wcsncpy: New file.
23760         * lib/wchar.in.h (wcsncpy): New declaration.
23761         * lib/wcsncpy.c: New file.
23762         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
23763         * m4/wcsncpy.m4: New file.
23764         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
23765         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
23766         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
23767         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
23768         * doc/posix-functions/wcsncpy.texi: Mention the new module.
23769
23770 2011-02-05  Bruno Haible  <bruno@clisp.org>
23771
23772         New module 'wcpcpy'.
23773         * modules/wcpcpy: New file.
23774         * lib/wchar.in.h (wcpcpy): New declaration.
23775         * lib/wcpcpy.c: New file.
23776         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
23777         * m4/wcpcpy.m4: New file.
23778         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
23779         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
23780         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
23781         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
23782         * doc/posix-functions/wcpcpy.texi: Mention the new module.
23783
23784 2011-02-05  Bruno Haible  <bruno@clisp.org>
23785
23786         New module 'wcscpy'.
23787         * modules/wcscpy: New file.
23788         * lib/wchar.in.h (wcscpy): New declaration.
23789         * lib/wcscpy.c: New file.
23790         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
23791         * m4/wcscpy.m4: New file.
23792         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
23793         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
23794         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
23795         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
23796         * doc/posix-functions/wcscpy.texi: Mention the new module.
23797
23798 2011-02-05  Bruno Haible  <bruno@clisp.org>
23799
23800         New module 'wcsnlen'.
23801         * modules/wcsnlen: New file.
23802         * lib/wchar.in.h (wcsnlen): New declaration.
23803         * lib/wcsnlen.c: New file.
23804         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
23805         * m4/wcsnlen.m4: New file.
23806         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
23807         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
23808         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
23809         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
23810         * doc/posix-functions/wcsnlen.texi: Mention the new module.
23811
23812 2011-02-05  Bruno Haible  <bruno@clisp.org>
23813
23814         New module 'wcslen'.
23815         * modules/wcslen: New file.
23816         * lib/wchar.in.h (wcslen): New declaration.
23817         * lib/wcslen.c: New file.
23818         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
23819         * m4/wcslen.m4: New file.
23820         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
23821         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
23822         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
23823         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
23824         * doc/posix-functions/wcslen.texi: Mention the new module.
23825
23826 2011-02-05  Bruno Haible  <bruno@clisp.org>
23827
23828         New module 'wmemset'.
23829         * modules/wmemset: New file.
23830         * lib/wchar.in.h (wmemset): New declaration.
23831         * lib/wmemset.c: New file.
23832         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
23833         * m4/wmemset.m4: New file.
23834         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
23835         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
23836         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
23837         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
23838         * doc/posix-functions/wmemset.texi: Mention the new module.
23839
23840 2011-02-05  Bruno Haible  <bruno@clisp.org>
23841
23842         New module 'wmemmove'.
23843         * modules/wmemmove: New file.
23844         * lib/wchar.in.h (wmemmove): New declaration.
23845         * lib/wmemmove.c: New file.
23846         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
23847         * m4/wmemmove.m4: New file.
23848         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
23849         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
23850         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
23851         HAVE_WMEMMOVE.
23852         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
23853         * doc/posix-functions/wmemmove.texi: Mention the new module.
23854
23855 2011-02-05  Bruno Haible  <bruno@clisp.org>
23856
23857         New module 'wmemcpy'.
23858         * modules/wmemcpy: New file.
23859         * lib/wchar.in.h (wmemcpy): New declaration.
23860         * lib/wmemcpy.c: New file.
23861         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
23862         * m4/wmemcpy.m4: New file.
23863         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
23864         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
23865         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
23866         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
23867         * doc/posix-functions/wmemcpy.texi: Mention the new module.
23868
23869 2011-02-05  Bruno Haible  <bruno@clisp.org>
23870
23871         New module 'wmemcmp'.
23872         * modules/wmemcmp: New file.
23873         * lib/wchar.in.h (wmemcmp): New declaration.
23874         * lib/wmemcmp.c: New file.
23875         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
23876         * m4/wmemcmp.m4: New file.
23877         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
23878         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
23879         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
23880         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
23881         * doc/posix-functions/wmemcmp.texi: Mention the new module.
23882
23883 2011-02-07  Jim Meyering  <meyering@redhat.com>
23884
23885         di-set, ino-map: new modules, from coreutils
23886         * lib/di-set.c: New file.
23887         * lib/di-set.h: Likewise.
23888         * lib/ino-map.c: Likewise.
23889         * lib/ino-map.h: Likewise.
23890         * modules/di-set: Likewise.
23891         * modules/di-set-tests: Likewise.
23892         * modules/ino-map: Likewise.
23893         * modules/ino-map-tests: Likewise.
23894         * tests/test-di-set.c: Likewise.
23895         * tests/test-ino-map.c: Likewise.
23896
23897 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
23898
23899         getloadavg: merge minor changes from Emacs
23900
23901         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
23902         (getloadavg): Use memset, not bzero.
23903
23904         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
23905         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
23906         clash (bug#86).
23907
23908 2010-11-14  Bruno Haible  <bruno@clisp.org>
23909
23910         Allow multiple gnulib generated replacements to coexist.
23911         * lib/getopt.in.h (struct option): Avoid identical redefinition.
23912         * lib/inttypes.in.h (imaxdiv_t): Likewise.
23913         * lib/langinfo.in.h (nl_item): Likewise.
23914         * lib/math.in.h (_NaN, NAN): Likewise.
23915         * lib/netdb.in.h (struct addrinfo): Likewise.
23916         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
23917         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
23918         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
23919         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
23920         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
23921         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
23922         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
23923         pthread_mutexattr_init, pthread_mutexattr_settype,
23924         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
23925         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
23926         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
23927         pthread_spin_trylock, pthread_spin_unlock): Likewise.
23928         * lib/sched.in.h (struct sched_param): Likewise.
23929         * lib/se-selinux.in.h (security_class_t, security_context_t,
23930         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
23931         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
23932         lsetfilecon, fsetfilecon, security_check_context,
23933         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
23934         Likewise.
23935         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
23936         Likewise.
23937         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
23938         _gl_function_taking_int_returning_void_t, union sigval,
23939         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
23940         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
23941         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
23942         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
23943         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
23944         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
23945         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
23946         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
23947         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
23948         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
23949         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
23950         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
23951         socklen_t, rpl_fd_isset): Likewise.
23952         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
23953         * lib/sys_time.in.h (struct timeval): Likewise.
23954         * lib/sys_times.in.h (struct tms): Likewise.
23955         * lib/sys_utsname.in.h (struct utsname):
23956         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
23957         * lib/unistd.in.h (getpagesize): Likewise.
23958         * lib/wchar.in.h (mbstate_t): Likewise.
23959         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
23960         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
23961         towlower, towupper): Likewise.
23962         Reported by Sam Steingold <sds@gnu.org>.
23963
23964 2011-02-05  Eric Blake  <eblake@redhat.com>
23965
23966         unsetenv: work around Haiku issues
23967         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
23968         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
23969
23970 2010-12-30  Bruce Korb  <bkorb@gnu.org>
23971
23972         libposix: avoid calling error() within libposix
23973         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
23974         is defined.
23975
23976 2011-02-05  Eric Blake  <eblake@redhat.com>
23977
23978         strerror_r-posix: port to cygwin
23979         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
23980         implementation.
23981         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
23982         * tests/test-strerror_r.c (main): Fix test.
23983         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
23984         issue.
23985
23986 2011-02-05  Bruno Haible  <bruno@clisp.org>
23987
23988         New module 'wmemchr'.
23989         * modules/wmemchr: New file.
23990         * lib/wchar.in.h (wmemchr): New declaration.
23991         * lib/wmemchr.c: New file.
23992         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
23993         * m4/wmemchr.m4: New file.
23994         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
23995         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
23996         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
23997         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
23998         * doc/posix-functions/wmemchr.texi: Mention the new module.
23999
24000 2011-02-04  Eric Blake  <eblake@redhat.com>
24001
24002         fdopendir: detect FreeBSD bug
24003         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
24004         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
24005
24006 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
24007
24008         stdbool: do not define HAVE_STDBOOL_H
24009         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
24010         AC_HEADER_STDBOOL.  All uses changed.  Do not define
24011         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
24012         imported from the latest Autoconf git.  It was motivated by Emacs,
24013         which uses gnulib but does not need HAVE_STDBOOL_H.
24014
24015 2011-02-04  Bruno Haible  <bruno@clisp.org>
24016
24017         wcsnrtombs: Prepare for new module wwcsnrtombs.
24018         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
24019         * lib/wcsnrtombs.c: Include it.
24020         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
24021
24022         wcsrtombs: Prepare for new module wwcsrtombs.
24023         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
24024         * lib/wcsrtombs.c: Include it.
24025         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
24026
24027         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
24028         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
24029         * lib/mbsnrtowcs.c: Include it.
24030         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
24031
24032         mbsrtowcs: Prepare for new module mbsrtowwcs.
24033         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
24034         * lib/mbsrtowcs.c: Include it.
24035         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
24036
24037 2011-02-04  Bruno Haible  <bruno@clisp.org>
24038
24039         vasnprintf: Reduce use of malloc for small format strings.
24040         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
24041         (arguments): Add room for the first 7 arguments.
24042         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
24043         (char_directives, u8_directives, u16_directives, u32_directives): Add
24044         room for the first 7 directives.
24045         * lib/printf-parse.c: Include <string.h>.
24046         (PRINTF_PARSE): Change memory handling code so that it uses the first
24047         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
24048         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
24049         Reported by Pádraig Brady <P@draigbrady.com>.
24050
24051 2011-01-31  Eric Blake  <eblake@redhat.com>
24052
24053         dup2: work around Haiku bug
24054         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
24055         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
24056         * doc/posix-functions/dup2.texi (dup2): Document the bug.
24057         * tests/test-dup2.c (main): Enhance test.
24058
24059 2011-01-31  Simon Josefsson  <simon@josefsson.org>
24060
24061         doc: off_t is not available in eglibc 2.11.2 stdio.h.
24062         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
24063         declared by eglibc 2.11.2.
24064         * lib/stdio.in.h: Likewise.
24065
24066 2011-01-31  Eric Blake  <eblake@redhat.com>
24067
24068         ignore-value: add missing test dependency
24069         * tests/test-ignore-value.c: Revert previous change; stdio.h
24070         provides off_t.
24071         * modules/ignore-value-tests (Depends-on): Add missing dependency.
24072
24073 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
24074
24075         mktime: clarify long_int width checking
24076         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
24077         the top level, to make it clearer that the assumption about
24078         long_int width is being checked.  See
24079         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
24080
24081 2011-01-30  Simon Josefsson  <simon@josefsson.org>
24082
24083         ignore-value: Fix self-test.
24084         * tests/test-ignore-value.c: Include sys/types.h for off_t.
24085
24086 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
24087
24088         TYPE_MAXIMUM: avoid theoretically undefined behavior
24089         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
24090         negative number, which the C Standard says has undefined behavior.
24091         In practice this is not a problem, but might as well do it by the book.
24092         Reported by Rich Felker and Eric Blake; see
24093         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
24094         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
24095         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
24096         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
24097         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
24098         * m4/stdint.m4 (gl_STDINT_H): Likewise.
24099         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
24100
24101         mktime: #undef mktime before #defining it
24102         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
24103
24104         mktime: systematically normalize tm_isdst comparisons
24105         * lib/mktime.c (isdst_differ): New function.
24106         (__mktime_internal): Use it systematically for all isdst comparisons.
24107         This completes the fix for libc BZ #6723, and removes the need for
24108         normalizing tm_isdst.  See
24109         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
24110         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
24111
24112         mktime: fix some integer overflow issues and sidestep the rest
24113
24114         This was prompted by a bug report by Benjamin Lindner for MinGW
24115         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
24116         His bug is due to signed integer overflow (0 - INT_MIN), and I
24117         I scanned through mktime.c looking for other integer overflow
24118         problems, fixing all the bugs I found.
24119
24120         Although the C Standard says the resulting code is still not safe
24121         in the presence of integer overflow, in practice it should be good
24122         enough for all real-world two's-complement implementations, except
24123         for debugging environments that deliberately trap on integer
24124         overflow (e.g., gcc -ftrapv).
24125
24126         * lib/mktime.c (WRAPV): New macro.
24127         (SHR): Also check that long_int and time_t shift right in the
24128         usual way, before using the fast-but-unportable method.
24129         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
24130         used.  The code already assumed two's complement, so there's
24131         no need to test for alternatives.  All uses removed.
24132         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
24133         the C standard.  Problem reported by Rich Felker in
24134         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
24135         (twos_complement_arithmetic): Also check long_int and time_t.
24136         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
24137         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
24138         (__mktime_internal): Avoid integer overflow with unary subtraction
24139         in two instances where -1 - X is an adequate replacement for -X,
24140         since the calculations are approximate.
24141
24142 2011-01-29  Eric Blake  <eblake@redhat.com>
24143
24144         mktime: avoid infinite loop
24145         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
24146         type; behavior is still undefined but portable to all known targets.
24147         Reported by Rich Felker.
24148
24149 2011-01-29  Simon Josefsson  <simon@josefsson.org>
24150
24151         rename, unlink, same-inode: Relicense.
24152         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
24153         * modules/unlink (License): Likewise.
24154         * modules/same-inode (License): Likewise.
24155
24156 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
24157
24158         mktime: avoid problems on NetBSD 5 / i386
24159         * lib/mktime.c (long_int): New type.  This works around a problem
24160         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
24161         but time_t is 64 bits, and where I expect the existing code is
24162         wrong in some cases.
24163         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
24164         (ydhms_diff): Bring back the compile-time check for wide-enough
24165         year and yday.
24166
24167         mktime: fix misspelling in comment
24168         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
24169         This merges all recent glibc changes of importance.
24170
24171 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24172
24173         move-if-change: cope with concurrent mv of identical file.
24174         * build-aux/move-if-change (CMPPROG): Accept environment
24175         variable as an override for `cmp'.
24176         (usage): Document CMPPROG.
24177         Adjust comparison to drop stdout.  Cope with failure of mv if
24178         the target file exists and is identical to the source, for
24179         parallel builds.
24180         Report from H.J. Lu against binutils in PR binutils/12283.
24181
24182 2011-01-28  Bruce Korb  <bkorb@gnu.org>
24183
24184         * users.txt: Mention sharutils.
24185
24186 2011-01-28  Simon Josefsson  <simon@josefsson.org>
24187
24188         * users.txt: Mention OATH Toolkit.
24189
24190 2011-01-27  Bruno Haible  <bruno@clisp.org>
24191
24192         Prepare for supporting FreeBSD 10.
24193         * build-aux/config.libpath: Remove handling of freebsd1*.
24194
24195 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
24196
24197         Prepare for supporting FreeBSD 10.
24198         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
24199         match FreeBSD 10.0.
24200
24201 2011-01-27  Bruno Haible  <bruno@clisp.org>
24202
24203         vma-iter, get-rusage-as: Add OpenBSD support.
24204         * modules/vma-iter (configure.ac): Test for mquery.
24205         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
24206         * lib/vma-iter.c: Include <sys/mman.h>.
24207         (vma_iterate): Add an implementation based on mquery().
24208         * lib/resource-ext.h (get_rusage_as): Update comments.
24209         * lib/get-rusage-as.c: Likewise.
24210         * lib/get-rusage-data.c: Likewise.
24211
24212 2011-01-26  Karl Berry  <karl@gnu.org>
24213
24214         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
24215         variables to make it easier to override the makeinfo program used.
24216
24217 2011-01-26  Eric Blake  <eblake@redhat.com>
24218
24219         fcntl: work around Haiku F_DUPFD bugs
24220         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
24221         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
24222         cloexec bit on duplication.
24223         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
24224
24225 2011-01-26  Bruno Haible  <bruno@clisp.org>
24226
24227         Enable memory leak tests on AIX.
24228         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
24229         * tests/test-fprintf-posix3.c (main): Likewise.
24230
24231 2011-01-26  Bruno Haible  <bruno@clisp.org>
24232
24233         Tests for module 'get-rusage-data'.
24234         * modules/get-rusage-data-tests: New file.
24235         * tests/test-get-rusage-data.c: New file.
24236
24237         New module 'get-rusage-data'.
24238         * lib/resource-ext.h (get_rusage_data): New declaration.
24239         * lib/get-rusage-data.c: New file.
24240         * modules/get-rusage-data: New file.
24241
24242 2011-01-25  Bruno Haible  <bruno@clisp.org>
24243
24244         get-rusage-as: Allow for easier testing.
24245         * lib/resource-ext.h (get_rusage_as): Add comment.
24246         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
24247         (main): New function for interactive testing.
24248
24249 2011-01-25  Bruno Haible  <bruno@clisp.org>
24250
24251         vma-iter: Treat Haiku like BeOS.
24252         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
24253         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
24254
24255 2011-01-25  Eric Blake  <eblake@redhat.com>
24256
24257         c-stack: fix regression on cygwin when libsigsegv is present
24258         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
24259
24260 2011-01-24  Bruno Haible  <bruno@clisp.org>
24261
24262         vma-iter: Avoid empty intervals.
24263         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
24264         on an empty interval.
24265
24266 2011-01-24  Jim Meyering  <meyering@redhat.com>
24267
24268         u64: remove unnecessary #include
24269         * lib/u64.h: Don't include <stddef.h>.  It was not used.
24270
24271 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
24272
24273         Allow the user to avoid the HAVE_RAW_DECL_* macros.
24274         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
24275
24276 2011-01-23  Bruno Haible  <bruno@clisp.org>
24277
24278         New module 'vma-iter'.
24279         * lib/vma-iter.h: New file.
24280         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
24281         * modules/vma-iter: New file.
24282         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
24283         for get_rusage_as_via_iterator.
24284         (vma_iterate_callback): New function.
24285         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
24286         * modules/get-rusage-as (Depends-on): Add vma-iter.
24287
24288 2011-01-23  Bruno Haible  <bruno@clisp.org>
24289
24290         uninorm: Tweak includes.
24291         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
24292         Reported by Jim Meyering.
24293
24294 2011-01-23  Bruno Haible  <bruno@clisp.org>
24295
24296         get-rusage-as: Improve on NetBSD.
24297         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
24298         /proc, like on FreeBSD.
24299
24300 2011-01-23  Jim Meyering  <meyering@redhat.com>
24301
24302         xreadlink.h: remove unnecessary #include
24303         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
24304
24305         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
24306         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
24307
24308 2011-01-23  Bruno Haible  <bruno@clisp.org>
24309
24310         get-rusage-as: Fix bug.
24311         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
24312         original limit when aborting the first loop.
24313
24314 2011-01-23  Bruno Haible  <bruno@clisp.org>
24315
24316         wctype: Ensure valid C syntax.
24317         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
24318         unconditionally, instead of gl_NEXT_HEADERS conditionally.
24319
24320 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
24321
24322         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
24323         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
24324         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
24325         as they are needed only for configure's test case.
24326         This removes two unnecessary symbols from config.h.
24327
24328         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
24329         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
24330         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
24331         AC_CHECK_HEADERS_ONCE on a header that we also invoke
24332         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
24333         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
24334         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
24335         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
24336         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
24337         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
24338         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
24339         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
24340         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
24341         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
24342         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
24343         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
24344         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
24345         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
24346
24347 2011-01-21  Eric Blake  <eblake@redhat.com>
24348
24349         maintainer-makefile: work with older git for submodule check
24350         * top/maint.mk (public-submodule-commit): Rewrite to avoid
24351         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
24352         Reported by Matthias Bolte.
24353
24354         bootstrap: minor portability fixes
24355         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
24356         (usage): Omit leading capital and trailing . on help phrases, per
24357         GNU Coding Standards.
24358         (check_versions, top level): Prefix messages with script name.
24359
24360 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
24361
24362         bootstrap: support --no-git option
24363         * build-aux/bootstrap: Add --no-git option, to be used when
24364         --gnulib-srcdir points to the exact desired checkout.
24365
24366 2011-01-21  Eric Blake  <eblake@redhat.com>
24367
24368         strerror_r-posix: work with glibc 2.13
24369         * lib/strerror_r.c (strerror_r): Fix return type.
24370
24371 2011-01-21  Pádraig Brady  <P@draigBrady.com>
24372             Bruno Haible  <bruno@clisp.org>
24373
24374         uN_strstr: New unit tests.
24375         * modules/unistr/u8-strstr-tests: New file.
24376         * modules/unistr/u16-strstr-tests: New file.
24377         * modules/unistr/u32-strstr-tests: New file.
24378         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
24379         * tests/unistr/test-u8-strstr.c: New file.
24380         * tests/unistr/test-u16-strstr.c: New file.
24381         * tests/unistr/test-u32-strstr.c: New file.
24382
24383 2011-01-21  Pádraig Brady  <P@draigBrady.com>
24384             Bruno Haible  <bruno@clisp.org>
24385
24386         Make uN_strstr functions O(n) worst-case.
24387         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
24388         16-bit and 32-bit unit cases, use the unibyte algorithm from
24389         lib/mbsstr.c.
24390         * lib/unistr/u8-strstr.c: Include <string.h>.
24391         (UNIT_IS_UINT8_T): New macro.
24392         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
24393         (U_STRLEN, U_STRNLEN): New macros.
24394         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
24395         (U_STRLEN, U_STRNLEN): New macros.
24396         * modules/unistr/u8-strstr (Depends-on): Add strstr.
24397         (configure.ac): Update required libunistring version.
24398         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
24399         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
24400         malloca.
24401         (configure.ac): Update required libunistring version.
24402         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
24403         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
24404         malloca.
24405         (configure.ac): Update required libunistring version.
24406
24407 2011-01-21  Pádraig Brady  <P@draigBrady.com>
24408             Bruno Haible  <bruno@clisp.org>
24409
24410         Prepare for faster uN_strstr functions.
24411         * lib/str-kmp.h: Support definable UNITs.
24412         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
24413         needle_len argument.
24414         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
24415         * lib/mbscasestr.c (mbscasestr): Likewise.
24416
24417 2011-01-21  Pádraig Brady <P@draigBrady.com>
24418
24419         malloca-tests: make faster by unsetting MALLOC_PERTURB_
24420         * tests/test-malloca.c (main): Unset the environment variable
24421         to greatly speed up the test.
24422         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
24423         * modules/malloca-tests: Depend on unsetenv.
24424
24425 2011-01-21  Pádraig Brady <P@draigBrady.com>
24426
24427         ignore-value: remove stdint dependency
24428         * lib/ignore-value.h: Remove <stdint.h>
24429         * modules/ignore-value: Remove stdint dependency.
24430
24431 2011-01-21  Jim Meyering  <meyering@redhat.com>
24432
24433         maint.mk: adjust variable name to be consistent with other gl_ vars
24434         * top/maint.mk (gl_public_submodule_commit): Rename the variable
24435         to be lower case.
24436
24437 2011-01-20  Jim Meyering  <meyering@redhat.com>
24438
24439         maint.mk: make "check" depend on public-submodule-commit by default
24440         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
24441
24442 2011-01-20  Bruno Haible  <bruno@clisp.org>
24443
24444         mbfile, mbiter: Complete change from 2008-12-21.
24445         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
24446         * m4/mbiter.m4 (gl_MBITER): Likewise.
24447
24448 2011-01-20  Jim Meyering  <meyering@redhat.com>
24449
24450         init.sh: insert space between each function name and "()"
24451         * tests/init.sh: Make it a little easier to see that a function's
24452         name is "warn_", and not "warn" when looking at the first part of
24453         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
24454
24455 2011-01-20  Jim Meyering  <meyering@redhat.com>
24456
24457         mountlist: clean up code formatting
24458         * lib/mountlist.c (read_file_system_list): Split a long line,
24459         correct bracing style, use NULL in place of "(struct statfs *)0",
24460         don't parenthesize return value, add spaces around "=" and after
24461         ";-in-for-stmt".
24462
24463 2011-01-14  Markus Duft <mduft@gentoo.org>
24464
24465         mountlist: add support for Interix
24466         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
24467         Apply statvfs to all entries of /dev/fs.
24468         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
24469         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
24470
24471 2011-01-20  Jim Meyering  <meyering@redhat.com>
24472
24473         maint.mk: improve the public-submodule-commit rule
24474         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
24475         to suppress printing of its commands... unless V=1.
24476         Add git submodule's --quiet option to suppress printing of e.g.,
24477         "Entering gnulib" output.
24478         "cd" into $(srcdir) before running git submodule.
24479
24480 2011-01-20  Bruno Haible  <bruno@clisp.org>
24481
24482         include_next: Fix bug introduced on 2011-01-18.
24483         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
24484         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
24485         ac_cv_header_... variable if the second argument is not 'check'.
24486         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
24487         gl_NEXT_HEADERS_INTERNAL.
24488
24489 2011-01-20  Bruno Haible  <bruno@clisp.org>
24490
24491         Allow the user to avoid the GNULIB_TEST_* macros.
24492         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
24493         Suggested by Paul Eggert.
24494
24495 2011-01-14  Jim Meyering  <meyering@redhat.com>
24496
24497         bootstrap: avoid failure when there is no .gitmodules file
24498         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
24499         has been assigned to, even when its value is the empty string.
24500         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
24501         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
24502         Reported by John W. Eaton <jwe@gnu.org>.
24503
24504 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
24505
24506         assume <ctype.h>, ..., <time.h> exist
24507         For years gnulib has been assuming the existence of the headers
24508         <ctype.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
24509         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
24510         them, since they don't appear to be needed.
24511         * README (Portability guidelines): Document this.
24512         * lib/flock.c: Assume <fcntl.h> exists.
24513         * lib/regex_internal.h: Assume <locale.h> exists.
24514         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
24515         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
24516         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
24517         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
24518         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
24519         * m4/regex.m4 (gl_REGEX): Likewise.
24520         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
24521         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
24522         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
24523         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
24524         * tests/test-argp.c: Likewise.
24525         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
24526
24527         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
24528         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
24529         AA_APPLE_UNIVERSAL_BUILD.  See
24530         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
24531         * NEWS: Document this.
24532
24533 2011-01-19  Eric Blake  <eblake@redhat.com>
24534
24535         c-stack: assume stack overflow if SA_SIGINFO unsupported
24536         * lib/c-stack.c (SIGACTION_WORKS): Rename...
24537         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
24538         sigaction will work.
24539         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
24540         behavior match Linux.
24541         * tests/test-c-stack.c (main): Prefer NULL for pointers.
24542
24543         stdbool-tests: accommodate Haiku
24544         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
24545
24546         binary-io: fix O_TEXT on Haiku
24547         * modules/binary-io (Depends-on): Add fcntl-h.
24548         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
24549         than blindly undefining O_TEXT.
24550         Reported by Scott McCreary.
24551
24552 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
24553
24554         include_next: do not check for standard headers like stddef.h
24555
24556         I found this problem when modifying Emacs to use gnulib.
24557         I noticed that it added HAVE_STDDEF_H to config.h, even though
24558         gnulib always assumes <stddef.h> exists as per README and this
24559         symbol is unnecessary.
24560         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
24561         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
24562         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
24563         faster for headers like stddef.h that are known to exist.
24564         (gl_CHECK_NEXT_HEADERS): Use it.
24565         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
24566         rather than gl_CHECK_NEXT_HEADERS.
24567         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
24568         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
24569
24570 2011-01-18  Eric Blake  <eblake@redhat.com>
24571
24572         ansi-c++-opt: skip C++ dependency style if C++ is unused
24573         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
24574         tests when we know C++ compilation is not desired.
24575         Reported by Scott McCreary.
24576
24577 2011-01-18  Bruno Haible  <bruno@clisp.org>
24578
24579         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
24580         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
24581         (main): Perform test also when getrlimit and setrlimit don't exist or
24582         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
24583         limiting the address space size using setrlimit, compare the address
24584         space size before and after the the test.
24585         * tests/test-dprintf-posix2.c: Likewise.
24586         * tests/test-fprintf-posix3.sh: Update skip messages.
24587         * tests/test-dprintf-posix2.sh: Likewise.
24588         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
24589         * modules/dprintf-posix-tests (Depends-on): Likewise.
24590         Reported by Bruce Korb <bkorb@gnu.org> and
24591         Gary V. Vaughan <gary@gnu.org>.
24592
24593 2011-01-18  Bruno Haible  <bruno@clisp.org>
24594
24595         get-rusage-as: Improvement for Cygwin.
24596         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
24597         areas that are merely reserved.
24598
24599 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
24600
24601         strftime: remove dependencies on multibyte modules
24602
24603         strftime depended on mbrlen, mbsinit, and wchar, but these modules
24604         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
24605         only if __osf__ is defined, and I suspect OSF doesn't need these
24606         other modules.  If my guess is wrong, we'll need to come up with a
24607         variant of strftime that doesn't need the multibyte modules.
24608
24609         I discovered this problem when attempting modify Emacs to use the
24610         strftime module.  With the previous gnulib, this caused Emacs to
24611         need 31 new files, ranging from lib/config.charset to
24612         m4/wint_t.m4.  This was overkill and I expect would be offputting
24613         to the Emacs maintainers.  After this change, only 6 new files are
24614         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
24615         stdbool.m4, and tm_gmtoff.m4.
24616
24617         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
24618         Suggested by Bruno Haible in
24619         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
24620         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
24621         and do not check for wchar.h.
24622         * modules/strftime (Files): Remove m4/mbstate_t.m4.
24623         (Depends-on): Remove mbrlen, mbsinit, wchar.
24624
24625 2011-01-18  Bruno Haible  <bruno@clisp.org>
24626
24627         Tests for module 'get-rusage-as'.
24628         * modules/get-rusage-as-tests: New file.
24629         * tests/test-get-rusage-as.c: New file.
24630
24631         New module 'get-rusage-as'.
24632         * modules/get-rusage-as: New file.
24633         * lib/resource-ext.h: New file.
24634         * lib/get-rusage-as.c: New file.
24635
24636 2011-01-17  Eric Blake  <eblake@redhat.com>
24637
24638         sigaction: relax license from LGPLv3+ to LGPLv2+
24639         * modules/sigaction (License): Relax to LGPLv2+.
24640
24641 2011-01-14  Bruno Haible  <bruno@clisp.org>
24642
24643         filemode: Make function declarations usable in C++ mode.
24644         * lib/filemode.h: Enclose function declarations in extern "C" block.
24645         Reported by John W. Eaton <jwe@gnu.org>.
24646
24647 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
24648
24649         save-cwd: no longer include "xgetcwd.h"
24650         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
24651         This avoids a compilation failure in projects that use save-cwd
24652         without also using the xgetcwd module.
24653
24654 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
24655
24656         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
24657         This is so that a program like Emacs, which needs only dtoastr,
24658         does not have to bother with distributing and compiling ftoastr
24659         and ldtoastr.
24660         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
24661         * modules/dtoastr, modules/ldtoastr: New files.
24662         * modules/ftoastr: Now works just for 'float'.
24663         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
24664         (Makefile.am): Remove ftoastr.h (not needed and no effect),
24665         dtoastr.c, ldtoastr.c.
24666
24667 2011-01-11  Jim Meyering  <meyering@redhat.com>
24668
24669         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
24670         There is no need to work around the lack of the fchdir function,
24671         since gnulib can now provide a replacement when required.
24672         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
24673         * modules/save-cwd (Depends-on): Add fchdir.
24674
24675 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
24676
24677         openat, save-cwd: avoid xmalloc
24678
24679         This removes a direct (but undocumented) dependency of openat on
24680         xalloc, along with an indirect dependency via save-cwd.  It also
24681         removes a dependency of save-cwd on xgetcwd, and thereby
24682         indirectly on xalloc.  This change causes the openat substitute
24683         to fall back on save_cwd when memory is tight, and for save_cwd to
24684         fail instead of dying when memory is tight, but that's good enough.
24685         Problem and initial idea for fix reported by Bastien Roucaries in
24686         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
24687
24688         * lib/openat-proc.c: Include stdlib.h (for malloc), not
24689         xalloc.h (for xmalloc).
24690         (openat_proc_name): Use malloc, not xmalloc.
24691         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
24692         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
24693
24694         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
24695         This avoids heap allocation for file names whose lengths are in
24696         the range 512..1023, with the upper bound increasing to at most
24697         4031 depending on the platform's PATH_MAX.  (We do not want
24698         pathmax.h here as it might supply a non-constant PATH_MAX.)
24699         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
24700         Perhaps they should be moved to malloca.h?
24701         (OPENAT_BUFFER_SIZE): Use them.
24702
24703 2011-01-10  Bruno Haible  <bruno@clisp.org>
24704
24705         doc: Update users.txt.
24706         * users.txt: Add recutils.
24707
24708 2011-01-09  Karl Berry  <karl@gnu.org>
24709
24710         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
24711
24712         * doc/configmake.texi: New file.
24713         * doc/gnulib.texi: Include it.
24714         * modules/configmake: Move documentation from here.
24715
24716 2011-01-09  Bruno Haible  <bruno@clisp.org>
24717
24718         Update to Unicode 6.0.0.
24719         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
24720         (get_lbp): Update for Unicode 6.0.0.
24721         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
24722         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
24723         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
24724         U+11001, U+11038..U+11046. Remove U+06DE.
24725         (uc_width): Fix bounds of planes.
24726         * tests/uniwidth/test-uc_width2.sh: Same updates as in
24727         lib/uniwidth/width.c.
24728         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
24729         trailing whitespace removed.
24730         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
24731         without comments, but with the original copyright notice.
24732         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
24733         * lib/unicase/ignorable.h: Likewise.
24734         * lib/unicase/tocasefold.h: Likewise.
24735         * lib/unicase/tolower.h: Likewise.
24736         * lib/unicase/totitle.h: Likewise.
24737         * lib/unicase/toupper.h: Likewise.
24738         * lib/unictype/bidi_of.h: Likewise.
24739         * lib/unictype/blocks.h: Likewise.
24740         * lib/unictype/categ_C.h: Likewise.
24741         * lib/unictype/categ_Cn.h: Likewise.
24742         * lib/unictype/categ_L.h: Likewise.
24743         * lib/unictype/categ_Ll.h: Likewise.
24744         * lib/unictype/categ_Lm.h: Likewise.
24745         * lib/unictype/categ_Lo.h: Likewise.
24746         * lib/unictype/categ_Lu.h: Likewise.
24747         * lib/unictype/categ_M.h: Likewise.
24748         * lib/unictype/categ_Mc.h: Likewise.
24749         * lib/unictype/categ_Me.h: Likewise.
24750         * lib/unictype/categ_Mn.h: Likewise.
24751         * lib/unictype/categ_N.h: Likewise.
24752         * lib/unictype/categ_Nd.h: Likewise.
24753         * lib/unictype/categ_No.h: Likewise.
24754         * lib/unictype/categ_P.h: Likewise.
24755         * lib/unictype/categ_Po.h: Likewise.
24756         * lib/unictype/categ_S.h: Likewise.
24757         * lib/unictype/categ_Sc.h: Likewise.
24758         * lib/unictype/categ_Sk.h: Likewise.
24759         * lib/unictype/categ_Sm.h: Likewise.
24760         * lib/unictype/categ_So.h: Likewise.
24761         * lib/unictype/categ_of.h: Likewise.
24762         * lib/unictype/combining.h: Likewise.
24763         * lib/unictype/ctype_alnum.h: Likewise.
24764         * lib/unictype/ctype_alpha.h: Likewise.
24765         * lib/unictype/ctype_graph.h: Likewise.
24766         * lib/unictype/ctype_lower.h: Likewise.
24767         * lib/unictype/ctype_print.h: Likewise.
24768         * lib/unictype/ctype_punct.h: Likewise.
24769         * lib/unictype/ctype_upper.h: Likewise.
24770         * lib/unictype/decdigit.h: Likewise.
24771         * lib/unictype/digit.h: Likewise.
24772         * lib/unictype/numeric.h: Likewise.
24773         * lib/unictype/pr_alphabetic.h: Likewise.
24774         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
24775         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
24776         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
24777         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
24778         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
24779         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
24780         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
24781         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
24782         * lib/unictype/pr_case_ignorable.h: Likewise.
24783         * lib/unictype/pr_cased.h: Likewise.
24784         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
24785         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
24786         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
24787         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
24788         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
24789         * lib/unictype/pr_combining.h: Likewise.
24790         * lib/unictype/pr_composite.h: Likewise.
24791         * lib/unictype/pr_currency_symbol.h: Likewise.
24792         * lib/unictype/pr_decimal_digit.h: Likewise.
24793         * lib/unictype/pr_deprecated.h: Likewise.
24794         * lib/unictype/pr_format_control.h: Likewise.
24795         * lib/unictype/pr_grapheme_base.h: Likewise.
24796         * lib/unictype/pr_grapheme_extend.h: Likewise.
24797         * lib/unictype/pr_grapheme_link.h: Likewise.
24798         * lib/unictype/pr_id_continue.h: Likewise.
24799         * lib/unictype/pr_id_start.h: Likewise.
24800         * lib/unictype/pr_ideographic.h: Likewise.
24801         * lib/unictype/pr_lowercase.h: Likewise.
24802         * lib/unictype/pr_math.h: Likewise.
24803         * lib/unictype/pr_numeric.h: Likewise.
24804         * lib/unictype/pr_other_alphabetic.h: Likewise.
24805         * lib/unictype/pr_other_id_continue.h: Likewise.
24806         * lib/unictype/pr_other_math.h: Likewise.
24807         * lib/unictype/pr_punctuation.h: Likewise.
24808         * lib/unictype/pr_sentence_terminal.h: Likewise.
24809         * lib/unictype/pr_terminal_punctuation.h: Likewise.
24810         * lib/unictype/pr_unassigned_code_value.h: Likewise.
24811         * lib/unictype/pr_unified_ideograph.h: Likewise.
24812         * lib/unictype/pr_uppercase.h: Likewise.
24813         * lib/unictype/pr_xid_continue.h: Likewise.
24814         * lib/unictype/pr_xid_start.h: Likewise.
24815         * lib/unictype/scripts.h: Likewise.
24816         * lib/unictype/scripts_byname.gperf: Likewise.
24817         * lib/unictype/sy_java_ident.h: Likewise.
24818         * lib/unigbrk/gbrkprop.h: Likewise.
24819         * lib/unilbrk/lbrkprop1.h: Likewise.
24820         * lib/unilbrk/lbrkprop2.h: Likewise.
24821         * lib/uninorm/decomposition-table2.h: Likewise.
24822         * lib/uniwbrk/wbrkprop.h: Likewise.
24823         * tests/unicase/test-cased.c: Likewise.
24824         * tests/unicase/test-ignorable.c: Likewise.
24825         * tests/unicase/test-uc_tolower.c: Likewise.
24826         * tests/unicase/test-uc_totitle.c: Likewise.
24827         * tests/unicase/test-uc_toupper.c: Likewise.
24828         * tests/unictype/test-categ_C.c: Likewise.
24829         * tests/unictype/test-categ_Cn.c: Likewise.
24830         * tests/unictype/test-categ_L.c: Likewise.
24831         * tests/unictype/test-categ_Ll.c: Likewise.
24832         * tests/unictype/test-categ_Lm.c: Likewise.
24833         * tests/unictype/test-categ_Lo.c: Likewise.
24834         * tests/unictype/test-categ_Lu.c: Likewise.
24835         * tests/unictype/test-categ_M.c: Likewise.
24836         * tests/unictype/test-categ_Mc.c: Likewise.
24837         * tests/unictype/test-categ_Me.c: Likewise.
24838         * tests/unictype/test-categ_Mn.c: Likewise.
24839         * tests/unictype/test-categ_N.c: Likewise.
24840         * tests/unictype/test-categ_Nd.c: Likewise.
24841         * tests/unictype/test-categ_No.c: Likewise.
24842         * tests/unictype/test-categ_P.c: Likewise.
24843         * tests/unictype/test-categ_Po.c: Likewise.
24844         * tests/unictype/test-categ_S.c: Likewise.
24845         * tests/unictype/test-categ_Sc.c: Likewise.
24846         * tests/unictype/test-categ_Sk.c: Likewise.
24847         * tests/unictype/test-categ_Sm.c: Likewise.
24848         * tests/unictype/test-categ_So.c: Likewise.
24849         * tests/unictype/test-ctype_alnum.c: Likewise.
24850         * tests/unictype/test-ctype_alpha.c: Likewise.
24851         * tests/unictype/test-ctype_graph.c: Likewise.
24852         * tests/unictype/test-ctype_lower.c: Likewise.
24853         * tests/unictype/test-ctype_print.c: Likewise.
24854         * tests/unictype/test-ctype_punct.c: Likewise.
24855         * tests/unictype/test-ctype_upper.c: Likewise.
24856         * tests/unictype/test-decdigit.h: Likewise.
24857         * tests/unictype/test-digit.h: Likewise.
24858         * tests/unictype/test-numeric.h: Likewise.
24859         * tests/unictype/test-pr_alphabetic.c: Likewise.
24860         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
24861         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
24862         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
24863         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
24864         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
24865         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
24866         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
24867         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
24868         * tests/unictype/test-pr_case_ignorable.c: Likewise.
24869         * tests/unictype/test-pr_cased.c: Likewise.
24870         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
24871         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
24872         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
24873         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
24874         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
24875         * tests/unictype/test-pr_combining.c: Likewise.
24876         * tests/unictype/test-pr_composite.c: Likewise.
24877         * tests/unictype/test-pr_currency_symbol.c: Likewise.
24878         * tests/unictype/test-pr_decimal_digit.c: Likewise.
24879         * tests/unictype/test-pr_deprecated.c: Likewise.
24880         * tests/unictype/test-pr_format_control.c: Likewise.
24881         * tests/unictype/test-pr_grapheme_base.c: Likewise.
24882         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
24883         * tests/unictype/test-pr_grapheme_link.c: Likewise.
24884         * tests/unictype/test-pr_id_continue.c: Likewise.
24885         * tests/unictype/test-pr_id_start.c: Likewise.
24886         * tests/unictype/test-pr_ideographic.c: Likewise.
24887         * tests/unictype/test-pr_lowercase.c: Likewise.
24888         * tests/unictype/test-pr_math.c: Likewise.
24889         * tests/unictype/test-pr_numeric.c: Likewise.
24890         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
24891         * tests/unictype/test-pr_other_id_continue.c: Likewise.
24892         * tests/unictype/test-pr_other_math.c: Likewise.
24893         * tests/unictype/test-pr_punctuation.c: Likewise.
24894         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
24895         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
24896         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
24897         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
24898         * tests/unictype/test-pr_uppercase.c: Likewise.
24899         * tests/unictype/test-pr_xid_continue.c: Likewise.
24900         * tests/unictype/test-pr_xid_start.c: Likewise.
24901         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
24902         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
24903         changes.
24904         * lib/unictype/categ_Cc.h: Likewise.
24905         * lib/unictype/categ_Cf.h: Likewise.
24906         * lib/unictype/categ_Co.h: Likewise.
24907         * lib/unictype/categ_Cs.h: Likewise.
24908         * lib/unictype/categ_Lt.h: Likewise.
24909         * lib/unictype/categ_Nl.h: Likewise.
24910         * lib/unictype/categ_Pc.h: Likewise.
24911         * lib/unictype/categ_Pd.h: Likewise.
24912         * lib/unictype/categ_Pe.h: Likewise.
24913         * lib/unictype/categ_Pf.h: Likewise.
24914         * lib/unictype/categ_Pi.h: Likewise.
24915         * lib/unictype/categ_Ps.h: Likewise.
24916         * lib/unictype/categ_Z.h: Likewise.
24917         * lib/unictype/categ_Zl.h: Likewise.
24918         * lib/unictype/categ_Zp.h: Likewise.
24919         * lib/unictype/categ_Zs.h: Likewise.
24920         * lib/unictype/ctype_blank.h: Likewise.
24921         * lib/unictype/ctype_cntrl.h: Likewise.
24922         * lib/unictype/ctype_digit.h: Likewise.
24923         * lib/unictype/ctype_space.h: Likewise.
24924         * lib/unictype/ctype_xdigit.h: Likewise.
24925         * lib/unictype/mirror.h: Likewise.
24926         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
24927         * lib/unictype/pr_bidi_block_separator.h: Likewise.
24928         * lib/unictype/pr_bidi_common_separator.h: Likewise.
24929         * lib/unictype/pr_bidi_control.h: Likewise.
24930         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
24931         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
24932         * lib/unictype/pr_bidi_european_digit.h: Likewise.
24933         * lib/unictype/pr_bidi_pdf.h: Likewise.
24934         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
24935         * lib/unictype/pr_bidi_whitespace.h: Likewise.
24936         * lib/unictype/pr_dash.h: Likewise.
24937         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
24938         * lib/unictype/pr_diacritic.h: Likewise.
24939         * lib/unictype/pr_extender.h: Likewise.
24940         * lib/unictype/pr_hex_digit.h: Likewise.
24941         * lib/unictype/pr_hyphen.h: Likewise.
24942         * lib/unictype/pr_ids_binary_operator.h: Likewise.
24943         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
24944         * lib/unictype/pr_ignorable_control.h: Likewise.
24945         * lib/unictype/pr_iso_control.h: Likewise.
24946         * lib/unictype/pr_join_control.h: Likewise.
24947         * lib/unictype/pr_left_of_pair.h: Likewise.
24948         * lib/unictype/pr_line_separator.h: Likewise.
24949         * lib/unictype/pr_logical_order_exception.h: Likewise.
24950         * lib/unictype/pr_non_break.h: Likewise.
24951         * lib/unictype/pr_not_a_character.h: Likewise.
24952         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
24953         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
24954         * lib/unictype/pr_other_id_start.h: Likewise.
24955         * lib/unictype/pr_other_lowercase.h: Likewise.
24956         * lib/unictype/pr_other_uppercase.h: Likewise.
24957         * lib/unictype/pr_paired_punctuation.h: Likewise.
24958         * lib/unictype/pr_paragraph_separator.h: Likewise.
24959         * lib/unictype/pr_pattern_syntax.h: Likewise.
24960         * lib/unictype/pr_pattern_white_space.h: Likewise.
24961         * lib/unictype/pr_private_use.h: Likewise.
24962         * lib/unictype/pr_quotation_mark.h: Likewise.
24963         * lib/unictype/pr_radical.h: Likewise.
24964         * lib/unictype/pr_soft_dotted.h: Likewise.
24965         * lib/unictype/pr_space.h: Likewise.
24966         * lib/unictype/pr_titlecase.h: Likewise.
24967         * lib/unictype/pr_variation_selector.h: Likewise.
24968         * lib/unictype/pr_white_space.h: Likewise.
24969         * lib/unictype/pr_zero_width.h: Likewise.
24970         * lib/unictype/sy_c_ident.h: Likewise.
24971         * lib/unictype/sy_c_whitespace.h: Likewise.
24972         * lib/unictype/sy_java_whitespace.h: Likewise.
24973         * lib/uninorm/composition-table.gperf: Likewise.
24974         * lib/uninorm/decomposition-table1.h: Likewise.
24975         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
24976         LB8.
24977         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
24978         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
24979         * modules/unictype/*: Bump version number of expected libunistring
24980         version.
24981
24982 2011-01-09  Bruno Haible  <bruno@clisp.org>
24983
24984         Update to Unicode 5.2.0.
24985         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
24986         trailing whitespace removed.
24987
24988 2011-01-09  Bruno Haible  <bruno@clisp.org>
24989
24990         New Unicode character properties, from Unicode 5.2.0.
24991         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
24992         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
24993         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
24994         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
24995         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
24996         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
24997         uc_is_property_cased, uc_is_property_case_ignorable,
24998         uc_is_property_changes_when_lowercased,
24999         uc_is_property_changes_when_uppercased,
25000         uc_is_property_changes_when_titlecased,
25001         uc_is_property_changes_when_casefolded,
25002         uc_is_property_changes_when_casemapped): New declarations.
25003         * lib/unictype/pr_byname.gperf: Add the new properties.
25004         * modules/unictype/property-byname (Depends-on): Depend on the new
25005         properties modules.
25006         * modules/unictype/property-all (Depends-on): Likewise.
25007         * MODULES.html.sh (Unicode string functions): Add
25008         unictype/property-case-ignorable, unictype/property-cased,
25009         unictype/property-changes-when-casefolded,
25010         unictype/property-changes-when-casemapped,
25011         unictype/property-changes-when-lowercased,
25012         unictype/property-changes-when-titlecased,
25013         unictype/property-changes-when-uppercased.
25014
25015         New module 'unictype/property-changes-when-casemapped'.
25016         * modules/unictype/property-changes-when-casemapped: New file.
25017         * lib/unictype/pr_changes_when_casemapped.c: New file.
25018         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
25019         generated by gen-uni-tables.
25020         * modules/unictype/property-changes-when-casemapped-tests: New file.
25021         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
25022         automatically generated by gen-uni-tables.
25023
25024         New module 'unictype/property-changes-when-casefolded'.
25025         * modules/unictype/property-changes-when-casefolded: New file.
25026         * lib/unictype/pr_changes_when_casefolded.c: New file.
25027         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
25028         generated by gen-uni-tables.
25029         * modules/unictype/property-changes-when-casefolded-tests: New file.
25030         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
25031         automatically generated by gen-uni-tables.
25032
25033         New module 'unictype/property-changes-when-titlecased'.
25034         * modules/unictype/property-changes-when-titlecased: New file.
25035         * lib/unictype/pr_changes_when_titlecased.c: New file.
25036         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
25037         generated by gen-uni-tables.
25038         * modules/unictype/property-changes-when-titlecased-tests: New file.
25039         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
25040         automatically generated by gen-uni-tables.
25041
25042         New module 'unictype/property-changes-when-uppercased'.
25043         * modules/unictype/property-changes-when-uppercased: New file.
25044         * lib/unictype/pr_changes_when_uppercased.c: New file.
25045         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
25046         generated by gen-uni-tables.
25047         * modules/unictype/property-changes-when-uppercased-tests: New file.
25048         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
25049         automatically generated by gen-uni-tables.
25050
25051         New module 'unictype/property-changes-when-lowercased'.
25052         * modules/unictype/property-changes-when-lowercased: New file.
25053         * lib/unictype/pr_changes_when_lowercased.c: New file.
25054         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
25055         generated by gen-uni-tables.
25056         * modules/unictype/property-changes-when-lowercased-tests: New file.
25057         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
25058         automatically generated by gen-uni-tables.
25059
25060         New module 'unictype/property-case-ignorable'.
25061         * modules/unictype/property-case-ignorable: New file.
25062         * lib/unictype/pr_case_ignorable.c: New file.
25063         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
25064         by gen-uni-tables.
25065         * modules/unictype/property-case-ignorable-tests: New file.
25066         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
25067         generated by gen-uni-tables.
25068
25069         New module 'unictype/property-cased'.
25070         * modules/unictype/property-cased: New file.
25071         * lib/unictype/pr_cased.c: New file.
25072         * lib/unictype/pr_cased.h: New file, automatically generated by
25073         gen-uni-tables.
25074         * modules/unictype/property-cased-tests: New file.
25075         * tests/unictype/test-pr_cased.c: New file, automatically generated by
25076         gen-uni-tables.
25077
25078 2011-01-09  Bruno Haible  <bruno@clisp.org>
25079
25080         Update to Unicode 5.2.0.
25081         * lib/gen-uni-tables.c (output_predicate, output_category,
25082         output_combclass, output_bidi_category, output_decimal_digit_test,
25083         output_decimal_digit, output_digit_test, output_digit,
25084         output_numeric_test, output_numeric, output_mirror, output_scripts,
25085         output_scripts_byname, output_blocks, output_ident_category): Fix
25086         comment header.
25087         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
25088         get_wbp.
25089         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
25090         items.
25091         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
25092         Changes_When_Lowercased, Changes_When_Uppercased,
25093         Changes_When_Titlecased, Changes_When_Casefolded,
25094         Changes_When_Casemapped.
25095         (is_property_alphabetic, is_property_default_ignorable_code_point):
25096         Update for Unicode 5.2.0.
25097         (is_property_cased, is_property_case_ignorable,
25098         is_property_changes_when_lowercased,
25099         is_property_changes_when_uppercased,
25100         is_property_changes_when_titlecased,
25101         is_property_changes_when_casefolded,
25102         is_property_changes_when_casemapped): New functions.
25103         (output_properties): Output also the properties cased, case_ignorable,
25104         changes_when_lowercased, changes_when_uppercased,
25105         changes_when_titlecased, changes_when_casefolded,
25106         changes_when_casemapped.
25107         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
25108         Unicode TR#11 revision 17 -> 19.
25109         (LBP_CP): New enumeration value.
25110         (LBP_*): Adjust values accordingly.
25111         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
25112         TR#14 revision 22 -> 24.
25113         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
25114         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
25115         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
25116         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
25117         is_WBP_MIDLETTER.
25118         (output_composition_tables): Allow for 24 bits instead of 16 bits in
25119         the code1 and code2 of each composition rule.
25120         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
25121         * lib/unicase/ignorable.h: Likewise.
25122         * lib/unicase/tocasefold.h: Likewise.
25123         * lib/unicase/tolower.h: Likewise.
25124         * lib/unicase/totitle.h: Likewise.
25125         * lib/unicase/toupper.h: Likewise.
25126         * lib/unictype/bidi_of.h: Likewise.
25127         * lib/unictype/blocks.h: Likewise.
25128         * lib/unictype/categ_C.h: Likewise.
25129         * lib/unictype/categ_Cf.h: Likewise.
25130         * lib/unictype/categ_Cn.h: Likewise.
25131         * lib/unictype/categ_L.h: Likewise.
25132         * lib/unictype/categ_Ll.h: Likewise.
25133         * lib/unictype/categ_Lm.h: Likewise.
25134         * lib/unictype/categ_Lo.h: Likewise.
25135         * lib/unictype/categ_Lu.h: Likewise.
25136         * lib/unictype/categ_M.h: Likewise.
25137         * lib/unictype/categ_Mc.h: Likewise.
25138         * lib/unictype/categ_Mn.h: Likewise.
25139         * lib/unictype/categ_N.h: Likewise.
25140         * lib/unictype/categ_Nd.h: Likewise.
25141         * lib/unictype/categ_Nl.h: Likewise.
25142         * lib/unictype/categ_No.h: Likewise.
25143         * lib/unictype/categ_P.h: Likewise.
25144         * lib/unictype/categ_Pd.h: Likewise.
25145         * lib/unictype/categ_Po.h: Likewise.
25146         * lib/unictype/categ_S.h: Likewise.
25147         * lib/unictype/categ_Sc.h: Likewise.
25148         * lib/unictype/categ_So.h: Likewise.
25149         * lib/unictype/categ_of.h: Likewise.
25150         * lib/unictype/combining.h: Likewise.
25151         * lib/unictype/ctype_alnum.h: Likewise.
25152         * lib/unictype/ctype_alpha.h: Likewise.
25153         * lib/unictype/ctype_graph.h: Likewise.
25154         * lib/unictype/ctype_lower.h: Likewise.
25155         * lib/unictype/ctype_print.h: Likewise.
25156         * lib/unictype/ctype_punct.h: Likewise.
25157         * lib/unictype/ctype_upper.h: Likewise.
25158         * lib/unictype/decdigit.h: Likewise.
25159         * lib/unictype/digit.h: Likewise.
25160         * lib/unictype/numeric.h: Likewise.
25161         * lib/unictype/pr_alphabetic.h: Likewise.
25162         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
25163         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
25164         * lib/unictype/pr_bidi_european_digit.h: Likewise.
25165         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
25166         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
25167         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
25168         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
25169         * lib/unictype/pr_combining.h: Likewise.
25170         * lib/unictype/pr_composite.h: Likewise.
25171         * lib/unictype/pr_currency_symbol.h: Likewise.
25172         * lib/unictype/pr_dash.h: Likewise.
25173         * lib/unictype/pr_decimal_digit.h: Likewise.
25174         * lib/unictype/pr_deprecated.h: Likewise.
25175         * lib/unictype/pr_diacritic.h: Likewise.
25176         * lib/unictype/pr_extender.h: Likewise.
25177         * lib/unictype/pr_grapheme_base.h: Likewise.
25178         * lib/unictype/pr_grapheme_extend.h: Likewise.
25179         * lib/unictype/pr_grapheme_link.h: Likewise.
25180         * lib/unictype/pr_id_continue.h: Likewise.
25181         * lib/unictype/pr_id_start.h: Likewise.
25182         * lib/unictype/pr_ideographic.h: Likewise.
25183         * lib/unictype/pr_ignorable_control.h: Likewise.
25184         * lib/unictype/pr_logical_order_exception.h: Likewise.
25185         * lib/unictype/pr_lowercase.h: Likewise.
25186         * lib/unictype/pr_numeric.h: Likewise.
25187         * lib/unictype/pr_other_alphabetic.h: Likewise.
25188         * lib/unictype/pr_punctuation.h: Likewise.
25189         * lib/unictype/pr_sentence_terminal.h: Likewise.
25190         * lib/unictype/pr_terminal_punctuation.h: Likewise.
25191         * lib/unictype/pr_unassigned_code_value.h: Likewise.
25192         * lib/unictype/pr_unified_ideograph.h: Likewise.
25193         * lib/unictype/pr_uppercase.h: Likewise.
25194         * lib/unictype/pr_xid_continue.h: Likewise.
25195         * lib/unictype/pr_xid_start.h: Likewise.
25196         * lib/unictype/pr_zero_width.h: Likewise.
25197         * lib/unictype/scripts.h: Likewise.
25198         * lib/unictype/scripts_byname.gperf: Likewise.
25199         * lib/unictype/sy_java_ident.h: Likewise.
25200         * lib/unigbrk/gbrkprop.h: Likewise.
25201         * lib/unilbrk/lbrkprop1.h: Likewise.
25202         * lib/unilbrk/lbrkprop2.h: Likewise.
25203         * lib/unilbrk/lbrktables.h: Likewise.
25204         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
25205         LBP_CP. Implement rule LB30.
25206         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
25207         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
25208         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
25209         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
25210         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
25211         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
25212         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
25213         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
25214         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
25215         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
25216         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
25217         bits instead of 16 bits in the code1 and code2 of each composition
25218         rule.
25219         (uc_composition): Update for Unicode 5.2.0.
25220         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
25221         * lib/uninorm/decomposition-table2.h: Likewise.
25222         * lib/uniwbrk/wbrkprop.h: Likewise.
25223         * tests/unicase/test-cased.c: Likewise.
25224         * tests/unicase/test-ignorable.c: Likewise.
25225         * tests/unicase/test-uc_tolower.c: Likewise.
25226         * tests/unicase/test-uc_totitle.c: Likewise.
25227         * tests/unicase/test-uc_toupper.c: Likewise.
25228         * tests/unictype/test-categ_C.c: Likewise.
25229         * tests/unictype/test-categ_Cf.c: Likewise.
25230         * tests/unictype/test-categ_Cn.c: Likewise.
25231         * tests/unictype/test-categ_L.c: Likewise.
25232         * tests/unictype/test-categ_Ll.c: Likewise.
25233         * tests/unictype/test-categ_Lm.c: Likewise.
25234         * tests/unictype/test-categ_Lo.c: Likewise.
25235         * tests/unictype/test-categ_Lu.c: Likewise.
25236         * tests/unictype/test-categ_M.c: Likewise.
25237         * tests/unictype/test-categ_Mc.c: Likewise.
25238         * tests/unictype/test-categ_Mn.c: Likewise.
25239         * tests/unictype/test-categ_N.c: Likewise.
25240         * tests/unictype/test-categ_Nd.c: Likewise.
25241         * tests/unictype/test-categ_Nl.c: Likewise.
25242         * tests/unictype/test-categ_No.c: Likewise.
25243         * tests/unictype/test-categ_P.c: Likewise.
25244         * tests/unictype/test-categ_Pd.c: Likewise.
25245         * tests/unictype/test-categ_Po.c: Likewise.
25246         * tests/unictype/test-categ_S.c: Likewise.
25247         * tests/unictype/test-categ_Sc.c: Likewise.
25248         * tests/unictype/test-categ_So.c: Likewise.
25249         * tests/unictype/test-ctype_alnum.c: Likewise.
25250         * tests/unictype/test-ctype_alpha.c: Likewise.
25251         * tests/unictype/test-ctype_graph.c: Likewise.
25252         * tests/unictype/test-ctype_lower.c: Likewise.
25253         * tests/unictype/test-ctype_print.c: Likewise.
25254         * tests/unictype/test-ctype_punct.c: Likewise.
25255         * tests/unictype/test-ctype_upper.c: Likewise.
25256         * tests/unictype/test-decdigit.h: Likewise.
25257         * tests/unictype/test-digit.h: Likewise.
25258         * tests/unictype/test-numeric.h: Likewise.
25259         * tests/unictype/test-pr_alphabetic.c: Likewise.
25260         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
25261         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
25262         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
25263         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
25264         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
25265         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
25266         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
25267         * tests/unictype/test-pr_combining.c: Likewise.
25268         * tests/unictype/test-pr_composite.c: Likewise.
25269         * tests/unictype/test-pr_currency_symbol.c: Likewise.
25270         * tests/unictype/test-pr_dash.c: Likewise.
25271         * tests/unictype/test-pr_decimal_digit.c: Likewise.
25272         * tests/unictype/test-pr_deprecated.c: Likewise.
25273         * tests/unictype/test-pr_diacritic.c: Likewise.
25274         * tests/unictype/test-pr_extender.c: Likewise.
25275         * tests/unictype/test-pr_grapheme_base.c: Likewise.
25276         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
25277         * tests/unictype/test-pr_grapheme_link.c: Likewise.
25278         * tests/unictype/test-pr_id_continue.c: Likewise.
25279         * tests/unictype/test-pr_id_start.c: Likewise.
25280         * tests/unictype/test-pr_ideographic.c: Likewise.
25281         * tests/unictype/test-pr_ignorable_control.c: Likewise.
25282         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
25283         * tests/unictype/test-pr_lowercase.c: Likewise.
25284         * tests/unictype/test-pr_numeric.c: Likewise.
25285         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
25286         * tests/unictype/test-pr_punctuation.c: Likewise.
25287         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
25288         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
25289         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
25290         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
25291         * tests/unictype/test-pr_uppercase.c: Likewise.
25292         * tests/unictype/test-pr_xid_continue.c: Likewise.
25293         * tests/unictype/test-pr_xid_start.c: Likewise.
25294         * tests/unictype/test-pr_zero_width.c: Likewise.
25295         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
25296         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
25297         changed behaviour: line breaking is now disallowed between a letter
25298         or '=' and '('.
25299         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
25300         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
25301         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
25302         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
25303         * tests/uniwidth/test-uc_width2.sh: Same updates as in
25304         lib/uniwidth/width.c.
25305         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
25306         without comments, but with the original copyright notice.
25307         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
25308         changes.
25309         * lib/unictype/categ_Cc.h: Likewise.
25310         * lib/unictype/categ_Co.h: Likewise.
25311         * lib/unictype/categ_Cs.h: Likewise.
25312         * lib/unictype/categ_Lt.h: Likewise.
25313         * lib/unictype/categ_Me.h: Likewise.
25314         * lib/unictype/categ_Pc.h: Likewise.
25315         * lib/unictype/categ_Pe.h: Likewise.
25316         * lib/unictype/categ_Pf.h: Likewise.
25317         * lib/unictype/categ_Pi.h: Likewise.
25318         * lib/unictype/categ_Ps.h: Likewise.
25319         * lib/unictype/categ_Sk.h: Likewise.
25320         * lib/unictype/categ_Sm.h: Likewise.
25321         * lib/unictype/categ_Z.h: Likewise.
25322         * lib/unictype/categ_Zl.h: Likewise.
25323         * lib/unictype/categ_Zp.h: Likewise.
25324         * lib/unictype/categ_Zs.h: Likewise.
25325         * lib/unictype/ctype_blank.h: Likewise.
25326         * lib/unictype/ctype_cntrl.h: Likewise.
25327         * lib/unictype/ctype_digit.h: Likewise.
25328         * lib/unictype/ctype_space.h: Likewise.
25329         * lib/unictype/ctype_xdigit.h: Likewise.
25330         * lib/unictype/mirror.h: Likewise.
25331         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
25332         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
25333         * lib/unictype/pr_bidi_block_separator.h: Likewise.
25334         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
25335         * lib/unictype/pr_bidi_common_separator.h: Likewise.
25336         * lib/unictype/pr_bidi_control.h: Likewise.
25337         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
25338         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
25339         * lib/unictype/pr_bidi_pdf.h: Likewise.
25340         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
25341         * lib/unictype/pr_bidi_whitespace.h: Likewise.
25342         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
25343         * lib/unictype/pr_format_control.h: Likewise.
25344         * lib/unictype/pr_hex_digit.h: Likewise.
25345         * lib/unictype/pr_hyphen.h: Likewise.
25346         * lib/unictype/pr_ids_binary_operator.h: Likewise.
25347         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
25348         * lib/unictype/pr_iso_control.h: Likewise.
25349         * lib/unictype/pr_join_control.h: Likewise.
25350         * lib/unictype/pr_left_of_pair.h: Likewise.
25351         * lib/unictype/pr_line_separator.h: Likewise.
25352         * lib/unictype/pr_math.h: Likewise.
25353         * lib/unictype/pr_non_break.h: Likewise.
25354         * lib/unictype/pr_not_a_character.h: Likewise.
25355         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
25356         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
25357         * lib/unictype/pr_other_id_continue.h: Likewise.
25358         * lib/unictype/pr_other_id_start.h: Likewise.
25359         * lib/unictype/pr_other_lowercase.h: Likewise.
25360         * lib/unictype/pr_other_math.h: Likewise.
25361         * lib/unictype/pr_other_uppercase.h: Likewise.
25362         * lib/unictype/pr_paired_punctuation.h: Likewise.
25363         * lib/unictype/pr_paragraph_separator.h: Likewise.
25364         * lib/unictype/pr_pattern_syntax.h: Likewise.
25365         * lib/unictype/pr_pattern_white_space.h: Likewise.
25366         * lib/unictype/pr_private_use.h: Likewise.
25367         * lib/unictype/pr_quotation_mark.h: Likewise.
25368         * lib/unictype/pr_radical.h: Likewise.
25369         * lib/unictype/pr_soft_dotted.h: Likewise.
25370         * lib/unictype/pr_space.h: Likewise.
25371         * lib/unictype/pr_titlecase.h: Likewise.
25372         * lib/unictype/pr_variation_selector.h: Likewise.
25373         * lib/unictype/pr_white_space.h: Likewise.
25374         * lib/unictype/sy_c_ident.h: Likewise.
25375         * lib/unictype/sy_c_whitespace.h: Likewise.
25376         * lib/unictype/sy_java_whitespace.h: Likewise.
25377         * modules/uni*/*: Bump version number of expected libunistring version.
25378         Reported by Simon Josefsson.
25379
25380 2011-01-09  Karl Heuer  <kwzh@gnu.org>
25381
25382         useless-if-before-free: fix typo in --help and make the internal,
25383         automatic version date update process work once again.
25384         --help output contained a NUL character instead of the
25385         backslash-zero that was intended.  Also, the "must lie within
25386         the first 8 lines" line is on line 9, and hence not getting
25387         automatically updated.
25388         * build-aux/useless-if-before-free: Fix the former by adding a
25389         backslash, and the latter by condensing the three lines of what-it-does
25390         to a single line, leaving one line of slack for the future.
25391
25392 2011-01-09  Bruno Haible  <bruno@clisp.org>
25393
25394         uniwidth/width: Fix width of U+1D173..U+1D17A.
25395         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
25396         symbolic_width, output_width_property_test): New functions.
25397         (main): Invoke output_nonspacing_property, output_width_property_test.
25398         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
25399         U+1D173..U+1D17A.
25400         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
25401         1.
25402         * modules/uniwidth/*: Bump version number of expected libunistring
25403         version.
25404         * modules/unilbrk/*: Likewise.
25405
25406 2011-01-08  Bruno Haible  <bruno@clisp.org>
25407
25408         uninorm tests: Preserve copyright of Unicode data file.
25409         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
25410         Mention modifications.
25411
25412 2011-01-08  Bruno Haible  <bruno@clisp.org>
25413
25414         gen-uni-tables: Prepare for Unicode 5.2.0.
25415         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
25416         (debug_output_lbp, output_lbp): Update.
25417
25418 2011-01-08  Bruno Haible  <bruno@clisp.org>
25419
25420         unilbrk: Clarify gen-uni-tables.c code.
25421         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
25422         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
25423         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
25424
25425 2011-01-07  Bruno Haible  <bruno@clisp.org>
25426
25427         strtod: Restore errno when successfully parsing Infinity or NaN.
25428         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
25429         restore the original errno.
25430
25431 2011-01-07  Bruno Haible  <bruno@clisp.org>
25432
25433         remove test: Avoid failure on HP-UX 11.
25434         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
25435
25436 2011-01-07  Bruno Haible  <bruno@clisp.org>
25437
25438         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
25439         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
25440         error code.
25441
25442 2011-01-07  Pádraig Brady <P@draigBrady.com>
25443
25444         ignore-value: fixup comments, and add Eric Blake
25445         as an author since he rewrote the macros.
25446         * lib/ignore-value.h (ignore_value):  State that
25447         we now support aggregates.  Also specify exactly
25448         when the GCC warn_unused_result feature was added.
25449
25450 2011-01-06  Eric Blake  <eblake@redhat.com>
25451
25452         ignore-value: support aggregate types
25453         * lib/ignore-value.h (ignore_value): Provide separate gcc
25454         definition.
25455         * modules/ignore-value-tests: New test module.
25456         * tests/test-ignore-value.c: New test.
25457
25458         maint.mk: improve sc_prohibit_strcmp regex
25459         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
25460         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
25461         definition of STRNEQ.
25462
25463         signal: work around Haiku issue with SIGBUS
25464         * lib/siglist.h: Add comment.
25465         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
25466         strsignal's favoring of SIGSEGV.
25467         * tests/test-signal.c (main): Avoid test failure.
25468         * doc/posix-headers/signal.texi (signal.h): Document the issue.
25469         Reported by Scott McCreary.
25470
25471         maint.mk: add pre-release check to ensure submodule commits are public
25472         * top/maint.mk (public-submodule-commit): New rule.
25473         (submodule-checks): New variable.
25474         (alpha beta stable): Depend on the variable.
25475
25476 2011-01-05  Pádraig Brady <P@draigBrady.com>
25477         and Jim Meyering  <meyering@redhat.com>
25478
25479         ignore-value: make ignore_value more generic; deprecate ignore_ptr
25480         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
25481         (ATTRIBUTE_DEPRECATED): Define.
25482         (_ignore_case): New function.
25483         (ignore_value): New macro, to replace the old function.
25484         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
25485         * modules/ignore-value (Depends-on): Add stdint.
25486
25487 2011-01-04  Eric Blake  <eblake@redhat.com>
25488
25489         doc: regenerate INSTALL
25490         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
25491         @firstparagraphindent support, now that autoconf dropped it.
25492         (INSTALL_PRELUDE): Reinstate old macro.
25493         * doc/install.texi: Resync from autoconf.
25494         * doc/INSTALL: Reflect recent autoconf update.
25495         * doc/INSTALL.ISO: Likewise.
25496         * doc/INSTALL.UTF-8: Likewise.
25497         Reported by Karl Berry.
25498
25499 2011-01-04  Bruce Korb  <address@hidden>
25500
25501         git-version-gen: avoid a sub-shell
25502         * build-aux/git-version-gen: Redirect stderr in `...` via
25503         "exec 2>...", rather than via an added sub-shell.
25504
25505 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
25506
25507         git-version-gen: use (...) rather than sh -c '...'
25508         * build-aux/git-version-gen: Rather than hard-coding a shell's name
25509         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
25510
25511 2011-01-03  Jim Meyering  <meyering@redhat.com>
25512
25513         git-version-gen: convert leading TABs to spaces
25514         * build-aux/git-version-gen: Expand leading TABs.
25515
25516         git-version-gen: handle failed "git rev-list"
25517         * build-aux/git-version-gen: Rather than leaking a "fatal" error
25518         from git and proceeding as if it had succeeded but printed no SHA1
25519         checksums, suppress the diagnostic and handle the failure.
25520         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
25521
25522         git-version-gen: include command name in one more diagnostic
25523         * build-aux/git-version-gen: When the required .tarball-version file
25524         was missing or unreadable, you might see the diagnostic from "cat",
25525         but no trace of the name of the invoking script.  Now, you still see
25526         the diagnostic from cat, but also get one from "git-version-gen: ".
25527         Inspired by a patch from Bruce Korb.
25528
25529         update-copyright: adjust test to match changed code
25530         * tests/test-update-copyright.sh: Change test's expected output
25531         to match new actual output.
25532
25533 2011-01-02  Bruno Haible  <bruno@clisp.org>
25534
25535         getlogin_r: Avoid test failure on HP-UX 11.
25536         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
25537         ERANGE when the second argument is zero.
25538         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
25539         portability problem.
25540
25541 2011-01-02  Bruce Korb  <bkorb@gnu.org>
25542
25543         * build-aux/update-copyright: doc Simon's changes
25544
25545 2011-01-02  Simon Josefsson  <simon@josefsson.org>
25546
25547         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
25548         environment variable.
25549
25550 2011-01-02  Bruno Haible  <bruno@clisp.org>
25551
25552         unigbrk: Avoid gcc warnings.
25553         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
25554         unused variable.
25555         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
25556         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
25557         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
25558         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
25559         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
25560         Change type of first argument to 'const char *'.
25561         (main): Remove unused variable.
25562         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
25563         type of first argument to 'const char *'.
25564         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
25565         Likewise.
25566         (main): Change type of variable 's'.
25567         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
25568         to 'int'.
25569
25570 2011-01-02  Bruno Haible  <bruno@clisp.org>
25571
25572         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
25573         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
25574         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
25575         bug.
25576         * lib/pwrite.c: Undo 2010-12-31 patch.
25577         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
25578
25579 2011-01-02  Bruno Haible  <bruno@clisp.org>
25580
25581         pread: Fix test whether it works.
25582         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
25583
25584 2011-01-02  Bruno Haible  <bruno@clisp.org>
25585
25586         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
25587         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
25588         ends in "6". Don't require a specific month name. Try also the locale
25589         names found on HP-UX 11 and Solaris 7.
25590
25591 2011-01-02  Bruno Haible  <bruno@clisp.org>
25592
25593         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
25594         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
25595         C linkage.
25596         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
25597
25598 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
25599
25600         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
25601         for consistency, since the "cluster" term is not used elsewhere.
25602         * lib/unigbrk.in.h: Update name.
25603         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
25604         * lib/unigbrk/u16-grapheme-next.c: Update name.
25605         * lib/unigbrk/u16-grapheme-prev.c: Update name.
25606         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
25607         * lib/unigbrk/u32-grapheme-next.c: Update name.
25608         * lib/unigbrk/u32-grapheme-prev.c: Update name.
25609         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
25610         * lib/unigbrk/u8-grapheme-next.c: Update name.
25611         * lib/unigbrk/u8-grapheme-prev.c: Update name.
25612         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
25613         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
25614         Suggested by Bruno Haible.
25615
25616 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
25617
25618         Remove module 'u8-grapheme-len' as too redundant with
25619         'u8-grapheme-next'.
25620         * modules/unigbrk/u8-grapheme-len: Delete file.
25621         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
25622         * lib/unigbrk.in.h: Remove prototype for deleted function.
25623         * lib/unigbrk/u8-grapheme-len.c: Delete file.
25624         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
25625
25626         Remove module 'u16-grapheme-len' as too redundant with
25627         'u16-grapheme-next'.
25628         * modules/unigbrk/u16-grapheme-len: Delete file.
25629         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
25630         * lib/unigbrk.in.h: Remove prototype for deleted function.
25631         * lib/unigbrk/u16-grapheme-len.c: Delete file.
25632         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
25633
25634         Remove module 'u32-grapheme-len' as too redundant with
25635         'u32-grapheme-next'.
25636         * modules/unigbrk/u32-grapheme-len: Delete file.
25637         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
25638         * lib/unigbrk.in.h: Remove prototype for deleted function.
25639         * lib/unigbrk/u32-grapheme-len.c: Delete file.
25640         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
25641
25642         Suggested by Bruno Haible.
25643
25644 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
25645
25646         * unigbrk.in.h: Fix typo: "ben" => "been".
25647         Reported by Bruno Haible.
25648
25649 2011-01-01  Jim Meyering  <meyering@redhat.com>
25650
25651         maint: update almost all copyright ranges to include 2011
25652         Run the new "make update-copyright" rule.
25653
25654 2011-01-01  Jim Meyering  <meyering@redhat.com>
25655
25656         maint: update-copyright: exempt doc/INSTALL*
25657         * Makefile (update-copyright): Also exclude doc/INSTALL*,
25658         since they are generated.  Suggested by Bruno Haible.
25659
25660 2011-01-01  Jim Meyering  <meyering@redhat.com>
25661
25662         maint: refine the update-copyright rule
25663         * Makefile (update-copyright): Also exclude any file that includes
25664         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
25665         code that merely generates the comment.
25666
25667 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
25668
25669         New module 'u8-grapheme-len'.
25670         * modules/unigbrk/u8-grapheme-len: New file.
25671         * modules/unigbrk/u8-grapheme-len-tests: New file.
25672         * lib/unigbrk.in.h: Add prototype for new function.
25673         * lib/unigbrk/u8-grapheme-len.c: New file.
25674         * tests/unigbrk/test-u8-grapheme-len.c: New file.
25675
25676         New module 'u16-grapheme-len'.
25677         * modules/unigbrk/u16-grapheme-len: New file.
25678         * modules/unigbrk/u16-grapheme-len-tests: New file.
25679         * lib/unigbrk.in.h: Add prototype for new function.
25680         * lib/unigbrk/u16-grapheme-len.c: New file.
25681         * tests/unigbrk/test-u16-grapheme-len.c: New file.
25682
25683         New module 'u32-grapheme-len'.
25684         * modules/unigbrk/u32-grapheme-len: New file.
25685         * modules/unigbrk/u32-grapheme-len-tests: New file.
25686         * lib/unigbrk.in.h: Add prototype for new function.
25687         * lib/unigbrk/u32-grapheme-len.c: New file.
25688         * tests/unigbrk/test-u32-grapheme-len.c: New file.
25689
25690         New module 'u8-grapheme-next'.
25691         * modules/unigbrk/u8-grapheme-next: New file.
25692         * modules/unigbrk/u8-grapheme-next-tests: New file.
25693         * lib/unigbrk.in.h: Add prototype for new function.
25694         * lib/unigbrk/u8-grapheme-next.c: New file.
25695         * tests/unigbrk/test-u8-grapheme-next.c: New file.
25696
25697         New module 'u16-grapheme-next'.
25698         * modules/unigbrk/u16-grapheme-next: New file.
25699         * modules/unigbrk/u16-grapheme-next-tests: New file.
25700         * lib/unigbrk.in.h: Add prototype for new function.
25701         * lib/unigbrk/u16-grapheme-next.c: New file.
25702         * tests/unigbrk/test-u16-grapheme-next.c: New file.
25703
25704         New module 'u32-grapheme-next'.
25705         * modules/unigbrk/u32-grapheme-next: New file.
25706         * modules/unigbrk/u32-grapheme-next-tests: New file.
25707         * lib/unigbrk.in.h: Add prototype for new function.
25708         * lib/unigbrk/u32-grapheme-next.c: New file.
25709         * tests/unigbrk/test-u32-grapheme-next.c: New file.
25710
25711         New module 'u8-grapheme-prev'.
25712         * modules/unigbrk/u8-grapheme-prev: New file.
25713         * modules/unigbrk/u8-grapheme-prev-tests: New file.
25714         * lib/unigbrk.in.h: Add prototype for new function.
25715         * lib/unigbrk/u8-grapheme-prev.c: New file.
25716         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
25717
25718         New module 'u16-grapheme-prev'.
25719         * modules/unigbrk/u16-grapheme-prev: New file.
25720         * modules/unigbrk/u16-grapheme-prev-tests: New file.
25721         * lib/unigbrk.in.h: Add prototype for new function.
25722         * lib/unigbrk/u16-grapheme-prev.c: New file.
25723         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
25724
25725         New module 'u32-grapheme-prev'.
25726         * modules/unigbrk/u32-grapheme-prev: New file.
25727         * modules/unigbrk/u32-grapheme-prev-tests: New file.
25728         * lib/unigbrk.in.h: Add prototype for new function.
25729         * lib/unigbrk/u32-grapheme-prev.c: New file.
25730         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
25731
25732         New module 'u8-grapheme-breaks'.
25733         * modules/unigbrk/u8-grapheme-breaks: New file.
25734         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
25735         * lib/unigbrk.in.h: Add prototype for new function.
25736         * lib/unigbrk/u8-grapheme-breaks.c: New file.
25737         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
25738
25739         New module 'u16-grapheme-breaks'.
25740         * modules/unigbrk/u16-grapheme-breaks: New file.
25741         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
25742         * lib/unigbrk.in.h: Add prototype for new function.
25743         * lib/unigbrk/u16-grapheme-breaks.c: New file.
25744         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
25745
25746         New module 'u32-grapheme-breaks'.
25747         * modules/unigbrk/u32-grapheme-breaks: New file.
25748         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
25749         * lib/unigbrk.in.h: Add prototype for new function.
25750         * lib/unigbrk/u32-grapheme-breaks.c: New file.
25751         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
25752
25753         New module 'ulc-grapheme-breaks'.
25754         * modules/unigbrk/ulc-grapheme-breaks: New file.
25755         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
25756         * m4/locale-ar.m4: New file.
25757         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
25758         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
25759         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
25760
25761 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
25762
25763         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
25764         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
25765         modified how this file was generated before I initially submitted
25766         the module, but failed to regenerate it.  This meant that several
25767         of the level2 entries were wrong.
25768         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
25769         Remove the division-by-2 that is folded into the table now that
25770         gbrkprop.h has been regenerated properly.  Now -1 entries are
25771         handled correctly.
25772
25773         New module 'unigbrk/uc-gbrk-prop-tests'.
25774         * modules/unigbrk/uc-gbrk-prop-tests: New file.
25775         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
25776         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
25777         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
25778
25779 2011-01-01  Bruno Haible  <bruno@clisp.org>
25780
25781         Avoid use of hexadecimal escapes.
25782         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
25783         instead of hexadecimal escapes.
25784
25785 2011-01-01  Jim Meyering  <meyering@redhat.com>
25786
25787         maint: new rule to update copyright year ranges
25788         * Makefile (update-copyright): New rule.
25789
25790         maint: indent with TABs in Makefile
25791         * Makefile: Expand leading sequences of spaces to TABs
25792
25793         version-etc: update the copyright year it reports
25794         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
25795
25796 2010-12-31  Bruno Haible  <bruno@clisp.org>
25797
25798         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
25799         * lib/isfinite.c (zerof, zerod, zerol): New variables.
25800         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
25801         zero.
25802
25803 2010-12-31  Bruno Haible  <bruno@clisp.org>
25804
25805         pwrite: Work around HP-UX 11.11 bug.
25806         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
25807         works and set REPLACE_PWRITE if not.
25808         * lib/pwrite.c (pwrite): Add an implementation that uses the system
25809         function.
25810         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
25811
25812 2010-12-31  Bruno Haible  <bruno@clisp.org>
25813
25814         pread: Work around HP-UX 11 bugs.
25815         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
25816         and set REPLACE_PREAD if not.
25817         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
25818
25819 2010-12-31  Eric Blake  <eblake@redhat.com>
25820
25821         nl_langinfo: fix YESEXPR on Irix 6.5
25822         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
25823         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
25824         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
25825         it.
25826
25827 2010-12-31  Bruno Haible  <bruno@clisp.org>
25828
25829         iconv: Document HP-UX 11 bug.
25830         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
25831
25832 2010-12-31  Bruno Haible  <bruno@clisp.org>
25833
25834         ldexpl: Fix link error on HP-UX 11.
25835         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
25836         LDEXPL_LIBM, using $ISNANL_LIBM.
25837
25838 2010-12-31  Eric Blake  <eblake@redhat.com>
25839
25840         ftello: avoid compilation failure with SunStudio c89
25841         * lib/ftello.c (ftello): Use lseek, not llseek.
25842
25843         tests: avoid failing coreutils tests on cygwin
25844         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
25845         (create_exe_shims_): Return 0 when skipping.
25846
25847 2010-12-31  Bruno Haible  <bruno@clisp.org>
25848
25849         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
25850         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
25851
25852 2010-12-31  Bruno Haible  <bruno@clisp.org>
25853
25854         waitpid: Fix link error in C++ mode.
25855         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
25856
25857 2010-12-31  Bruno Haible  <bruno@clisp.org>
25858
25859         isnan: Use GCC built-ins when possible.
25860         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
25861         __builtin_isnan.
25862         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
25863         (isnan): Define using GCC built-ins for GCC >= 4.0.
25864
25865 2010-12-31  Bruno Haible  <bruno@clisp.org>
25866
25867         isnand: Fix mistake.
25868         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
25869         __builtin_isnand.
25870
25871 2010-12-31  Bruno Haible  <bruno@clisp.org>
25872
25873         open: Avoid C++ error on HP-UX 11.
25874         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
25875
25876 2010-12-31  Bruno Haible  <bruno@clisp.org>
25877
25878         time_r: Add missing declarations on HP-UX 11.
25879         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
25880         instead of HAVE_LOCALTIME_R.
25881         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
25882         HAVE_LOCALTIME_R always.
25883         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
25884         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
25885         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
25886         HAVE_LOCALTIME_R.
25887         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
25888         * doc/posix-functions/localtime_r.texi: Likewise.
25889
25890 2010-12-29  Eric Blake  <eblake@redhat.com>
25891
25892         mountlist: tweak previous commit
25893         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
25894         Reported by Paul Eggert.
25895
25896         mountlist: fix local drive detection on cygwin
25897         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
25898         that works for cygwin.
25899
25900 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
25901
25902         ftoastr, snprintf: ftoastr + snprintf module
25903         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
25904         since the snprintf module now should be good enough here.
25905         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
25906         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
25907         and gl_MODULE_INDICATOR([snprintf]), but the former enables
25908         GNULIB_SNPRINTF only for the test directory, and the latter
25909         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
25910         seems to suffice by itself.
25911
25912 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
25913
25914         alloca: one step towards thread-safety
25915         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
25916         need for a static variable.  All callers changed.  This does not
25917         make the alloca replacement thread-safe, but it's one step.
25918
25919         tests: minor indenting change
25920         * tests/init.sh: Sync from coreutils housekeeping patch
25921         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
25922         to keep lines within 80 columns.
25923
25924 2010-12-28  Jim Meyering  <meyering@redhat.com>
25925
25926         regex: don't infloop on persistent failing calloc
25927         * lib/regexec.c (build_trtable): Return failure indication upon
25928         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
25929         In glibc, this was fixed for version 2.13:
25930         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
25931
25932 2010-12-28  Bruno Haible  <bruno@clisp.org>
25933             Paul Eggert <eggert@cs.ucla.edu>
25934
25935         linkat: Make implementation robust against system behaviour variations.
25936         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
25937         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
25938         way, and to -2 if it needs a generic runtime test.
25939         * lib/linkat.c (solaris_optimized_link_immediate,
25940         solaris_optimized_link_follow): New functions.
25941         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
25942         (check_same_link): Use it.
25943
25944 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
25945
25946         New module 'unigbrk/base'.
25947         * modules/unigbrk/base: New file.
25948         * lib/unigbrk.in.h: New file.
25949
25950         New module 'unigbrk/uc-gbrk-prop'.
25951         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
25952         * modules/unigbrk/uc-gbrk-prop: New file.
25953         * lib/unigbrk/gbrkprop.h: New file.
25954         * lib/unigbrk/uc-gbrk-prop.c: New file.
25955
25956         New module 'unigbrk/uc-is-grapheme-break'.
25957         * modules/unigbrk/uc-is-grapheme-break: New file.
25958         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
25959         * lib/unigbrk/uc-is-grapheme-break.c: New file.
25960         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
25961         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
25962         * tests/unigbrk/GraphemeBreakTest.txt: New file.
25963
25964         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
25965
25966 2010-12-27  Bruno Haible  <bruno@clisp.org>
25967
25968         linkat test: Avoid failure on Solaris 11 2010-11.
25969         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
25970
25971 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
25972
25973         utimens: work around glibc rounding bug on more platforms
25974         * lib/utimens.c (fdutimens): Work around rounding bug even if
25975         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
25976         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
25977
25978 2010-12-27  Bruno Haible  <bruno@clisp.org>
25979
25980         select tests: Improve comments.
25981         * tests/test-select.c (do_select): Add comments.
25982
25983 2010-12-27  Bruno Haible  <bruno@clisp.org>
25984
25985         select tests: Safer way of handling timeout.
25986         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
25987         at every invocation.
25988
25989 2010-12-27  Bruno Haible  <bruno@clisp.org>
25990
25991         select tests: Use 'bool' where appropriate.
25992         * tests/test-select.c (connect_to_socket): Change argument type to
25993         'bool'.
25994
25995 2010-12-27  Bruno Haible  <bruno@clisp.org>
25996
25997         select tests: Use existing modules.
25998         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
25999         (configure.ac): Don't test for unistd.h.
26000         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
26001         declared in <unistd.h>.
26002
26003 2010-12-27  Bruno Haible  <bruno@clisp.org>
26004
26005         mbrtowc: Work around a Solaris 7 bug.
26006         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
26007         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
26008         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
26009         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
26010         MBRTOWC_NULL_ARG1_BUG.
26011         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
26012         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
26013         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
26014         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
26015
26016 2010-12-27  Jim Meyering  <meyering@redhat.com>
26017
26018         read-file.c: tweak syntax
26019         * lib/read-file.c (fread_file): Remove space after "*" in function
26020         definitions.
26021
26022 2010-12-27  Bruno Haible  <bruno@clisp.org>
26023
26024         times test: Avoid gcc warnings on OSF/1.
26025         * tests/test-times.c (main): Cast printf arguments from clock_t to
26026         'long int'.
26027
26028 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
26029
26030         utimens: work around glibc rounding bug on older Linux kernels
26031         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
26032         on Linux with a glibc whose utimes might not work, then work
26033         around a longstanding glibc bug involving rounding rather than
26034         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
26035         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
26036
26037 2010-12-26  Bruno Haible  <bruno@clisp.org>
26038
26039         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
26040         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
26041         _GL_CXXALIAS_SYS.
26042         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26043
26044 2010-12-26  Bruno Haible  <bruno@clisp.org>
26045
26046         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
26047         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
26048         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
26049         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
26050         looking for the declaration.
26051         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
26052         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
26053         problem.
26054         * doc/posix-functions/inet_pton.texi: Likewise.
26055
26056 2010-12-26  Bruno Haible  <bruno@clisp.org>
26057
26058         arpa_inet: Use the common idioms with C++ support.
26059         * lib/arpa_inet.in.h: Include c++defs.h.
26060         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
26061         support.
26062         * modules/arpa_inet (Depends-on): Add c++defs.
26063         (Makefile.am): Substitute the contents of c++defs.h.
26064         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
26065         * modules/arpa_inet-c++-tests: New file.
26066         * tests/test-arpa_inet-c++.cc: New file.
26067
26068 2010-12-25  Bruno Haible  <bruno@clisp.org>
26069
26070         Fix more C++ link errors on Solaris 8.
26071         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
26072         $(LIB_EACCESS).
26073         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
26074         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
26075         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
26076         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
26077         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
26078
26079 2010-12-25  Bruno Haible  <bruno@clisp.org>
26080
26081         printf-posix: Fix link error when a non-GCC compiler is used.
26082         * lib/stdio.in.h (printf): When not using GCC, override printf
26083         correctly.
26084         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26085
26086 2010-12-25  Bruno Haible  <bruno@clisp.org>
26087
26088         strerror_r-posix: Update doc.
26089         * doc/posix-functions/strerror_r.texi: Update doc about the return
26090         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
26091
26092 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
26093
26094         utimens: simplify the logic of the previous change
26095         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
26096         This should not affect whether the test succeeds or fails.
26097
26098         utimens: configure better on hosts with NFS clock skew
26099         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
26100         uses the clock of the local host.  It might use the clock of the
26101         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
26102         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
26103
26104 2010-12-25  Bruno Haible  <bruno@clisp.org>
26105
26106         ptsname test: Avoid failure on Solaris.
26107         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
26108         open a pseudo-terminal; don't use BSD-style ptys.
26109         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
26110
26111 2010-12-25  Bruno Haible  <bruno@clisp.org>
26112
26113         ptsname: Avoid ERANGE failure on some systems.
26114         * lib/ptsname.c (buffer): Increase size.
26115
26116 2010-12-25  Bruno Haible  <bruno@clisp.org>
26117
26118         rename, renameat: Avoid test failures at NFS mounted locations.
26119         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
26120         so that subsequent mkdir calls succeed.
26121
26122 2010-12-25  Bruno Haible  <bruno@clisp.org>
26123
26124         iswblank: Fix C++ link error on Solaris 8.
26125         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
26126         _GL_FUNCDECL_SYS.
26127
26128 2010-12-25  Bruno Haible  <bruno@clisp.org>
26129
26130         unistd: Fix C++ link error on Solaris 8.
26131         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
26132
26133 2010-12-25  Bruno Haible  <bruno@clisp.org>
26134
26135         readlink doc: Mention an old glibc bug.
26136         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
26137
26138 2010-12-25  Bruno Haible  <bruno@clisp.org>
26139
26140         fcntl-h: Fix for use of C++ on glibc systems.
26141         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
26142         also on glibc systems in C++ mode.
26143         Reported by Gary V. Vaughan <gary@gnu.org>.
26144
26145 2010-12-25  Bruno Haible  <bruno@clisp.org>
26146
26147         roundl-ieee: Make it work on OSF/1 5.1 with cc.
26148         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
26149
26150 2010-12-25  Bruno Haible  <bruno@clisp.org>
26151
26152         truncl-ieee: Make it work on OSF/1 5.1 with cc.
26153         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
26154         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
26155         test whether truncl works according to ISO C 99 with IEC 60559.
26156         * m4/truncl-ieee.m4: New file.
26157         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
26158         m4/signbit.m4.
26159         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
26160
26161 2010-12-25  Bruno Haible  <bruno@clisp.org>
26162
26163         ceill-ieee: Make it work on OSF/1 5.1 with cc.
26164         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
26165         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
26166         test whether ceill works according to ISO C 99 with IEC 60559.
26167         * m4/ceill-ieee.m4: New file.
26168         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
26169         m4/signbit.m4.
26170         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
26171
26172 2010-12-25  Bruno Haible  <bruno@clisp.org>
26173
26174         Ensure all prerequisites of <wchar.h> are included.
26175         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
26176         before <wchar.h>.
26177         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
26178         gl_MBRLEN_NUL_RETVAL): Likewise.
26179         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
26180         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
26181         AC_FUNC_MBRTOWC): Likewise.
26182         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
26183         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
26184         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
26185         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
26186         Likewise.
26187         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
26188         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
26189         (gl_WCHAR_H): Improve comments.
26190         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
26191
26192 2010-12-25  Bruno Haible  <bruno@clisp.org>
26193
26194         strtok_r: Fix C syntax error in autoconf macro.
26195         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
26196         characters in test program.
26197
26198 2010-12-24  Bruno Haible  <bruno@clisp.org>
26199
26200         ceil, trunc, round: Fix gcc warnings.
26201         * lib/ceil.c (MIN): Undefine before redefining.
26202         * lib/trunc.c (MIN): Likewise.
26203         * lib/round.c (MIN): Likewise.
26204         Include <math.h> first.
26205
26206 2010-12-24  Bruno Haible  <bruno@clisp.org>
26207
26208         select tests: Avoid failures on OSF/1 5.1.
26209         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
26210         failure of closing the last socket; it may fail with ECONNRESET.
26211
26212 2010-12-24  Eric Blake  <eblake@redhat.com>
26213
26214         stdint: avoid HP-UX 10.20 preprocessor bug
26215         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
26216         than #if.
26217         * tests/test-floor2.c (main): Likewise.
26218         Reported by Peter O'Gorman.
26219
26220         pipe: make obsoletion transition easier
26221         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
26222         * modules/pipe (Files): Include revived file.
26223         (Include): Drop reference, to mirror getdate's behavior.
26224
26225 2010-12-24  Bruno Haible  <bruno@clisp.org>
26226
26227         sys_socket: Hide mismatch of declarations on NonStop Kernel.
26228         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
26229         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
26230         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26231
26232 2010-12-24  Bruno Haible  <bruno@clisp.org>
26233
26234         gethostname: Ensure declaration on NonStop Kernel.
26235         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
26236         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26237
26238 2010-12-24  Bruno Haible  <bruno@clisp.org>
26239
26240         sys_select: Ensure all necessary types on NonStop Kernel.
26241         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
26242         include <sys/time.h>.
26243         * doc/posix-headers/sys_select.texi: Mention that it's missing on
26244         NonStop Kernel.
26245         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26246
26247 2010-12-24  Bruno Haible  <bruno@clisp.org>
26248
26249         sys_select: Remove unneeded include.
26250         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
26251         have <sys/select.h>.
26252
26253 2010-12-24  Bruno Haible  <bruno@clisp.org>
26254
26255         gethostname: Provide a fallback for HOST_NAME_MAX.
26256         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
26257         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
26258         instead.
26259         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26260
26261 2010-12-24  Bruno Haible  <bruno@clisp.org>
26262
26263         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
26264         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
26265         (SA_RESTART): Likewise.
26266         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26267
26268 2010-12-24  Bruno Haible  <bruno@clisp.org>
26269
26270         signal: Define NSIG.
26271         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
26272         * tests/test-signal.c (nsig): New variable.
26273         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26274
26275 2010-12-24  Bruno Haible  <bruno@clisp.org>
26276
26277         rename, renameat: Avoid test failures on OSF/1 5.1.
26278         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
26279         alternative error codes.
26280         * tests/test-renameat.c (main): Likewise.
26281
26282 2010-12-24  Bruno Haible  <bruno@clisp.org>
26283
26284         *printf: Detect large precisions bug on Solaris 10/SPARC.
26285         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
26286         by Paul Eggert.
26287         * tests/test-snprintf-posix.h (test_function): Add this test code here
26288         too.
26289         * tests/test-sprintf-posix.h (test_function): Likewise.
26290         * tests/test-vasnprintf-posix.c (test_function): Likewise.
26291         * tests/test-vasprintf-posix.c (test_function): Likewise.
26292         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
26293         around by gnulib.
26294         * doc/posix-functions/printf.texi: Likewise.
26295         * doc/posix-functions/snprintf.texi: Likewise.
26296         * doc/posix-functions/sprintf.texi: Likewise.
26297         * doc/posix-functions/vfprintf.texi: Likewise.
26298         * doc/posix-functions/vprintf.texi: Likewise.
26299         * doc/posix-functions/vsnprintf.texi: Likewise.
26300         * doc/posix-functions/vsprintf.texi: Likewise.
26301         * doc/posix-functions/dprintf.texi: Undo last commit.
26302         * doc/posix-functions/vdprintf.texi: Likewise.
26303
26304 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
26305
26306         tests: port test-fdutimensat.c to Solaris 8
26307         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
26308         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
26309         On Solaris 8, it fails with errno == ENOSYS, because there is no
26310         futimens (so it can't use the fd), and there is no lutimens (so it
26311         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
26312
26313         vsnprintf: make more consistent with snprintf; doc fixes
26314
26315         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
26316         the byte count return problem was promoted from the snprintf-posix
26317         to the snprintf module.
26318         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
26319         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
26320         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
26321         * tests/test-snprintf.c (main): Check the byte count returned.
26322         * tests/test-vsnprintf.c (main): Likewise.
26323
26324 2010-12-23  Eric Blake  <eblake@redhat.com>
26325
26326         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
26327         * modules/sigpipe (License): Relax license.
26328
26329 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
26330
26331         doc: document Solaris printf bug with large float precisions
26332         * doc/posix-functions/dprintf.texi (dprintf):
26333         * doc/posix-functions/fprintf.texi (fprintf):
26334         * doc/posix-functions/printf.texi (printf):
26335         * doc/posix-functions/snprintf.texi (snprintf):
26336         * doc/posix-functions/sprintf.texi (sprintf):
26337         * doc/posix-functions/vdprintf.texi (vdprintf):
26338         * doc/posix-functions/vfprintf.texi (vfprintf):
26339         * doc/posix-functions/vprintf.texi (vprintf):
26340         * doc/posix-functions/vsnprintf.texi (vsnprintf):
26341         * doc/posix-functions/vsprintf.texi (vsprintf):
26342         Mention that these functions mishandle large floating point
26343         precisions on Solaris 10.  The same bug is also present in Solaris
26344         8, and I assume earlier.  This causes "cd gnulib-tests; make
26345         check" to fail on Solaris 8 (and I assume, later) when building
26346         the latest coreutils, in test-vasprintf-posix's call to
26347         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
26348         the wide flavors (e.g., wprintf) so this patch just updates the
26349         documentation for the narrow ones.
26350
26351         test-posixtm.c: add two tests
26352         * tests/test-posixtm.c: Add two tests, to highlight the
26353         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
26354         around this bug; this is merely to document it.
26355
26356 2010-12-22  Bruno Haible  <bruno@clisp.org>
26357
26358         getlogin_r: Work around portability problem on OSF/1.
26359         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
26360         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
26361         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
26362         test for a truncated result.
26363         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
26364         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
26365         * modules/getlogin_r (Depends-on): Add memchr.
26366         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
26367
26368 2010-12-22  Bruno Haible  <bruno@clisp.org>
26369
26370         ptsname: Avoid test failure on OSF/1 5.1.
26371         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
26372         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
26373         (same_slave): New function.
26374         (main): Use it to compare ptsname's result with the expected file name.
26375
26376 2010-12-22  Bruno Haible  <bruno@clisp.org>
26377
26378         Port extended stdio modules to HP NonStop Kernel.
26379         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
26380         macros.
26381         * lib/fbufmode.c: Update comments.
26382         * lib/fflush.c: Likewise.
26383         * lib/fpurge.c: Likewise.
26384         * lib/freadable.c: Likewise.
26385         * lib/freadahead.c: Likewise.
26386         * lib/freading.c: Likewise.
26387         * lib/freadptr.c: Likewise.
26388         * lib/freadseek.c: Likewise.
26389         * lib/fseeko.c: Likewise.
26390         * lib/fseterr.c: Likewise.
26391         * lib/fwritable.c: Likewise.
26392         * lib/fwriting.c: Likewise.
26393         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26394
26395 2010-12-22  Bruno Haible  <bruno@clisp.org>
26396
26397         ttyname_r: Work around bug on OSF/1 5.1.
26398         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
26399         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
26400         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
26401         present.
26402         * lib/ttyname_r.c (ttyname_r): Update comments.
26403
26404 2010-12-22  Bruno Haible  <bruno@clisp.org>
26405
26406         round: Implement result sign according to IEEE 754.
26407         * lib/round.c (MIN, MINUS_ZERO): New macros.
26408         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
26409         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
26410         * tests/test-round-ieee.c (main): Likewise.
26411         * tests/test-roundl-ieee.c (main): Likewise.
26412
26413         trunc: Implement result sign according to IEEE 754.
26414         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
26415         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
26416         * tests/test-trunc2.c: Include minus-zero.h.
26417         (MINUS_ZERO): New macro.
26418         (trunc_reference): Keep in sync with lib/trunc.c.
26419         * tests/test-truncf2.c: Include minus-zero.h.
26420         (MINUS_ZERO): New macro.
26421         (truncf_reference): Keep in sync with lib/trunc.c.
26422         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
26423         * tests/test-trunc-ieee.c (main): Likewise.
26424         * tests/test-truncl-ieee.c (main): Likewise.
26425
26426         ceil: Implement result sign according to IEEE 754.
26427         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
26428         (FUNC): Return -0.0 for -1 < x < 0.
26429         * tests/test-ceil2.c: Include minus-zero.h.
26430         (MINUS_ZERO): New macro.
26431         (ceil_reference): Keep in sync with lib/ceil.c.
26432         * tests/test-ceilf2.c: Include minus-zero.h.
26433         (MINUS_ZERO): New macro.
26434         (ceilf_reference): Keep in sync with lib/ceil.c.
26435         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
26436         * tests/test-ceil-ieee.c (main): Likewise.
26437         * tests/test-ceill-ieee.c (main): Likewise.
26438
26439         floor: Implement result sign according to IEEE 754.
26440         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
26441         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
26442         * tests/test-floorf2.c (floorf_reference): Likewise.
26443         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
26444         * tests/test-floor-ieee.c (main): Likewise.
26445         * tests/test-floorl-ieee.c (main): Likewise.
26446
26447 2010-12-22  Bruno Haible  <bruno@clisp.org>
26448
26449         getaddrinfo: Update doc.
26450         * doc/posix-functions/gai_strerror.texi: Return type is also different
26451         on AIX and HP-UX.
26452
26453 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
26454
26455         getaddrinfo, inet_ntop: Update doc for Solaris.
26456         * doc/posix-functions/gai_strerror.texi: Return type is also an
26457         issue on Solaris 9 and earlier.
26458         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
26459         on Solaris 10 and earlier.
26460
26461 2010-12-21  Bruno Haible  <bruno@clisp.org>
26462
26463         New module 'roundl-ieee'.
26464         * modules/roundl-ieee: New file.
26465         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
26466         test whether roundl works according to ISO C 99 with IEC 60559.
26467         * m4/roundl-ieee.m4: New file.
26468         * modules/roundl-ieee-tests: New file.
26469         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
26470         * tests/test-roundl.c (main): Remove signbit tests.
26471         * modules/roundl-tests (Depends-on): Remove signbit.
26472         * doc/posix-functions/roundl.texi: Mention the new module.
26473
26474 2010-12-21  Bruno Haible  <bruno@clisp.org>
26475
26476         New module 'truncl-ieee'.
26477         * modules/truncl-ieee: New file.
26478         * modules/truncl-ieee-tests: New file.
26479         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
26480         * tests/test-truncl.c (main): Remove signbit tests.
26481         * modules/truncl-tests (Depends-on): Remove signbit.
26482         * doc/posix-functions/truncl.texi: Mention the new module.
26483
26484 2010-12-21  Bruno Haible  <bruno@clisp.org>
26485
26486         New module 'ceill-ieee'.
26487         * modules/ceill-ieee: New file.
26488         * modules/ceill-ieee-tests: New file.
26489         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
26490         * tests/test-ceill.c (main): Remove signbit tests.
26491         * modules/ceill-tests (Depends-on): Remove signbit.
26492         * doc/posix-functions/ceill.texi: Mention the new module.
26493
26494 2010-12-21  Bruno Haible  <bruno@clisp.org>
26495
26496         New module 'floorl-ieee'.
26497         * modules/floorl-ieee: New file.
26498         * modules/floorl-ieee-tests: New file.
26499         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
26500         * tests/test-floorl.c (main): Remove signbit tests.
26501         * modules/floorl-tests (Depends-on): Remove signbit.
26502         * doc/posix-functions/floorl.texi: Mention the new module.
26503
26504 2010-12-21  Bruno Haible  <bruno@clisp.org>
26505
26506         New module 'round-ieee'.
26507         * modules/round-ieee: New file.
26508         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
26509         whether round works according to ISO C 99 with IEC 60559.
26510         * m4/round-ieee.m4: New file.
26511         * modules/round-ieee-tests: New file.
26512         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
26513         * tests/test-round1.c (main): Remove signbit tests.
26514         * modules/round-tests (Depends-on): Remove 'signbit'.
26515         * doc/posix-functions/round.texi: Mention the new module.
26516
26517 2010-12-21  Bruno Haible  <bruno@clisp.org>
26518
26519         New module 'trunc-ieee'.
26520         * modules/trunc-ieee: New file.
26521         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
26522         whether trunc works according to ISO C 99 with IEC 60559.
26523         * m4/trunc-ieee.m4: New file.
26524         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
26525         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
26526         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
26527         * modules/trunc-ieee-tests: New file.
26528         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
26529         * tests/test-trunc1.c (main): Remove signbit tests.
26530         * modules/trunc-tests (Depends-on): Remove 'signbit'.
26531         * doc/posix-functions/trunc.texi: Mention the new module.
26532
26533 2010-12-21  Bruno Haible  <bruno@clisp.org>
26534
26535         New module 'ceil-ieee'.
26536         * modules/ceil-ieee: New file.
26537         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
26538         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
26539         ISO C 99 with IEC 60559.
26540         * m4/ceil-ieee.m4: New file.
26541         * modules/ceil (Files): Add lib/ceil.c.
26542         (Depends-on): Add 'float'.
26543         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
26544         * lib/math.in.h (ceil): New declaration.
26545         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
26546         REPLACE_CEIL.
26547         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
26548         * modules/ceil-ieee-tests: New file.
26549         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
26550         * tests/test-math-c++.cc: Check the signature of 'ceil'.
26551         * doc/posix-functions/ceil.texi: Mention the new module.
26552
26553 2010-12-21  Bruno Haible  <bruno@clisp.org>
26554
26555         New module 'floor-ieee'.
26556         * modules/floor-ieee: New file.
26557         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
26558         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
26559         ISO C 99 with IEC 60559.
26560         * m4/floor-ieee.m4: New file.
26561         * modules/floor (Files): Add lib/floor.c.
26562         (Depends-on): Add 'float'.
26563         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
26564         * lib/math.in.h (floor): New declaration.
26565         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
26566         REPLACE_FLOOR.
26567         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
26568         * modules/floor-ieee-tests: New file.
26569         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
26570         * tests/test-math-c++.cc: Check the signature of 'floor'.
26571         * doc/posix-functions/floor.texi: Mention the new module.
26572
26573 2010-12-21  Bruno Haible  <bruno@clisp.org>
26574
26575         New module 'roundf-ieee'.
26576         * modules/roundf-ieee: New file.
26577         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
26578         test whether roundf works according to ISO C 99 with IEC 60559.
26579         * m4/roundf-ieee.m4: New file.
26580         * modules/roundf-ieee-tests: New file.
26581         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
26582         * tests/test-roundf1.c (main): Remove signbit tests.
26583         * modules/roundf-tests (Depends-on): Remove 'signbit'.
26584         * doc/posix-functions/roundf.texi: Mention the new module.
26585
26586 2010-12-21  Bruno Haible  <bruno@clisp.org>
26587
26588         New module 'truncf-ieee'.
26589         * modules/truncf-ieee: New file.
26590         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
26591         test whether truncf works according to ISO C 99 with IEC 60559.
26592         * m4/truncf-ieee.m4: New file.
26593         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
26594         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
26595         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
26596         * modules/truncf-ieee-tests: New file.
26597         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
26598         * tests/test-truncf1.c (main): Remove signbit tests.
26599         * modules/truncf-tests (Depends-on): Remove 'signbit'.
26600         * doc/posix-functions/truncf.texi: Mention the new module.
26601
26602 2010-12-21  Bruno Haible  <bruno@clisp.org>
26603
26604         New module 'ceilf-ieee'.
26605         * modules/ceilf-ieee: New file.
26606         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
26607         test whether ceilf works according to ISO C 99 with IEC 60559.
26608         * m4/ceilf-ieee.m4: New file.
26609         * modules/ceilf-ieee-tests: New file.
26610         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
26611         * tests/test-ceilf1.c (main): Remove signbit tests.
26612         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
26613         * doc/posix-functions/ceilf.texi: Mention the new module.
26614
26615 2010-12-21  Bruno Haible  <bruno@clisp.org>
26616
26617         New module 'floorf-ieee'.
26618         * modules/floorf-ieee: New file.
26619         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
26620         test whether floorf works according to ISO C 99 with IEC 60559.
26621         * m4/floorf-ieee.m4: New file.
26622         * modules/floorf-ieee-tests: New file.
26623         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
26624         * tests/test-floorf1.c (main): Remove signbit tests.
26625         * modules/floorf-tests (Depends-on): Remove 'signbit'.
26626         * doc/posix-functions/floorf.texi: Mention the new module.
26627
26628 2010-12-21  Bruno Haible  <bruno@clisp.org>
26629
26630         Support for minus zero in autoconf macros.
26631         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
26632         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
26633         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
26634         * tests/minus-zero.h: Update comments.
26635
26636 2010-12-21  Bruno Haible  <bruno@clisp.org>
26637
26638         Tests for module 'ceil'.
26639         * modules/ceil-tests: New file.
26640         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
26641         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
26642
26643 2010-12-21  Bruno Haible  <bruno@clisp.org>
26644
26645         Tests for module 'floor'.
26646         * modules/floor-tests: New file.
26647         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
26648         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
26649
26650 2010-12-21  Bruno Haible  <bruno@clisp.org>
26651
26652         math: Fix indentation.
26653         * lib/math.in.h (floorf): Fix indentation.
26654
26655 2010-12-21  Bruno Haible  <bruno@clisp.org>
26656
26657         Fix cross-compilation guesses on Solaris.
26658         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
26659         not match "solaris2.10".
26660         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
26661         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
26662         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
26663
26664 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
26665
26666         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
26667         This fixes a problem observed with the latest coreutils snapshot
26668         that caused a test to fail on Solaris 8.  src/csplit.c's call
26669         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
26670         earlier, instead of returning the number of bytes that would have
26671         been generated; this causes csplit to incorrectly report memory
26672         exhaustion.
26673         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
26674         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
26675         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
26676         comments to match.
26677         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
26678         Fix typo in matching older versions of Solaris: "solaris2.10"
26679         is matched by the shell pattern "solaris2.[0-9]*".  This matters
26680         only for guessing while cross-compiling.
26681         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
26682
26683 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
26684
26685         ftoastr: fix comment again
26686         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
26687         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
26688         Also, simplify example a bit by using flags = 0.
26689
26690 2010-12-20  Bruno Haible  <bruno@clisp.org>
26691
26692         round*, trunc*: Update documentation regarding glibc.
26693         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
26694         * doc/posix-functions/round.texi: Likewise.
26695         * doc/posix-functions/roundl.texi: Likewise.
26696         * doc/posix-functions/truncf.texi: Likewise.
26697         * doc/posix-functions/trunc.texi: Likewise.
26698         * doc/posix-functions/truncl.texi: Likewise.
26699
26700 2010-12-20  Bruno Haible  <bruno@clisp.org>
26701
26702         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
26703         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
26704         * doc/posix-functions/round.texi: Likewise.
26705         * doc/posix-functions/roundl.texi: Likewise.
26706
26707 2010-12-20  Bruno Haible  <bruno@clisp.org>
26708
26709         ttyname_r: Add missing declaration on HP-UX 11.
26710         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
26711         HAVE_TTYNAME_R.
26712         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
26713         declared. Set HAVE_TTYNAME_R always.
26714         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
26715         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
26716         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
26717         HAVE_TTYNAME_R.
26718         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
26719
26720 2010-12-20  Bruno Haible  <bruno@clisp.org>
26721
26722         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
26723         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
26724         * doc/posix-functions/getlogin_r.texi: Likewise.
26725         * tests/test-getlogin.c: Include <errno.h>.
26726         (main): Avoid test failure on HP-UX 11.11.
26727         * tests/test-getlogin_r.c (main): Likewise.
26728
26729 2010-12-20  Bruno Haible  <bruno@clisp.org>
26730
26731         getlogin_r: Add missing declaration on HP-UX 11.
26732         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
26733         declared also when it exists as a function.
26734         * doc/posix-functions/getlogin_r.texi: Document this workaround.
26735
26736 2010-12-20  Bruno Haible  <bruno@clisp.org>
26737
26738         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
26739         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
26740         through wcrtomb.
26741
26742 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
26743
26744         ftoastr: fix comment
26745         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
26746         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
26747
26748 2010-12-19  Bruno Haible  <bruno@clisp.org>
26749
26750         isnan: Ensure it is a macro.
26751         * lib/math.in.h (isnan): Define as a macro if not already a macro.
26752         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
26753         Solaris.
26754
26755 2010-12-19  Bruno Haible  <bruno@clisp.org>
26756
26757         ldexpl test: Fix link error on OSF/1 5.1.
26758         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
26759
26760 2010-12-19  Bruno Haible  <bruno@clisp.org>
26761
26762         wctype: Make it work in C++ mode on OSF/1 5.1.
26763         * lib/wctype.in.h (iswblank): Declare but not define here.
26764         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
26765         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
26766         * modules/wctype (Files): Add lib/iswblank.c.
26767
26768 2010-12-19  Bruno Haible  <bruno@clisp.org>
26769
26770         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
26771         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
26772         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
26773
26774 2010-12-19  Bruno Haible  <bruno@clisp.org>
26775
26776         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
26777         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
26778         _POSIX_PII_SOCKET.
26779         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
26780         * doc/posix-functions/recvfrom.texi: Likewise.
26781         * doc/posix-functions/send.texi: Likewise.
26782         * doc/posix-functions/sendto.texi: Likewise.
26783
26784 2010-12-19  Bruno Haible  <bruno@clisp.org>
26785
26786         tcgetsid: Add missing declaration on OSF/1 5.1.
26787         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
26788         HAVE_TCGETSID.
26789         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
26790         Don't set HAVE_TCGETSID.
26791         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
26792         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
26793         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
26794         HAVE_TCGETSID.
26795         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
26796
26797 2010-12-19  Bruno Haible  <bruno@clisp.org>
26798
26799         stdio: Fix problem with popen() declaration on OSF/1 5.1.
26800         * lib/stdio.in.h: During the include_next statement, let recursive
26801         includes of this file include only the system header file.
26802
26803 2010-12-19  Bruno Haible  <bruno@clisp.org>
26804
26805         iconv_open: Fix regression from 2010-12-04.
26806         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
26807         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
26808
26809 2010-12-19  Bruno Haible  <bruno@clisp.org>
26810
26811         stdbool test: Avoid a gcc warning.
26812         * tests/test-stdbool.c (main): Fail if e1 is false.
26813         Reported by Jim Meyering.
26814
26815 2010-12-19  Jim Meyering  <meyering@redhat.com>
26816
26817         setenv: restore to working order
26818         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
26819         mistakenly removed.
26820         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
26821         HAVE_SETENV.
26822         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
26823         HAVE_SETENV.
26824
26825 2010-12-19  Bruno Haible  <bruno@clisp.org>
26826
26827         Document some different function declarations on OSF/1 5.1.
26828         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
26829         * doc/posix-functions/inet_ntop.texi: Likewise.
26830         * doc/posix-functions/gethostname.texi: Likewise.
26831         * lib/unistd.in.h (gethostname): Update comment.
26832
26833 2010-12-19  Bruno Haible  <bruno@clisp.org>
26834
26835         doc: Mention vasprintf-posix module.
26836         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
26837         the 'vasprintf-posix' module.
26838         * doc/glibc-functions/vasprintf.texi: Likewise.
26839
26840 2010-12-19  Bruno Haible  <bruno@clisp.org>
26841
26842         unsetenv: Add missing declaration on OSF/1 5.1.
26843         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
26844         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
26845         Don't set HAVE_UNSETENV. In the test program, set _BSD.
26846         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
26847         not HAVE_UNSETENV.
26848         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
26849         HAVE_UNSETENV.
26850         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
26851
26852 2010-12-19  Bruno Haible  <bruno@clisp.org>
26853
26854         setenv: Add missing declaration on OSF/1 5.1.
26855         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
26856         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
26857         declared. Don't set HAVE_SETENV.
26858         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
26859         not HAVE_SETENV.
26860         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
26861         HAVE_SETENV.
26862         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
26863
26864 2010-12-19  Bruno Haible  <bruno@clisp.org>
26865
26866         nl_langinfo tests: Avoid gcc warning.
26867         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
26868
26869 2010-12-19  Bruno Haible  <bruno@clisp.org>
26870
26871         mknod: Avoid error in C++ mode on OSF/1 with GCC.
26872         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
26873         _GL_CXXALIAS_SYS.
26874
26875 2010-12-19  Bruno Haible  <bruno@clisp.org>
26876
26877         stdbool: Relax test.
26878         * tests/test-stdbool.c (e): Don't require that casts from a variable's
26879         address to 'bool' work in static initializer, for compilers other than
26880         GCC.
26881
26882 2010-12-19  Bruno Haible  <bruno@clisp.org>
26883
26884         ftello: Add missing declaration on OSF/1 5.1.
26885         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
26886         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
26887         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
26888         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
26889         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
26890
26891 2010-12-19  Bruno Haible  <bruno@clisp.org>
26892
26893         fseeko: Add missing declaration on OSF/1 5.1.
26894         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
26895         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
26896         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
26897         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
26898         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
26899
26900 2010-12-19  Bruno Haible  <bruno@clisp.org>
26901
26902         fchdir: Add missing declaration on OSF/1 5.1.
26903         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
26904         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
26905         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
26906         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
26907         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
26908
26909 2010-12-19  Bruno Haible  <bruno@clisp.org>
26910
26911         relocatable-prog-wrapper: Separate from relocatable-prog.
26912         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
26913         uninstall-relocwrapper rule here.
26914         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
26915         Reported by Ian Beckwith <ianb@erislabs.net>.
26916
26917 2010-12-19  Bruno Haible  <bruno@clisp.org>
26918
26919         unistr/u8-mbsnlen: Add missing dependency.
26920         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
26921         Reported by Ian Beckwith <ianb@erislabs.net>.
26922
26923 2010-12-19  Bruno Haible  <bruno@clisp.org>
26924
26925         iconv: Make it possible again to use this module without 'iconv-h'.
26926         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
26927         if it is not defined.
26928         Reported by Ian Beckwith <ianb@erislabs.net>.
26929
26930 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
26931
26932         acl: port to Solaris 8 when copying from tmpfs to ufs
26933         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
26934         error number.  Problem observed on Solaris 8 with latest
26935         coreutils, with "mv A B", where A is on a tmpfs file system and B
26936         is on a ufs file system.  This caused coreutils' mv/part-symlink
26937         test to fail.
26938
26939         tests: set fail=0 at start
26940         * tests/init.sh (setup_): Move fail=0 initialization here ...
26941         (mktempd_): ... from here, so that tests can rely on fail being
26942         set to 0 initially.  This fixes a problem in coreutils; see:
26943         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
26944
26945 2010-12-18  Bruno Haible  <bruno@clisp.org>
26946
26947         memmem-simple: Stylistic changes.
26948         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
26949         Fix preprocessor directive indentation.
26950
26951 2010-12-15  Pádraig Brady <P@draigBrady.com>
26952
26953         memmem, memmem-simple: reorganize and expand empty needle check
26954         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
26955         functional checks to memmem-simple so that one has a fully functional
26956         memmem by using just this module.
26957         Restrict the performance only check to the memmem module.
26958         Also expand the empty needle check to ensure the correct
26959         pointer is returned, not just a non NULL pointer.
26960         * doc/glibc-functions/memmem.texi: Rearrange the portability
26961         documentation to correlate with the rearranged checks.
26962         Clarify exactly how the memmem and memmem-simple modules
26963         relate to each other.
26964
26965 2010-12-15  Pádraig Brady <P@draigBrady.com>
26966             Bruno Haible  <bruno@clisp.org>
26967
26968         Improve cross-compilation guesses for uClibc.
26969         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
26970         that uClibc does not have the glibc bug.
26971         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
26972         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
26973
26974 2010-12-14  Eric Blake  <eblake@redhat.com>
26975
26976         configmake: provide fallbacks for oldest supported autotools
26977         * m4/configmake.m4: New file.
26978         * modules/configmake (Files): Ship it.
26979         (configure.ac): Use it to guarantee fallbacks.
26980
26981 2010-12-13  Pádraig Brady <P@draigBrady.com>
26982
26983         read-file: Improve handling of large files
26984         * lib/read-file.c (fread_file): Minimize realloc()s
26985         for regular files, and better manage sizes around SIZE_MAX.
26986
26987 2010-12-13  Eric Blake  <eblake@redhat.com>
26988
26989         cloexec, fcntl: relax license
26990         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
26991         consent from all contributors.
26992         * modules/fcntl (License): Likewise.
26993
26994 2010-12-10  Bruno Haible  <bruno@clisp.org>
26995
26996         Tests for module 'pipe-posix'.
26997         * modules/pipe-posix-tests: New file.
26998         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
26999
27000 2010-12-10  Bruno Haible  <bruno@clisp.org>
27001
27002         pipe-posix: Make it work in C++ mode.
27003         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
27004         (pipe): Use common idiom, not a macro definition.
27005         * lib/pipe.c: New file.
27006         * m4/pipe.m4: New file.
27007         * modules/pipe-posix (Description): Enhance.
27008         (Files): Add lib/pipe.c, m4/pipe.m4.
27009         (configure.ac): Invoke gl_FUNC_PIPE.
27010         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
27011         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
27012         * tests/test-unistd-c++.cc: Check the signature of pipe.
27013
27014 2010-12-10  Bruno Haible  <bruno@clisp.org>
27015
27016         Rename module 'pipe' to 'spawn-pipe'.
27017         * modules/spawn-pipe: New file, renamed from modules/pipe.
27018         (Files, configure.ac, Makefile.am): Update.
27019         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
27020         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
27021         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
27022         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
27023         "spawn-pipe.h" instead of "pipe.h".
27024         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
27025         to gl_SPAWN_PIPE.
27026         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
27027         (Files, Makefile.am): Update.
27028         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
27029         Update.
27030         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
27031         Include "spawn-pipe.h" instead of "pipe.h".
27032         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
27033         * lib/javacomp.c: Likewise.
27034         * lib/javaversion.c: Likewise.
27035         * lib/pipe-filter-gi.c: Likewise.
27036         * lib/pipe-filter-ii.c: Likewise.
27037         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
27038         * modules/javacomp (Depends-on): Likewise.
27039         * modules/javaversion (Depends-on): Likewise.
27040         * modules/pipe-filter-gi (Depends-on): Likewise.
27041         * modules/pipe-filter-ii (Depends-on): Likewise.
27042         * MODULES.html.sh (Executing programs): Update.
27043         * NEWS: Mention the change.
27044
27045 2010-12-10  Eric Blake  <eblake@redhat.com>
27046
27047         pipe-posix: new module
27048         * modules/pipe-posix: New file.
27049         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
27050         (gl_UNISTD_H): Check for declaration.
27051         * modules/unistd (Makefile.am): Substitute it.
27052         * lib/unistd.in.h (pipe): Provide it for mingw.
27053         * doc/posix-functions/pipe.texi (pipe): Update documentation.
27054         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
27055
27056 2010-12-07  Bruno Haible  <bruno@clisp.org>
27057
27058         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
27059         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
27060         u8_strcmp_gnu.
27061         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
27062
27063 2010-12-06  Bruno Haible  <bruno@clisp.org>
27064
27065         Update internal documentation.
27066         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
27067
27068 2010-12-04  Bruno Haible  <bruno@clisp.org>
27069
27070         Put more information about failed tests into the test return codes.
27071         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
27072         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
27073         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
27074         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
27075         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
27076         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
27077         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
27078         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
27079         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
27080         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
27081         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
27082         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
27083         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
27084         * m4/stdint.m4 (gl_STDINT_H): Likewise.
27085         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
27086         returns a bit mask.
27087         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
27088         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
27089         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
27090         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
27091         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
27092         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
27093         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
27094         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
27095         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
27096         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
27097         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
27098         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
27099         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
27100         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
27101         * m4/link.m4 (gl_FUNC_LINK): Likewise.
27102         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
27103         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
27104         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
27105         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
27106         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
27107         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
27108         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
27109         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
27110         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
27111         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
27112         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
27113         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
27114         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
27115         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
27116         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
27117         gl_PRINTF_PRECISION): Likewise.
27118         * m4/regex.m4 (gl_REGEX): Likewise.
27119         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
27120         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
27121         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
27122         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
27123         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
27124         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
27125         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
27126         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
27127         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
27128         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
27129         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
27130         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
27131         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
27132         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
27133         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
27134         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
27135         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
27136         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
27137         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
27138         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
27139         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
27140         enumerated value.
27141         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
27142
27143 2010-12-04  Bruno Haible  <bruno@clisp.org>
27144
27145         Update for Solaris 11 2010-11.
27146         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
27147         Express, released in November 2010.
27148
27149 2010-12-04  Bruno Haible  <bruno@clisp.org>
27150
27151         nproc: Relax license.
27152         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
27153         and Paul Eggert.
27154         Requested by Ludovic Courtès <ludo@gnu.org>.
27155
27156 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
27157
27158         utimecmp: fine-grained src to nearby coarse-grained dest
27159
27160         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
27161         and the source is on a file system with higher-resolution time
27162         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
27163         not work, and the time stamps are close together, the algorithm to
27164         determine the exact resolution from the read-back mtime was buggy:
27165         it had a "!=" where it should have had an "==".  This bug has been
27166         in the code ever since it was introduced to gnulib.
27167         Problem reported by Dan Jacobson in
27168         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
27169
27170 2010-11-30  Bruno Haible  <bruno@clisp.org>
27171
27172         strerror_r-posix: Fix autoconf test.
27173         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
27174
27175 2010-11-28  Bruno Haible  <bruno@clisp.org>
27176             Paul Eggert  <eggert@cs.ucla.edu>
27177
27178         Tests for module 'getdomainname'.
27179         * modules/getdomainname-tests: New file.
27180         * tests/test-getdomainname.c: New file, based on
27181         tests/test-gethostname.c.
27182
27183 2010-11-28  Bruno Haible  <bruno@clisp.org>
27184             Paul Eggert  <eggert@cs.ucla.edu>
27185
27186         getdomainname: Use the system function when possible.
27187         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
27188         (getdomainname): Replace if needed. Provide the declaration if it is
27189         missing. Don't use _GL_CXXALIAS_SYS_CAST.
27190         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
27191         (getdomainname): When the system has getdomainname, call the system
27192         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
27193         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
27194         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
27195         found in libnsl. Look for the declaration also in <netdb.h>. Replace
27196         the function if its second argument is of type 'int' or if it is found
27197         in libnsl.
27198         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
27199         <sys/systeminfo.h> and sysinfo().
27200         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
27201         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
27202         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
27203         HAVE_GETDOMAINNAME.
27204         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
27205         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
27206         * doc/glibc-functions/getdomainname.texi: Document the problems with
27207         the getdomainname declaration.
27208
27209 2010-11-28  Bruno Haible  <bruno@clisp.org>
27210
27211         sys_socket: Ensure ss_family field on AIX.
27212         * lib/sys_socket.in.h (ss_family): New macro definition.
27213         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
27214         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
27215         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
27216         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
27217         * modules/sys_socket (Makefile.am): Substitute
27218         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
27219         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
27220
27221 2010-11-27  Bruno Haible  <bruno@clisp.org>
27222
27223         readline: Improve configure output.
27224         * m4/readline.m4 (gl_FUNC_READLINE): Make the
27225         "checking for readline..." result understandable.
27226
27227 2010-11-27  Bruno Haible  <bruno@clisp.org>
27228
27229         *printf-posix: Detect a bug on Solaris 10/x86.
27230         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
27231         for floating-point output.
27232         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
27233         directive.
27234         * tests/test-snprintf-posix.h (test_function): Likewise.
27235         * tests/test-sprintf-posix.h (test_function): Likewise.
27236         * tests/test-vasprintf-posix.c (test_function): Likewise.
27237         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
27238         * doc/posix-functions/printf.texi: Likewise.
27239         * doc/posix-functions/snprintf.texi: Likewise.
27240         * doc/posix-functions/sprintf.texi: Likewise.
27241         * doc/posix-functions/vfprintf.texi: Likewise.
27242         * doc/posix-functions/vprintf.texi: Likewise.
27243         * doc/posix-functions/vsnprintf.texi: Likewise.
27244         * doc/posix-functions/vsprintf.texi: Likewise.
27245         * doc/glibc-functions/obstack_printf.texi: Likewise.
27246         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
27247
27248 2010-11-27  Bruno Haible  <bruno@clisp.org>
27249
27250         Fix link error when module libunistring-optional is in use.
27251         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
27252         * modules/striconveha-tests (Makefile.am): Likewise.
27253
27254 2010-11-27  Bruno Haible  <bruno@clisp.org>
27255
27256         regex: Mention link dependencies.
27257         * modules/regex (Link): New section.
27258         * modules/rpmatch (Link): Likewise.
27259         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
27260
27261 2010-11-27  Bruno Haible  <bruno@clisp.org>
27262
27263         ftoastr: Fix compilation error on Solaris.
27264         * lib/ftoastr.c: Include <config.h>.
27265
27266 2010-11-27  Bruno Haible  <bruno@clisp.org>
27267
27268         getloadavg: Update documentation.
27269         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
27270
27271 2010-11-27  Bruno Haible  <bruno@clisp.org>
27272
27273         sys_socket: Fix test whether the functions are declared.
27274         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
27275         not <sys/select.h>.
27276
27277 2010-11-27  Bruno Haible  <bruno@clisp.org>
27278
27279         getpass: Make sure to get system declaration on some platforms.
27280         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
27281         gl_USE_SYSTEM_EXTENSIONS.
27282         * modules/getpass (Depends-on): Add extensions.
27283
27284 2010-11-26  Bruno Haible  <bruno@clisp.org>
27285
27286         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
27287         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
27288         'iconv' module is present.
27289         (ICONV_CONST): New macro.
27290         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
27291         ICONV_CONST.
27292         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
27293         set ICONV_CONST.
27294         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
27295         here.
27296         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
27297         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
27298         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
27299         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
27300         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
27301         present.
27302
27303 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
27304
27305         ftoastr: comment fix
27306         * lib/ftoastr.c: "little" -> "little or no" in comment
27307
27308 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
27309
27310         stdint: port to GCC 4.3 + OSX + Octave
27311         On this platform, stdint.h is buggy and defines int64_t to long
27312         long int.  The replacement defined it to long int, causing
27313         problems with C++ style name mangling.  Instead, trust the system
27314         definition if INT64_MAX is defined, and likewise for the unsigned
27315         variant.   Problem reported by Jarno Rajahalme in
27316         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
27317         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
27318         and don't mess with int64_t and INT64_MAX in this case.
27319         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
27320
27321 2010-11-24  Bruno Haible  <bruno@clisp.org>
27322
27323         doc: Corrections regarding MacOS X 10.4 and 10.5.
27324         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
27325         MacOS X.
27326         Reported by Simon Josefsson.
27327
27328 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
27329
27330         Uninstall ".bin" files installed by relocwrapper.
27331         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
27332         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
27333         unless it is already there.
27334
27335 2010-11-21  Bruno Haible  <bruno@clisp.org>
27336
27337         Update for NetBSD 5.0.
27338         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
27339         NetBSD; the test fails on NetBSD 5.0.
27340         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
27341         about NetBSD.
27342
27343 2010-11-21  Bruno Haible  <bruno@clisp.org>
27344
27345         Update for HP-UX 11.23 and HP-UX 11.31.
27346         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
27347         HP-UX.
27348
27349 2010-11-21  Bruno Haible  <bruno@clisp.org>
27350
27351         Update for MacOS X 10.5.
27352         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
27353         MacOS X; the test fails on MacOS X 10.5.8.
27354         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
27355         about MacOS X.
27356
27357 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
27358
27359         bootstrap: add bootstrap_sync option.
27360         See discussion at
27361         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
27362         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
27363         * build-aux/bootstrap: Accept --bootstrap-sync to update
27364         bootstrap if it is not identical to the local gnulib's
27365         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
27366         enable this by default.  Accept --no-bootstrap-sync to disable
27367         it.
27368
27369 2010-11-20  Bruno Haible  <bruno@clisp.org>
27370
27371         Ensure that <features.h> is included before __GLIBC__ is tested.
27372         * lib/printf-parse.h: Include <features.h>.
27373         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
27374         Reported by Mike Frysinger <vapier@gentoo.org>.
27375
27376         Ensure that <features.h> is included before __GLIBC__ is tested.
27377         * lib/wchar.in.h: Include <features.h>.
27378         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
27379         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
27380         Reported by Mike Frysinger <vapier@gentoo.org>.
27381
27382         Ensure that <features.h> is included before __GLIBC__ is tested.
27383         * lib/arpa_inet.in.h: Include <features.h>.
27384         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
27385         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
27386         Reported by Mike Frysinger <vapier@gentoo.org>.
27387
27388         Ensure that <features.h> is included before __GLIBC__ is tested.
27389         * build-aux/link-warning.h: Include <features.h>.
27390         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
27391         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
27392         Reported by Mike Frysinger <vapier@gentoo.org>.
27393
27394         Ensure that <features.h> is included before __GLIBC__ is tested.
27395         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
27396         Reported by Mike Frysinger <vapier@gentoo.org>.
27397
27398 2010-11-20  Bruno Haible  <bruno@clisp.org>
27399
27400         memmem: Fix autoconf test.
27401         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
27402
27403 2010-11-20  Bruno Haible  <bruno@clisp.org>
27404
27405         Port to uClibc.
27406         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
27407         * lib/fcntl.in.h: Likewise.
27408         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
27409         * lib/mbrtowc.c (mbrtowc): Likewise.
27410         * lib/relocatable.c (find_shared_library_fullname): Likewise.
27411         * lib/strerror_r.c: Likewise.
27412         * lib/unistr/u8-strnlen.c: Likewise.
27413         * lib/vasnprintf.c (decimal_point_char): Likewise.
27414         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
27415         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
27416         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
27417         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
27418         * tests/test-sigaction.c (handler, main): Likewise.
27419         * lib/freading.h: Treat uClibc like a non-glibc platform.
27420         * lib/freading.c: Likewise.
27421         * lib/gettext.h: Likewise.
27422         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
27423         Likewise.
27424         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
27425         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
27426         * lib/propername.c (proper_name_utf8): Likewise.
27427         * lib/spawn.in.h: Likewise.
27428         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
27429         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
27430         mem_cd_iconveh_internal): Likewise.
27431         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
27432         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
27433         strstr, strcasestr): Likewise.
27434         * lib/unicodeio.c (unicode_to_mb): Likewise.
27435         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
27436         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
27437         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
27438         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
27439         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
27440         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
27441         * lib/unistr/u8-stpncpy.c: Likewise.
27442         * lib/vasnprintf.c (VASNPRINTF): Likewise.
27443         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
27444         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
27445         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
27446         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
27447         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
27448         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
27449         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
27450         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
27451         Likewise.
27452         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
27453         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
27454         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
27455         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
27456         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
27457         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
27458         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
27459         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
27460         * tests/test-getopt.h (OPTIND_MIN): Likewise.
27461         * tests/test-striconveha.c (main): Likewise.
27462         * tests/test-vasnprintf-posix.c (test_function): Likewise.
27463         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
27464         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
27465         * doc/posix-functions/getline.texi: Likewise.
27466         Reported by Mike Frysinger <vapier@gentoo.org>.
27467
27468 2010-11-20  Bruno Haible  <bruno@clisp.org>
27469
27470         nproc: Fix condition.
27471         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
27472         HAVE_PTHREAD_AFFINITY_NP.
27473
27474 2010-11-20  Bruno Haible  <bruno@clisp.org>
27475
27476         Fix a comment.
27477         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
27478
27479 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
27480
27481         ftoastr: don't assume snprintf
27482         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
27483         Implement a subset of snprintf here, by using sprintf safely.
27484         * modules/ftoastr (Depends-on): Remove snprintf.
27485
27486 2010-11-19  Jim Meyering  <meyering@redhat.com>
27487
27488         test-rename.h: fix compilation failure
27489         * tests/test-rename.h (test_rename): Add omitted "}".
27490
27491 2010-11-17  Jim Meyering  <meyering@redhat.com>
27492
27493         maint.mk: add a URL discussing the no-@acronym policy
27494         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
27495
27496 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
27497
27498         ftoastr: depend on snprintf, improve comments
27499         * lib/ftoastr.c: Also mention Loitsch's draft.
27500         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
27501         needed in the current implementation, but it might simplify
27502         speeding up the code later.
27503         * modules/ftoastr: Depend on snprintf; this improves portability.
27504         Suggested by Bruno Haible in the same email.
27505
27506         ftoastr: port to hosts lacking strtof and strtold
27507         Problem reported by Bruno Haible in
27508         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
27509         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
27510         environment and strtold (and presumably strtof) are not available.
27511         * modules/ftoastr (Files): Add m4/c-strtod.m4.
27512         (configure.ac): Require gl_C99_STRTOLD.
27513
27514 2010-11-18  Bruno Haible  <bruno@clisp.org>
27515
27516         c-strtold: Avoid link error on AIX 7.
27517         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
27518         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
27519         (gl_C_STRTOLD): Test whether strtold_l exists.
27520         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
27521
27522 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
27523
27524         intprops: new macro INT_BITS_STRLEN_BOUND
27525         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
27526         ftoastr.h.  This exposes an internal of intprops.h that was formerly
27527         not exposed.  Also, it uses a slightly tighter bound than before;
27528         though this makes no practical difference, we might as well be as
27529         tight as we easily can.
27530
27531         ftoastr: new module, for lossless conversion of floats to short strings
27532         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
27533         * modules/ftoastr: New files.
27534
27535 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
27536
27537         bootstrap: port to Solaris sed
27538         * build-aux/bootstrap (get_version): Port to Solaris sed.
27539         See Ralf Wildenhues's note in
27540         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
27541
27542 2010-11-14  Jim Meyering  <meyering@redhat.com>
27543
27544         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
27545         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
27546         and move definition closer to sole use.
27547
27548 2010-11-13  Jim Meyering  <meyering@redhat.com>
27549
27550         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
27551         Now we require at least autoconf-2.59, which means the work-around
27552         is no longer needed.
27553         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
27554         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
27555         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
27556         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
27557         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
27558
27559 2010-11-13  Bruno Haible  <bruno@clisp.org>
27560
27561         rename, renameat: Avoid test failures at NFS mounted locations.
27562         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
27563         functions.
27564         (test_rename): Use assert_nonexistent.
27565         * tests/test-rename.c: Include <dirent.h>.
27566         * tests/test-renameat.c: Likewise.
27567         Reported by Gary V. Vaughan <gary@gnu.org>.
27568
27569         rename, renameat: Document Linux bug with NFS
27570         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
27571         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
27572         * doc/posix-functions/renameat.texi: Likewise.
27573         Suggested by Eric Blake.
27574
27575 2010-11-13  Bruno Haible  <bruno@clisp.org>
27576
27577         rename test: Add comments.
27578         * tests/test-rename.h (test_rename): Add structure and comments.
27579
27580 2010-11-13  Eric Blake  <eblake@redhat.com>
27581
27582         maintainer-makefile: cover a few more files
27583         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
27584         scripts generated within C files, for libvirt.
27585
27586 2010-11-13  Bruno Haible  <bruno@clisp.org>
27587
27588         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
27589         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
27590         character, return the number of bytes that belong together, not always
27591         1.
27592         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
27593         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
27594         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
27595         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
27596         number of bytes of an invalid character.
27597         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
27598         (main): Invoke it.
27599         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
27600         results.
27601         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
27602         malformed byte sequences.
27603         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
27604         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
27605         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
27606         Reported by Ben Pfaff and Paolo Bonzini.
27607
27608 2010-11-13  Bruno Haible  <bruno@clisp.org>
27609
27610         openat: Work around glibc bug with fchownat() and empty file names.
27611         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
27612         (gl_FUNC_FCHOWNAT): Invoke it.
27613         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
27614         * doc/posix-functions/fchownat.texi: Document the glibc bug.
27615         Reported by Gary V. Vaughan <gary@gnu.org>.
27616
27617 2010-11-13  Bruno Haible  <bruno@clisp.org>
27618
27619         openat: Ensure autoconf macro ordering.
27620         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
27621         gl_USE_SYSTEM_EXTENSIONS.
27622         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
27623
27624 2010-11-13  Bruno Haible  <bruno@clisp.org>
27625
27626         Update comments.
27627         * lib/unistr/u8-check.c: Update file name in comments.
27628         * lib/unistr/u8-mblen.c: Likewise.
27629         * lib/unistr/u8-prev.c: Likewise.
27630         * lib/unistr/u8-strmblen.c: Likewise.
27631         * lib/unistr/u8-strmbtouc.c: Likewise.
27632
27633 2010-11-13  Jim Meyering  <meyering@redhat.com>
27634
27635         tests: avoid test failure on Solaris 10 due to lack of PATH export
27636         * tests/test-update-copyright.sh: Don't forget to export PATH.
27637
27638         init.sh: ensure that IFS is defined, just in case...
27639         * tests/init.sh (setup_): Ensure that IFS is defined,
27640         so that saving and restoring it works as expected.  This
27641         appears to be useful at least for an old version of dash
27642         from a long time ago (RH 6).  See here for details:
27643         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
27644
27645         maint.mk: tighten "test a == b" check
27646         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
27647         test to files that contain something like #!/bin/sh.
27648         Without this, coreutils would get two false positives in
27649         the comments of C source files.
27650
27651 2010-11-12  Eric Blake  <eblake@redhat.com>
27652
27653         bootstrap: fix typo in previous attempt
27654         * build-aux/bootstrap (buildreq): Correct the grouping.
27655         Reported by Paul Eggert.
27656
27657         maintainer-makefile: prohibit test x == x
27658         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
27659         Based on a report by Matthias Bolte.
27660
27661         bootstrap: allow FreeBSD gzip
27662         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
27663         which has no '.' and goes to stderr.
27664         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
27665         Reported by Matthias Bolte.
27666
27667         maintainer-makefile: check for i18n setup
27668         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
27669         will likely work.
27670
27671 2010-11-12  Bruno Haible  <bruno@clisp.org>
27672
27673         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
27674         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
27675         * lib/nanosleep.c (nanosleep): Likewise.
27676
27677 2010-11-11  Bruno Haible  <bruno@clisp.org>
27678
27679         fcntl-h: Fix for use of C++ on glibc systems.
27680         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
27681         also on glibc systems in C++ mode.
27682         Reported by Gary V. Vaughan <gary@gnu.org>.
27683
27684 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
27685
27686         mknod: avoid false failure with dash
27687         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
27688
27689 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
27690
27691         unlink: Fix "is it should" typo in diagnostic.
27692         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
27693         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
27694
27695 2010-11-11  Bruno Haible  <bruno@clisp.org>
27696
27697         Tests for module 'strerror_r-posix'.
27698         * modules/strerror_r-posix-tests: New file.
27699         * tests/test-strerror_r.c: New file.
27700         * tests/test-string-c++.cc: Check the signature of strerror_r.
27701
27702         New module 'strerror_r-posix'.
27703         * lib/string.in.h (strerror_r): New declaration.
27704         * lib/strerror_r.c: New file.
27705         * m4/strerror_r.m4: New file.
27706         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
27707         of strerror_r.
27708         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
27709         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
27710         * modules/strerror_r-posix: New file.
27711         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
27712         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
27713         * doc/posix-functions/strerror_r.texi: Mention the new module and the
27714         portability problems.
27715
27716 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
27717
27718         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
27719         line is also considered for output. Quoted function name in shell
27720         command, so temporary files for functions like MyClass::operator()
27721         are removed correctly without errors.
27722
27723 2010-11-09  Bruno Haible  <bruno@clisp.org>
27724
27725         * doc/posix-functions/strerror.texi: List more failing platforms.
27726
27727         * doc/posix-functions/strerror.texi: Add a comment.
27728
27729 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
27730
27731         fdopendir: fix bug on MacOS X when low on file descriptors
27732
27733         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
27734         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
27735         All callers changed.
27736         (fdopendir): Invoke save_cwd at the top level, not after using
27737         multiple dup() calls to use up file descriptors.  Then retry
27738         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
27739         less than the maximum number of open file descriptors, because
27740         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
27741         on Mac OS X 10.6.4 for tar 1.24
27742         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
27743         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
27744         and for tar 1.25
27745         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
27746
27747 2010-11-07  Bruno Haible  <bruno@clisp.org>
27748
27749         vasnprintf: Support I flag on glibc systems.
27750         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
27751         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
27752         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
27753         snprintf function.
27754         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
27755         glibc systems.
27756         * tests/test-vasnprintf-posix3.c: New file.
27757         * modules/vasnprintf-posix-tests (Files): Add it.
27758         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
27759
27760 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
27761
27762         [html] Fix copy/paste bug: Use unique name for compiler warnings.
27763         * MODULES.html.sh: For compiler warnings, use name
27764         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
27765
27766 2010-11-05  Eric Blake  <eblake@redhat.com>
27767
27768         ceil, floor: avoid spurious failure with icc
27769         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
27770         [denormals-as-zero] when optimizing without -mieee-fp option.
27771         * tests/test-floorf2.c (floorf_reference): Likewise.
27772         * tests/test-ceilf1.c (dummy): New function.
27773         (main): Use it to outsmart icc's optimization.
27774         * tests/test-floorf1.c (dummy, main): Likewise.
27775
27776         tests: require working signbit
27777         * modules/ceilf-tests (Depends-on): Add signbit.
27778         * modules/ceill-tests (Depends-on): Likewise.
27779         * modules/floorf-tests (Depends-on): Likewise.
27780         * modules/floorl-tests (Depends-on): Likewise.
27781         * modules/round-tests (Depends-on): Likewise.
27782         * modules/roundf-tests (Depends-on): Likewise.
27783         * modules/roundl-tests (Depends-on): Likewise.
27784         * modules/trunc-tests (Depends-on): Likewise.
27785         * modules/truncf-tests (Depends-on): Likewise.
27786         * modules/truncl-tests (Depends-on): Likewise.
27787
27788         strtod: work around icc bug
27789         * lib/strtod.c (minus_zero): Define to working value.
27790         (strtod): Use it to avoid icc bug.
27791
27792         copysign: enhance tests
27793         * modules/copysign-tests (Files): Add minus-zero.h.
27794         * tests/test-copysign.c (main): Also test zeros.
27795
27796 2010-11-04  Eric Blake  <eblake@redhat.com>
27797
27798         ceil, floor, round, trunc: enhance tests of -0
27799         * tests/test-ceilf1.c (main): Ensure correct sign of result.
27800         * tests/test-ceill.c (main): Likewise.
27801         * tests/test-floorf1.c (main): Likewise.
27802         * tests/test-floorl.c (main): Likewise.
27803         * tests/test-round1.c (main): Likewise.
27804         * tests/test-roundf1.c (main): Likewise.
27805         * tests/test-roundl.c (main): Likewise.
27806         * tests/test-trunc1.c (main): Likewise.
27807         * tests/test-truncf1.c (main): Likewise.
27808         * tests/test-truncl.c (main): Likewise.
27809
27810 2010-11-04  Eric Blake  <eblake@redhat.com>
27811
27812         frexp, tests: work around ICC bug with -zero
27813         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
27814         works with more compilers.
27815         * tests/minus-zero.h: New file.
27816         * modules/ceilf-tests (Files): Include it.
27817         * modules/ceill-tests (Files): Likewise.
27818         * modules/floorf-tests (Files): Likewise.
27819         * modules/floorl-tests (Files): Likewise.
27820         * modules/frexp-nolibm-tests (Files): Likewise.
27821         * modules/frexp-tests (Files): Likewise.
27822         * modules/frexpl-nolibm-tests (Files): Likewise.
27823         * modules/frexpl-tests (Files): Likewise.
27824         * modules/isnan-tests (Files): Likewise.
27825         * modules/isnand-nolibm-tests (Files): Likewise.
27826         * modules/isnand-tests (Files): Likewise.
27827         * modules/isnanf-nolibm-tests (Files): Likewise.
27828         * modules/isnanf-tests (Files): Likewise.
27829         * modules/isnanl-nolibm-tests (Files): Likewise.
27830         * modules/isnanl-tests (Files): Likewise.
27831         * modules/round-tests (Files): Likewise.
27832         * modules/roundf-tests (Files): Likewise.
27833         * modules/roundl-tests (Files): Likewise.
27834         * modules/ldexpl-tests (Files): Likewise.
27835         * modules/signbit-tests (Files): Likewise.
27836         * modules/snprintf-posix-tests (Files): Likewise.
27837         * modules/sprintf-posix-tests (Files): Likewise.
27838         * modules/strtod-tests (Files): Likewise.
27839         * modules/trunc-tests (Files): Likewise.
27840         * modules/truncf-tests (Files): Likewise.
27841         * modules/truncl-tests (Files): Likewise.
27842         * modules/vsnprintf-posix-tests (Files): Likewise.
27843         * modules/vsprintf-posix-tests (Files): Likewise.
27844         * modules/vasnprintf-posix-tests (Files): Likewise.
27845         * modules/vasprintf-posix-tests (Files): Likewise.
27846         * tests/test-ceilf1.c (main): Use it.
27847         * tests/test-ceill.c (main): Likewise.
27848         * tests/test-floorf1.c (main): Likewise.
27849         * tests/test-floorl.c (main): Likewise.
27850         * tests/test-frexp.c (main): Likewise.
27851         * tests/test-frexpl.c (main): Likewise.
27852         * tests/test-isnan.c (main): Likewise.
27853         * tests/test-isnand.h (main): Likewise.
27854         * tests/test-isnanf.h (main): Likewise.
27855         * tests/test-isnanl.h (main): Likewise.
27856         * tests/test-ldexpl.c (main): Likewise.
27857         * tests/test-round.c (main): Likewise.
27858         * tests/test-roundf.c (main): Likewise.
27859         * tests/test-roundl.c (main): Likewise.
27860         * tests/test-signbit.c (test_signbitf, test_signbitd)
27861         (test_signbitl): Likewise.
27862         * tests/test-snprintf-posix.h (test_function): Likewise.
27863         * tests/test-sprintf-posix.h (test_function): Likewise.
27864         * tests/test-strtod.c (main): Likewise.
27865         * tests/test-trunc1.c (main): Likewise.
27866         * tests/test-truncf1.c (main): Likewise.
27867         * tests/test-truncl.c (main): Likewise.
27868
27869         isnanl: work around icc bug
27870         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
27871
27872 2010-11-03  Eric Blake  <eblake@redhat.com>
27873
27874         tests: fix compiler warnings
27875         * tests/test-getopt.h (test_getopt): Fix condition.
27876         * tests/test-getopt_long.h (test_getopt_long): Likewise.
27877         * tests/test-pipe2.c (main): Likewise.
27878         * tests/test-quotearg-simple.c (main): Avoid icc warning.
27879
27880         utimens: fix broken m4 test
27881         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
27882
27883 2010-10-28  Bruno Haible  <bruno@clisp.org>
27884
27885         posix_spawn*, getdtablesize: Relax license.
27886         * modules/posix_spawn (License): Change to LGPLv2+.
27887         * modules/posix_spawnp (License): Likewise.
27888         * modules/posix_spawn-internal (License): Likewise.
27889         * modules/posix_spawnattr_init (License): Likewise.
27890         * modules/posix_spawnattr_getflags (License): Likewise.
27891         * modules/posix_spawnattr_setflags (License): Likewise.
27892         * modules/posix_spawnattr_getpgroup (License): Likewise.
27893         * modules/posix_spawnattr_setpgroup (License): Likewise.
27894         * modules/posix_spawnattr_getschedparam (License): Likewise.
27895         * modules/posix_spawnattr_setschedparam (License): Likewise.
27896         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
27897         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
27898         * modules/posix_spawnattr_getsigdefault (License): Likewise.
27899         * modules/posix_spawnattr_setsigdefault (License): Likewise.
27900         * modules/posix_spawnattr_getsigmask (License): Likewise.
27901         * modules/posix_spawnattr_setsigmask (License): Likewise.
27902         * modules/posix_spawnattr_destroy (License): Likewise.
27903         * modules/posix_spawn_file_actions_init (License): Likewise.
27904         * modules/posix_spawn_file_actions_addclose (License): Likewise.
27905         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
27906         * modules/posix_spawn_file_actions_addopen (License): Likewise.
27907         * modules/posix_spawn_file_actions_destroy (License): Likewise.
27908         * modules/getdtablesize (License): Likewise.
27909         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
27910
27911 2010-10-26  Bruno Haible  <bruno@clisp.org>
27912
27913         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
27914         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
27915         Cygwin and mingw.
27916         Suggested by Eric Blake.
27917
27918 2010-10-26  Bruno Haible  <bruno@clisp.org>
27919
27920         stdio: Work around compilation error due to renameat() on Solaris 10.
27921         * lib/stdio.in.h: Include <unistd.h> on Solaris.
27922         * lib/renameat.c: Don't include <unistd.h> here.
27923         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
27924         Reported by Paul Eggert and Eric Blake.
27925
27926 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
27927
27928         renameat: port to Solaris 10, which declares renameat in unistd.h
27929
27930         * lib/renameat.c: Include unistd.h before stdio.h, because
27931         Solaris 10 declares renameat in unistd.h.  Problem encountered
27932         when building GNU tar 1.24 on Solaris 10.
27933
27934 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
27935
27936         fdopendir: fix C89 compilation
27937         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
27938         compilers.
27939
27940 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
27941
27942         inttostr: simplify by removing unnecessary redundancy
27943         * lib/anytostr.c: Don't include verify.h.
27944         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
27945         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
27946         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
27947         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
27948         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
27949         Likewise.
27950         * modules/inttostr (Depends-on): Remove 'verify'.
27951
27952 2010-10-23  Bruno Haible  <bruno@clisp.org>
27953
27954         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
27955         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
27956         Reported by Eric Blake.
27957
27958 2010-10-23  Bruno Haible  <bruno@clisp.org>
27959
27960         Tests: Fix LOCALE_JA on MirBSD 10.
27961         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
27962         to an UTF-8 locale.
27963         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
27964         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
27965         Reported by Eric Blake.
27966
27967 2010-10-21  Bruno Haible  <bruno@clisp.org>
27968
27969         nl_langinfo test: Avoid test failure on NetBSD 5.
27970         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
27971         Reported by Eric Blake.
27972
27973 2010-10-21  Eric Blake  <eblake@redhat.com>
27974
27975         c-stack: work around libsigsegv 2.8 bug
27976         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
27977         overflow on at least PowerPC64.
27978
27979 2010-10-17  Bruno Haible  <bruno@clisp.org>
27980
27981         userspec: Drop redundant file.
27982         * modules/userspec (Files): Remove lib/inttostr.h.
27983
27984 2010-10-17  Bruno Haible  <bruno@clisp.org>
27985
27986         nl_langinfo tests: Silence some warnings.
27987         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
27988         Reported by Jim Meyering.
27989
27990 2010-10-17  Bruno Haible  <bruno@clisp.org>
27991
27992         Make use of GCC's attribute __alloc_size__.
27993         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
27994         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
27995         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
27996         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
27997         __alloc_size__.
27998         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
27999         Suggested by Jim Meyering.
28000
28001 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
28002
28003         bootstrap: anchor .gitignore entries.
28004         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
28005         with...
28006         (insert_vc_ignore): ... this new function, which prepends `/' to
28007         all .gitignore entries before passing them to
28008         insert_sorted_if_absent.
28009
28010 2010-10-16  Bruno Haible  <bruno@clisp.org>
28011
28012         nextafter: Fix configure check.
28013         * modules/nextafter (configure.ac): Correct expected prototype.
28014
28015 2010-10-16  Bruno Haible  <bruno@clisp.org>
28016
28017         termios: Update documentation.
28018         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
28019
28020 2010-10-16  Bruno Haible  <bruno@clisp.org>
28021
28022         tests: Make them compile with TinyCC.
28023         * tests/test-strstr.c (main): Remove parentheses around array
28024         initializer.
28025
28026 2010-10-15  Eric Blake  <eblake@redhat.com>
28027
28028         ignore-value: make header idempotent
28029         * lib/ignore-value.h: Add double-inclusion guards.
28030         Reported by Stefan Berger.
28031
28032 2010-10-15  Jim Meyering  <meyering@redhat.com>
28033
28034         GNUmakefile: handle "stable" target, not "major"
28035         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
28036         lists in maint.mk and announce-gen.  Without this, "make stable"
28037         would fail to ensure that $(VERSION) is up to date.
28038
28039 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
28040
28041         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
28042         & co.
28043
28044 2010-10-14  Bruno Haible  <bruno@clisp.org>
28045
28046         vasnprintf: Don't set errno to 0.
28047         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
28048         block that sets it to 0.
28049         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
28050
28051 2010-10-14  Bruno Haible  <bruno@clisp.org>
28052
28053         socketlib: Fix.
28054         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
28055         gl_PREREQ_SYS_H_WINSOCK2.
28056         Reported by Ian Beckwith <ianb@erislabs.net>.
28057
28058 2010-10-13  Jim Meyering  <meyering@redhat.com>
28059
28060         test-select-stdin.c: avoid warn_unused_result warnings
28061         * tests/test-select-stdin.c: Include "macros.h".
28062         ASSERT that read and fflush succeed.
28063
28064 2010-10-13  Jim Meyering  <meyering@redhat.com>
28065
28066         git-version-gen: do require git-VC'd files in cwd
28067         * build-aux/git-version-gen: Reject a git version string
28068         if there are no commits associated with the current directory.
28069         This avoids an unlikely false-positive (unrelated dir whose parent
28070         repository also contains a tag matching v*), as pointed out
28071         by Giuseppe Scrivano in
28072         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
28073
28074 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
28075
28076         argv-iter: omit nonconforming declaration
28077         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
28078         enum arg_iter_err declaration, which doesn't conform to C99.
28079         Solaris 10 cc warns about this.
28080
28081 2010-10-13  Eric Blake  <eblake@redhat.com>
28082
28083         termios: fix compilation on mingw
28084         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
28085         (gl_TERMIOS_H): Adjust it on mingw.
28086         * modules/termios (Makefile.am): Substitute new key.
28087         * lib/termios.in.h (includes): Make include_next conditional.
28088         * doc/posix-headers/termios.texi (termios.h): Update
28089         documentation.
28090         Reported by Daniel P. Berrange.
28091
28092 2010-10-13  Jim Meyering  <meyering@redhat.com>
28093
28094         git-version-gen: don't require that .git/ be in the current dir
28095         * build-aux/git-version-gen: Adjust this script so that it works
28096         when run from any working directory beneath the top-level .git/-
28097         containing directory.  Inspired by a patch from Giuseppe Scrivano,
28098         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
28099
28100         test-select: avoid warn_unused_result warnings
28101         * tests/test-select.c: Include "macros.h".
28102         ASSERT that each call to read, write, and pipe succeeds.
28103         While not technically required, also check each "close".
28104         * modules/select-tests (Files): Add tests/macros.h.
28105
28106         test-symlinkat: remove declaration of unused local
28107         * tests/test-symlinkat.c (main): Remove unused local, "buf".
28108
28109         test-inttostr: avoid shadowing warnings
28110         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
28111         and use malloc rather than the stack for the same reason as
28112         mentioned in the comment justifying the other allocation.
28113
28114 2010-10-11  Bruno Haible  <bruno@clisp.org>
28115
28116         stdlib: Allow multiple gnulib generated replacements to coexist.
28117         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
28118         Reported by Sam Steingold <sds@gnu.org>.
28119
28120 2010-10-11  Jim Meyering  <meyering@redhat.com>
28121
28122         fix a documentation typo
28123         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
28124
28125 2010-10-11  Eric Blake  <eblake@redhat.com>
28126
28127         futimens: work around Solaris 11 bug
28128         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
28129         * tests/test-futimens.h (test_futimens): Enhance, rather than
28130         weaken test.
28131         * doc/posix-functions/futimens.texi (futimens): Document the bug.
28132
28133 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
28134
28135         Indentation.
28136         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
28137         higher-level operators more to the left.
28138
28139 2010-10-11  Jim Meyering  <meyering@redhat.com>
28140
28141         test-futimens: avoid unwarranted test failure on Solaris 5.11
28142         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
28143         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
28144         because it tries to dereference the NULL name argument.
28145
28146 2010-10-11  Bruno Haible  <bruno@clisp.org>
28147
28148         Indentation.
28149         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
28150         indentation.
28151
28152 2010-10-11  Jim Meyering  <meyering@redhat.com>
28153
28154         spawn.in.h: make indentation consistent with parentheses
28155         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
28156         Make indentation consistent with parentheses.
28157
28158 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
28159
28160         Fix mismatched parens in previous commit
28161         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
28162         parens.
28163
28164 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
28165
28166         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
28167
28168         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
28169         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
28170         * lib/malloca.c: Include "verify.h".
28171         (verify1): Remove, replacing with a verify call.
28172         * lib/relocwrapper.c (verify1): Likewise.
28173         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
28174         Likewise.
28175         * modules/malloca (Depends-on): Add 'verify'.
28176         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
28177         * modules/vasnprintf (Depends-on): Add 'verify'.
28178         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
28179         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
28180         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
28181         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
28182         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
28183         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
28184         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
28185
28186         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
28187
28188         Formerly the style was sometimes 2*X - 1, because the C standard
28189         was wrongly thought to disallow ?: in integral constant expressions.
28190         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
28191         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
28192         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
28193         * lib/stdint.in.h (_verify_intmax_size): Likewise.
28194         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
28195         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
28196         verify that time_t cannot be floating.
28197
28198 2010-10-08  Eric Blake  <eblake@redhat.com>
28199
28200         time: enforce recent POSIX ruling that time_t is integral
28201         * lib/time.in.h (__time_t_must_be_integral): Detect any
28202         problematic systems, allowing the rest of gnulib to assume POSIX.
28203
28204 2010-10-08  Jim Meyering  <meyering@redhat.com>
28205
28206         fdopendir: fix a bug on systems lacking openat and /proc support
28207         OpenBSD 4.7 is one such system.  The most noticeable effect was
28208         failure of any application making nontrivial use of fts: rm, du,
28209         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
28210           ./rm: traversal failed: `a': Bad file descriptor
28211         Debugging that, you see that even though FD 6 was closed just
28212         prior to the opendir call in fd_clone_opendir, its resulting
28213         dir->dd_fd was 8, rather than the expected value of 6:
28214
28215         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
28216         93                close (fd);
28217         (gdb) n
28218         94                dir = fd_clone_opendir (dupfd);
28219         (gdb) n
28220         95                saved_errno = errno;
28221         (gdb) p dir->dd_fd
28222         $11 = 8
28223
28224         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
28225         The problem is that on OpenBSD, fd_clone_opendir has to resort
28226         to using the old-style save/restore CWD mechanism, due to its
28227         lack of openat/proc support, and *that* would steal the FD (6)
28228         that opendir was supposed to use.
28229
28230         The fix is to squirrel away the desired FD so that save_cwd uses a
28231         different one, and then free the dest FD right before calling opendir.
28232         That guarantees opendir will use the required file descriptor.
28233
28234         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
28235
28236 2010-10-08  Bruno Haible  <bruno@clisp.org>
28237
28238         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
28239         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
28240
28241 2010-10-08  Bruno Haible  <bruno@clisp.org>
28242
28243         nanosleep: Make replacement POSIX compliant.
28244         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
28245         is out of range.
28246         Reported by Jim Meyering.
28247
28248 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
28249
28250         bootstrap: add hook for altering gnulib.mk, for Bison
28251         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
28252         the Bison bootstrapping process can rewrite file names and variables
28253         in this file before later parts of 'bootstrap' use the file.
28254         Bison wants to include lib/gnulib.mk from the top-level makefile,
28255         so it needs the file names in this file to be relative to the top
28256         level, not relative to lib; plus it needs variable names to be
28257         rewritten.
28258         (slurp): Use the new function.
28259
28260         bootstrap: reformat for readability
28261         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
28262
28263 2010-10-08  Eric Blake  <eblake@redhat.com>
28264
28265         docs: update cygwin progress
28266         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
28267         1.7.7.
28268         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
28269         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
28270         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
28271         * doc/posix-functions/carg.texi (carg): Likewise.
28272         * doc/posix-functions/cargf.texi (cargf): Likewise.
28273         * doc/posix-functions/casin.texi (casin): Likewise.
28274         * doc/posix-functions/casinf.texi (casinf): Likewise.
28275         * doc/posix-functions/casinh.texi (casinh): Likewise.
28276         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
28277         * doc/posix-functions/catan.texi (catan): Likewise.
28278         * doc/posix-functions/catanf.texi (catanf): Likewise.
28279         * doc/posix-functions/catanh.texi (catanh): Likewise.
28280         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
28281         * doc/posix-functions/ccos.texi (ccos): Likewise.
28282         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
28283         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
28284         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
28285         * doc/posix-functions/cexp.texi (cexp): Likewise.
28286         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
28287         * doc/posix-functions/cimag.texi (cimag): Likewise.
28288         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
28289         * doc/posix-functions/clog.texi (clog): Likewise.
28290         * doc/posix-functions/clogf.texi (clogf): Likewise.
28291         * doc/posix-functions/conj.texi (conj): Likewise.
28292         * doc/posix-functions/conjf.texi (conjf): Likewise.
28293         * doc/posix-functions/cpow.texi (cpow): Likewise.
28294         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
28295         * doc/posix-functions/cproj.texi (cproj): Likewise.
28296         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
28297         * doc/posix-functions/creal.texi (creal): Likewise.
28298         * doc/posix-functions/crealf.texi (crealf): Likewise.
28299         * doc/posix-functions/csin.texi (csin): Likewise.
28300         * doc/posix-functions/csinf.texi (csinf): Likewise.
28301         * doc/posix-functions/csinh.texi (csinh): Likewise.
28302         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
28303         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
28304         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
28305         * doc/posix-functions/ctan.texi (ctan): Likewise.
28306         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
28307         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
28308         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
28309         * doc/posix-headers/complex.texi (complex.h): Likewise.
28310
28311 2010-10-07  Jim Meyering  <meyering@redhat.com>
28312
28313         parse-datetime: avoid compilation failure on OpenBSD 4.7
28314         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
28315         This works around a compilation failure on OpenBSD 4.7:
28316         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
28317
28318 2010-10-07  Eric Blake  <eblake@redhat.com>
28319
28320         docs: update cygwin progress
28321         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
28322         1.7.6.
28323         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
28324         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
28325         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
28326         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
28327         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
28328         Likewise.
28329         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
28330         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
28331         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
28332         Likewise.
28333         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
28334         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
28335         Likewise.
28336         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
28337         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
28338         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
28339         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
28340         Likewise.
28341         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
28342         Likewise.
28343         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
28344
28345         docs: update parse-datetime history
28346         * doc/parse-datetime.texi (Authors of parse_datetime): Better
28347         documentation of this function's history and alternatives.
28348
28349         cygwin: use more robust version check
28350         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
28351         exclude an eventual cygwin 1.9.1.
28352         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
28353         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
28354         (gl_FUNC_STRCASESTR): Likewise.
28355         Reported by Bruno Haible.
28356
28357 2010-10-06  Bruno Haible  <bruno@clisp.org>
28358
28359         string, sys_select: Avoid #including large headers unless necessary.
28360         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
28361         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
28362         OSF/1, BeOS, Haiku.
28363         Reported by Jim Meyering.
28364
28365 2010-10-05  Eric Blake  <eblake@redhat.com>
28366
28367         memmem, strstr, strcasestr: fix bug with long periodic needle
28368         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
28369         periodic needle having false positive.
28370         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
28371         and cygwin 1.7.7.
28372         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
28373         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
28374         (gl_FUNC_STRCASESTR): Likewise.
28375         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
28376         * tests/test-memmem.c (main): Expose the bug.
28377         * tests/test-strcasestr.c (main): Likewise.
28378         * tests/test-strstr.c (main): Likewise.
28379         * tests/test-c-strcasestr.c (main): Likewise.
28380         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
28381         * doc/posix-functions/strstr.texi (strstr): Likewise.
28382         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
28383         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
28384
28385 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
28386
28387         parse-datetime: do some more renaming
28388         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
28389         parse_datetime, not get_date.  Mention the renaming.
28390         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
28391         in comments.
28392         * m4/bison.m4: Likewise.
28393
28394 2010-10-05  Eric Blake  <eblake@redhat.com>
28395
28396         parse-datetime: better name than get_date
28397         * NEWS: Reword the deprecation notice.
28398         * modules/get_date: Rename to modules/parse-datetime.
28399         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
28400         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
28401         * lib/get_date.y: Rename to lib/parse-datetime.y.
28402         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
28403         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
28404         * doc/getdate.texi: Provide fallback wrapper.
28405         * lib/getdate.h: Move guts, and wrap...
28406         * lib/parse-datetime.h: ...new file.
28407         * lib/parse-datetime.y (get_date): Rename...
28408         (parse_datetime): ...to this.
28409         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
28410         (gl_PARSE_DATETIME): ...to this.
28411         * doc/posix-functions/getdate.texi (get_date): Provide fallback
28412         documentation.
28413         * modules/getdate (Files): Provide fallback docs and header.
28414         (Notice, Depends-on): Update references.
28415         * tests/test-parse-datetime.c: Likewise.
28416         * DEPENDENCIES: Likewise.
28417         * MODULES.html.sh (Date and time <time.h>): Likewise.
28418         * doc/parse-datetime.texi (Date input formats)
28419         (Authors of parse_datetime): Likewise.
28420         * modules/parse-datetime (Files, configure.ac, Makefile.am)
28421         (Include): Likewise.
28422         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
28423         * gnulib-tool: Likewise.
28424         * m4/bison.m4 (gl_BISON): Likewise.
28425         Suggested by Bruno Haible.
28426
28427 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
28428
28429         more ports to Solaris tr, which needs [] around ranges
28430         * gnulib-tool: Solaris tr needs [] around ranges.
28431         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
28432         * tests/test-pipe-filter-gi1.c (main): Likewise.
28433         * tests/test-pipe-filter-ii1.c (main): Likewise.
28434
28435 2010-10-05  Eric Blake  <eblake@redhat.com>
28436
28437         bootstrap: fix Solaris regression
28438         * build-aux/bootstrap (check_versions): Solaris tr still needs []
28439         around ranges.
28440         Reported by Pádraig Brady.
28441
28442         bootstrap: work with pkg-config
28443         * build-aux/bootstrap (check_versions): Also transliterate - in
28444         prerequisite name.
28445         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
28446         prerequisites that were already found, to avoid confusion.
28447         Reported by Justin Clift.
28448
28449         faccessat: remove unused wrappers
28450         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
28451         presence of these wrappers dragged in -lgen on Solaris.
28452         Reported by Clemens Brogi; fix suggested by Paul Eggert.
28453
28454 2010-10-05  Jim Meyering  <meyering@redhat.com>
28455
28456         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
28457         * Makefile (sc_pragma_columns): New syntax-check rule.
28458
28459 2010-10-04  Bruno Haible  <bruno@clisp.org>
28460
28461         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
28462         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
28463         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
28464         Reported by Bruce Korb and Eric Blake.
28465
28466 2010-10-04  Bruno Haible  <bruno@clisp.org>
28467
28468         threadlib: Make option --with-libpth-prefix work.
28469         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
28470         use $LIBPTH, not just -lpth.
28471
28472 2010-10-04  Bruno Haible  <bruno@clisp.org>
28473
28474         Avoid line length limitation from HP NonStop system header files.
28475         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
28476         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
28477         * lib/ctype.in.h: Likewise.
28478         * lib/dirent.in.h: Likewise.
28479         * lib/errno.in.h: Likewise.
28480         * lib/fcntl.in.h: Likewise.
28481         * lib/float.in.h: Likewise.
28482         * lib/getopt.in.h: Likewise.
28483         * lib/iconv.in.h: Likewise.
28484         * lib/inttypes.in.h: Likewise.
28485         * lib/langinfo.in.h: Likewise.
28486         * lib/locale.in.h: Likewise.
28487         * lib/math.in.h: Likewise.
28488         * lib/netdb.in.h: Likewise.
28489         * lib/netinet_in.in.h: Likewise.
28490         * lib/poll.in.h: Likewise.
28491         * lib/pthread.in.h: Likewise.
28492         * lib/pty.in.h: Likewise.
28493         * lib/sched.in.h: Likewise.
28494         * lib/se-selinux.in.h: Likewise.
28495         * lib/search.in.h: Likewise.
28496         * lib/signal.in.h: Likewise.
28497         * lib/spawn.in.h: Likewise.
28498         * lib/stdarg.in.h: Likewise.
28499         * lib/stddef.in.h: Likewise.
28500         * lib/stdint.in.h: Likewise.
28501         * lib/stdio.in.h: Likewise.
28502         * lib/stdlib.in.h: Likewise.
28503         * lib/string.in.h: Likewise.
28504         * lib/strings.in.h: Likewise.
28505         * lib/sys_file.in.h: Likewise.
28506         * lib/sys_ioctl.in.h: Likewise.
28507         * lib/sys_select.in.h: Likewise.
28508         * lib/sys_socket.in.h: Likewise.
28509         * lib/sys_stat.in.h: Likewise.
28510         * lib/sys_time.in.h: Likewise.
28511         * lib/sys_times.in.h: Likewise.
28512         * lib/sys_utsname.in.h: Likewise.
28513         * lib/sys_wait.in.h: Likewise.
28514         * lib/sysexits.in.h: Likewise.
28515         * lib/termios.in.h: Likewise.
28516         * lib/time.in.h: Likewise.
28517         * lib/unistd.in.h: Likewise.
28518         * lib/wchar.in.h: Likewise.
28519         * lib/wctype.in.h: Likewise.
28520         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
28521         * modules/ctype (Makefile.am): Likewise.
28522         * modules/dirent (Makefile.am): Likewise.
28523         * modules/errno (Makefile.am): Likewise.
28524         * modules/fcntl-h (Makefile.am): Likewise.
28525         * modules/float (Makefile.am): Likewise.
28526         * modules/getopt-posix (Makefile.am): Likewise.
28527         * modules/iconv-h (Makefile.am): Likewise.
28528         * modules/inttypes (Makefile.am): Likewise.
28529         * modules/langinfo (Makefile.am): Likewise.
28530         * modules/locale (Makefile.am): Likewise.
28531         * modules/math (Makefile.am): Likewise.
28532         * modules/netdb (Makefile.am): Likewise.
28533         * modules/netinet_in (Makefile.am): Likewise.
28534         * modules/poll-h (Makefile.am): Likewise.
28535         * modules/pthread (Makefile.am): Likewise.
28536         * modules/pty (Makefile.am): Likewise.
28537         * modules/sched (Makefile.am): Likewise.
28538         * modules/search (Makefile.am): Likewise.
28539         * modules/selinux-h (Makefile.am): Likewise.
28540         * modules/signal (Makefile.am): Likewise.
28541         * modules/spawn (Makefile.am): Likewise.
28542         * modules/stdarg (Makefile.am): Likewise.
28543         * modules/stddef (Makefile.am): Likewise.
28544         * modules/stdint (Makefile.am): Likewise.
28545         * modules/stdio (Makefile.am): Likewise.
28546         * modules/stdlib (Makefile.am): Likewise.
28547         * modules/string (Makefile.am): Likewise.
28548         * modules/strings (Makefile.am): Likewise.
28549         * modules/sys_file (Makefile.am): Likewise.
28550         * modules/sys_ioctl (Makefile.am): Likewise.
28551         * modules/sys_select (Makefile.am): Likewise.
28552         * modules/sys_socket (Makefile.am): Likewise.
28553         * modules/sys_stat (Makefile.am): Likewise.
28554         * modules/sys_time (Makefile.am): Likewise.
28555         * modules/sys_times (Makefile.am): Likewise.
28556         * modules/sys_utsname (Makefile.am): Likewise.
28557         * modules/sys_wait (Makefile.am): Likewise.
28558         * modules/sysexits (Makefile.am): Likewise.
28559         * modules/termios (Makefile.am): Likewise.
28560         * modules/time (Makefile.am): Likewise.
28561         * modules/unistd (Makefile.am): Likewise.
28562         * modules/wchar (Makefile.am): Likewise.
28563         * modules/wctype (Makefile.am): Likewise.
28564
28565 2010-10-04  Bruno Haible  <bruno@clisp.org>
28566
28567         read-file tests: Avoid a test failure on NonStop Kernel.
28568         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
28569         a regular file.
28570         Reported by Joachim Schmitz <schmitz@hp.com>.
28571
28572 2010-10-03  Bruno Haible  <bruno@clisp.org>
28573
28574         gnulib-tool: Fixes for --create-testdir with --libtool.
28575         * gnulib-tool (func_get_automake_snippet): Don't augment
28576         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
28577         an executable.
28578         (func_create_testdir): Handle module 'alloca' like func_import.
28579         Reported by Bruce Korb <bruce.korb@gmail.com>.
28580
28581 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
28582
28583         Avoid some lines longer than 80 characters.
28584         * lib/stdint.in.h: Break long comment lines.
28585         * lib/math.in.h: Likewise.
28586         (_GL_NUM_UINT_WORDS): New macro, for readability.
28587         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
28588         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
28589         * lib/stdlib.in.h: Likewise.
28590         * lib/spawn.in.h: Likewise.
28591         * lib/sys_socket.in.h: Update an URL.
28592         * lib/sys_stat.in.h: Break long line.
28593
28594 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
28595
28596         Improve pmccabe2html.
28597         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
28598         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
28599         when the sources change. Remove the line in the HTML about "Used
28600         ranges" (which implied that there might be other unused ranges),
28601         rename "Resume" to "Summary" (easier to understand for more users).
28602         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
28603         styles, and some unnecessary blank lines.
28604
28605 2010-10-03  Bruno Haible  <bruno@clisp.org>
28606             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
28607
28608         acl: Add support for ACLs on NonStop Kernel.
28609         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
28610         Check whether the function aclsort() exists.
28611         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
28612         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
28613         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
28614         (acl_nontrivial [HAVE_ACLSORT]: New function.
28615         (file_has_acl): Implement for NonStop Kernel.
28616         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
28617         (qset_acl): Implement for NonStop Kernel.
28618         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
28619         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
28620         (main): Implement for NonStop Kernel.
28621         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
28622         Kernel. Handle this flavor.
28623         * tests/test-set-mode-acl.sh: Likewise.
28624         * tests/test-copy-acl.sh: Likewise.
28625         * tests/test-copy-file.sh: Likewise.
28626
28627 2010-10-03  Bruno Haible  <bruno@clisp.org>
28628
28629         Info about ACLs on NonStop Kernel.
28630         * doc/acl-resources.txt: Add info about NonStop Kernel.
28631         References by Joachim Schmitz <schmitz@hp.com>.
28632
28633 2010-10-02  Bruno Haible  <bruno@clisp.org>
28634
28635         Define missing EDQUOT on NonStop Kernel.
28636         * lib/errno.in.h (EDQUOT): Assign a value if missing.
28637         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
28638         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
28639         missing.
28640         * doc/posix-headers/errno.texi: Mention the NSK bug.
28641         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
28642         Reported by Joachim Schmitz <schmitz@hp.com>.
28643
28644 2010-10-02  Bruno Haible  <bruno@clisp.org>
28645
28646         Update doc for POSIX:2008.
28647         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
28648         Update URL of POSIX specification.
28649
28650 2010-10-02  Bruno Haible  <bruno@clisp.org>
28651
28652         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
28653         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
28654         from gnulib, not from Automake.
28655
28656 2010-10-02  Bruno Haible  <bruno@clisp.org>
28657
28658         New module 'system-posix'.
28659         * modules/system-posix: New file.
28660         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
28661         module is present.
28662         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
28663         GNULIB_SYSTEM_POSIX.
28664         * modules/stdlib (Depends-on): Remove sys_wait.
28665         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
28666         * doc/posix-functions/system.texi: Mention the new module.
28667         * doc/posix-headers/stdlib.texi: Likewise.
28668         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
28669         define test_sys_wait_macros to a no-op.
28670         Reported by Sam Steingold <sds@gnu.org>.
28671
28672 2010-09-30  Bruno Haible  <bruno@clisp.org>
28673
28674         More renaming from 'getdate' to 'get_date'.
28675         * doc/get_date.texi: Renamed from doc/getdate.texi.
28676         * modules/get_date (Files): Update.
28677         * MODULES.html.sh (Date and time <time.h>): Update.
28678         * DEPENDENCIES: Update.
28679         * gnulib-tool: Update comment.
28680         * m4/bison.m4 (gl_BISON): Likewise.
28681         * m4/get_date.m4 (gl_GET_DATE): Likewise.
28682
28683 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
28684
28685         bootstrap: support ACLOCAL_FLAGS during aclocal
28686         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
28687         can add additional -I dir for third-party .m4 files.
28688
28689 2010-09-30  Eric Blake  <eblake@redhat.com>
28690
28691         bootstrap: use glibtoolize on MacOS
28692         * build-aux/bootstrap (check_versions): Convert libtool into
28693         libtoolize.
28694         (tool search): Move libtool check earlier, and look for
28695         glibtoolize for MacOS.
28696         (gnulib_tool_options): Auto-add --libtool when appropriate.
28697         Reported by Justin Clift.
28698
28699         poll: fix typo that broke test on MacOS
28700         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
28701         Reported by Justin Clift.
28702
28703         getdate: rename to get_date
28704         Note: getdate.h is not renamed, to minimize client impact.
28705         * modules/getdate: Mark obsolete.  Move old contents...
28706         * modules/get_date: ...to new module name.
28707         * modules/getdate-tests: Move...
28708         * modules/get_date-tests: ...here.
28709         * m4/getdate.m4: Move...
28710         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
28711         * lib/getdate.y: Move...
28712         * lib/get_date.y: ...here.
28713         * tests/test-getdate.c: Move...
28714         * tests/test-get_date.c: ...here.
28715         * doc/posix-functions/getdate.texi (getdate): Update name.
28716         * NEWS: Mention the change.
28717
28718 2010-09-29  Bruno Haible  <bruno@clisp.org>
28719
28720         Separate the module 'waitpid' from the module 'sys_wait'.
28721         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
28722         present.
28723         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
28724         gl_MODULE_INDICATOR_FOR_TESTS.
28725         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
28726         * modules/sys_wait (Depends-on): Remove waitpid.
28727         (Makefile.am): Substitute GNULIB_WAITPID.
28728         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
28729         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
28730         signature only if the 'waitpid' module is present.
28731         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
28732         * NEWS: Mention the change.
28733         * modules/grantpt (Depends-on): Add waitpid.
28734         * modules/wait-process (Depends-on): Likewise.
28735
28736 2010-09-29  Bruno Haible  <bruno@clisp.org>
28737
28738         More tests for module 'sys_wait'.
28739         * modules/sys_wait-c++-tests: New file.
28740         * tests/test-sys_wait-c++.cc: New file.
28741         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
28742         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
28743
28744 2010-09-29  Bruno Haible  <bruno@clisp.org>
28745
28746         New module 'waitpid'.
28747         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
28748         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
28749         Don't include <process.h>.
28750         (waitpid): Declare only, using modern idiom.
28751         * m4/waitpid.m4: New file.
28752         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
28753         * modules/waitpid: New file.
28754         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
28755         (Makefile.am): Update.
28756         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
28757
28758 2010-09-28  Bruno Haible  <bruno@clisp.org>
28759
28760         poll: Assume ANSI C.
28761         * lib/poll.c (poll): Use an ANSI C declaration.
28762
28763 2010-09-28  Bruno Haible  <bruno@clisp.org>
28764
28765         poll-h: Create poll.h on all platforms.
28766         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
28767         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
28768         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
28769         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
28770         (gl_REPLACE_POLL_H): Don't set POLL_H.
28771         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
28772         * modules/poll-h (Depends-on): Add include_next.
28773         (Makefile.am): Create poll.h unconditionally. Substitute also
28774         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
28775
28776 2010-09-28  Bruno Haible  <bruno@clisp.org>
28777
28778         Tests for module 'poll-h'.
28779         * modules/poll-h-c++-tests: New file.
28780         * tests/test-poll-h-c++.cc: New file.
28781
28782         Tests for module 'poll-h'.
28783         * modules/poll-h-tests: New file.
28784         * tests/test-poll-h.c: New file.
28785
28786 2010-09-28  Bruno Haible  <bruno@clisp.org>
28787
28788         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
28789         * modules/poll-h (Depends-on): Add 'extensions'.
28790
28791 2010-09-28  Bruno Haible  <bruno@clisp.org>
28792
28793         New module 'poll-h'.
28794         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
28795         (poll): Use modern idiom.
28796         * modules/poll-h: New file.
28797         * modules/poll (Files): Remove lib/poll.in.h.
28798         (Depends-on): Add poll-h.
28799         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
28800         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
28801         * m4/poll_h.m4: New file.
28802         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
28803         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
28804         and invoke gl_REPLACE_POLL_H.
28805         * lib/poll.c: Use common idiom.
28806         * tests/test-poll.c: Likewise.
28807         * doc/posix-headers/poll.texi: Mention the poll-h module.
28808         Suggested by Eric Blake.
28809
28810 2010-09-26  Bruno Haible  <bruno@clisp.org>
28811
28812         sys_wait: Implement WSTOPSIG.
28813         * lib/sys_wait.in.h (WSTOPSIG): New macro.
28814         Reported by Simon Josefsson.
28815
28816 2010-09-26  Simon Josefsson  <simon@josefsson.org>
28817
28818         stdlib, sys_wait: Avoid compilation error on mingw.
28819         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
28820
28821 2010-09-26  Bruno Haible  <bruno@clisp.org>
28822
28823         stdlib tests: Avoid code duplication.
28824         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
28825         * modules/sys_wait-tests (Files): Likewise.
28826         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
28827         * tests/test-stdlib.c: Include test-sys_wait.h.
28828         (main): Invoke test_sys_wait_macros.
28829         * tests/test-sys_wait.c: Include test-sys_wait.h.
28830         (main): Invoke test_sys_wait_macros.
28831
28832 2010-09-25  Simon Josefsson  <simon@josefsson.org>
28833
28834         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
28835         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
28836         sure Windows sockets are working before calling getaddrinfo.
28837         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
28838         * doc/gnulib.texi (Windows sockets): Fix typo.
28839
28840 2010-09-25  Bruno Haible  <bruno@clisp.org>
28841
28842         Tests for module 'regex-quote'.
28843         * modules/regex-quote-tests: New file.
28844         * tests/test-regex-quote.c: New file.
28845
28846         New module 'regex-quote'.
28847         * lib/regex-quote.h: New file.
28848         * lib/regex-quote.c: New file.
28849         * modules/regex-quote: New file.
28850         Suggested by Reuben Thomas <rrt@sc3d.org>.
28851
28852 2010-09-24  Bruno Haible  <bruno@clisp.org>
28853
28854         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
28855         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
28856
28857 2010-09-23  Bruno Haible  <bruno@clisp.org>
28858
28859         setenv: Relax license.
28860         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
28861         Blake.
28862         Requested by Eric Blake.
28863
28864 2010-09-22  Bruno Haible  <bruno@clisp.org>
28865
28866         termios: Relax license.
28867         * modules/termios (License): Change to LGPLv2+.
28868         Requested by Eric Blake.
28869
28870 2010-09-22  Bruno Haible  <bruno@clisp.org>
28871
28872         threadlib: Allow the package to change the default to 'no'.
28873         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
28874         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
28875         Reported by Paul Eggert.
28876
28877 2010-09-22  Pádraig Brady  <P@draigbrady.com>
28878             Bruno Haible  <bruno@clisp.org>
28879
28880         Fix endless loop in mbmemcasecoll.
28881         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
28882         byte.
28883         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
28884
28885 2010-09-22  Bruno Haible  <bruno@clisp.org>
28886
28887         Tests for module 'memcoll'.
28888         * modules/memcoll-tests: New file.
28889         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
28890
28891         memcoll, xmemcoll: Clarify size vs. length.
28892         * modules/memcoll.c (memcoll0): Clarify specification.
28893         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
28894         passed to collate_error.
28895
28896 2010-09-22  Bruno Haible  <bruno@clisp.org>
28897
28898         Tests for module 'memcasecmp'.
28899         * modules/memcasecmp-tests: New file.
28900         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
28901
28902 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
28903
28904         * lib/pthread.in.h: Add split double-inclusion guard, and include
28905         system <pthread.h> if there is one.  Use @@-style as in other
28906         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
28907         pthread.h doesn't.
28908         (pthread_mutexattr_destroy, pthread_mutexattr_init):
28909         (pthread_mutexattr_settype, pthread_mutex_trylock):
28910         New static inline functions, if there's no system <pthread.h>.
28911         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
28912         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
28913         Approximate with mutexes if the system lacks spinlocks, as in
28914         MacOS.
28915         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
28916         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
28917         @@-style.  Check for spinlocks separately.
28918         (gl_PTHREAD_DEFAULTS): New macro.
28919         * modules/pthread: Redo to use a more typical style for in.h files.
28920
28921 2010-09-21  Eric Blake  <eblake@redhat.com>
28922
28923         net_if: enhance tests
28924         * tests/test-net_if.c (main): Move signature checks earlier.
28925         Print failures to stderr.
28926         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
28927         Document the bug that we do not yet fix.
28928
28929 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
28930
28931         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
28932         about gnulib, not GSS.
28933
28934 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
28935
28936         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
28937         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
28938         for Emacs.
28939         * build-aux/pmccabe2html: Make Makefile.am example code more
28940         cut-and-paste friendly.
28941
28942 2010-09-21  Simon Josefsson  <simon@josefsson.org>
28943
28944         * tests/test-net_if.c: New file.
28945         * modules/net_if-tests: New file.
28946
28947 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
28948
28949         pthread: add pthread_spin_destroy
28950         * lib/pthread.in.h (pthread_spin_destroy): New function.
28951
28952 2010-09-19  Bruno Haible  <bruno@clisp.org>
28953
28954         gnulib-tool: Fix --help output.
28955         * gnulib-tool (func_usage): Fix help message.
28956         Reported by Reuben Thomas <rrt@sc3d.org>.
28957
28958 2010-09-18  Jim Meyering  <meyering@redhat.com>
28959
28960         maint.mk: avoid unexpanded \n in two diagnostics
28961         * top/maint.mk (sc_prohibit_always_true_header_tests):
28962         Don't use a literal \n in a halt=... assignment.  It would not be
28963         expanded, and the two \n bytes would appear in the diagnostic output
28964         rather than the desired newline.  Use halt=$$(printf ... instead.
28965         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
28966
28967 2010-09-18  Bruno Haible  <bruno@clisp.org>
28968
28969         netinet_in: Doc tweak.
28970         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
28971         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
28972
28973 2010-09-18  Jim Meyering  <meyering@redhat.com>
28974
28975         init.sh: correct an outdated comment
28976         * tests/init.sh (create_exe_shims_):  s/function/alias/
28977
28978         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
28979         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
28980         a file named "*.exe" is removed between the glob expansion and the
28981         processing of that oddly named file.
28982
28983 2010-09-17  Eric Blake  <eblake@redhat.com>
28984
28985         mirbsd: add some more support
28986         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
28987         in BSD family.
28988         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
28989         devices as OpenBSD.
28990         * m4/host-os.m4 (mirbsd): Add MirBSD.
28991
28992         tests: fix unportable assumption on sys/wait.h
28993         * tests/test-sys_wait.c (main): Relax test.
28994         * tests/test-stdlib.c (main): Likewise.
28995
28996         init.sh: accommodate directory with no .exes
28997         * tests/init.sh: Accomodate directory containing only scripts.
28998
28999         tests: avoid compiler warning
29000         * tests/test-stdlib.c (main): Use the variable.
29001
29002         fdutimens, fdutimensat: update signature, again
29003         * lib/utimens.h (gl_futimens): Delete, and move signature...
29004         (fdutimens): ...here.
29005         (fdutimensat): Rearrange signature.
29006         (lutimensat): Rename variable for clarity.
29007         * lib/fdutimensat.c (fdutimensat): Update signature.
29008         * lib/utimens.c (fdutimens): Likewise.
29009         (gl_futimens): Delete.
29010         (utimens, lutimens): Update callers.
29011         * lib/futimens.c (futimens): Likewise.
29012         * tests/test-fdutimensat.c: Likewise.
29013         * tests/test-utimens.c: Likewise.
29014         * tests/test-futimens.h: Update comment.
29015         * NEWS: Mention this.
29016         Suggested by Paul Eggert.
29017
29018 2010-09-17  Bruno Haible  <bruno@clisp.org>
29019
29020         Take over the maintenance of some older macros from Autoconf.
29021         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
29022         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
29023         GNU Autoconf.
29024         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
29025         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
29026
29027 2010-09-17  Eric Blake  <eblake@redhat.com>
29028
29029         fdutimensat: drop atflag validation
29030         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
29031         with valid fd, to close a race scenario where futimens is
29032         unsupported and FILE was replaced by a symlink.
29033         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
29034         accordingly.
29035         Suggested by Paul Eggert.
29036
29037 2010-09-16  Bruno Haible  <bruno@clisp.org>
29038
29039         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
29040         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
29041
29042 2010-09-16  Bruno Haible  <bruno@clisp.org>
29043
29044         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
29045         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
29046         login_tty exists.
29047         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
29048
29049 2010-09-16  Bruno Haible  <bruno@clisp.org>
29050
29051         login_tty: Make the replacement code work on BSD systems.
29052         * lib/login_tty.c: Include <sys/ioctl.h>.
29053         (login_tty): Use ioctl TIOCSCTTY when available.
29054         * modules/login_tty (Depends-on): Add sys_ioctl.
29055         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
29056
29057 2010-09-16  Bruno Haible  <bruno@clisp.org>
29058
29059         login_tty: Stricter unit test.
29060         * modules/login_tty-tests (Depends-on): Add tcgetsid.
29061         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
29062         and tcgetsid() after login_tty.
29063         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
29064
29065 2010-09-16  Bruno Haible  <bruno@clisp.org>
29066
29067         New module 'tcgetsid'.
29068         * lib/tcgetsid.c: New file.
29069         * m4/tcgetsid.m4: New file.
29070         * modules/tcgetsid: New file.
29071         * modules/termios (Depends-on): Add c++defs, warn-on-use.
29072         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
29073         GNULIB_TCGETSID, HAVE_TCGETSID.
29074         * lib/termios.in.h: Include <sys/types.h>.
29075         (tcgetsid): New declaration.
29076         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
29077         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
29078         * doc/posix-functions/tcgetsid.texi: Mention the new module.
29079         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
29080
29081 2010-09-16  Bruno Haible  <bruno@clisp.org>
29082
29083         Tests for module 'termios'.
29084         * modules/termios-c++-tests: New file.
29085         * modules/termios-tests: New file.
29086         * tests/test-termios-c++.cc: New file.
29087         * tests/test-termios.c: New file.
29088
29089         New module 'termios'.
29090         * modules/termios: New file.
29091         * lib/termios.in.h: New file.
29092         * m4/termios_h.m4: New file.
29093         * doc/posix-headers/termios.texi: Mention the new module.
29094
29095 2010-09-16  Eric Blake  <eblake@redhat.com>
29096
29097         fdutimensat: add an atflag parameter
29098         * lib/fdutimensat.c (fdutimensat): Add new parameter.
29099         * lib/utimens.h (fdutimensat): Update prototype.
29100         * tests/test-fdutimensat.c: Adjust test to match.
29101         * NEWS: Document the change.
29102         Suggested by Paul Eggert.
29103
29104 2010-09-16  Bruno Haible  <bruno@clisp.org>
29105
29106         Fix typos in comments.
29107         * lib/striconveh.h: Fix typo in comment.
29108         * lib/login_tty.c (login_tty): Likewise.
29109
29110 2010-09-15  Bruno Haible  <bruno@clisp.org>
29111
29112         stdlib: clarify MirBSD WEXITSTATUS bug
29113         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
29114         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
29115
29116 2010-09-15  Eric Blake  <eblake@redhat.com>
29117
29118         stdlib: work around MirBSD WEXITSTATUS bug
29119         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
29120         * modules/stdlib (Depends-on): Add sys_wait.
29121         * tests/test-sys_wait.c (main): Enhance test.
29122         * tests/test-stdlib.c (main): Likewise.
29123         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
29124
29125         docs: mention MacOS issue with WEXITSTATUS(constant)
29126         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
29127         issue.
29128         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
29129
29130         strnlen: add tests
29131         * modules/strnlen-tests: New file.
29132         * tests/test-strnlen.c: Likewise.
29133
29134 2010-09-14  Bruno Haible  <bruno@clisp.org>
29135
29136         unistr/base: Avoid link errors when module 'libunistring' is also used.
29137         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
29138         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
29139         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
29140         Declare also when HAVE_LIBUNISTRING is set.
29141         Reported by Pádraig Brady <P@draigbrady.com>.
29142
29143 2010-09-14  Eric Blake  <eblake@redhat.com>
29144
29145         test-rawmemchr: make more robust
29146         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
29147         (Depends-on, configure.ac): Add needed prerequisites to use it.
29148         * modules/memchr-tests (Files, Depends-on, configure.ac):
29149         Likewise, to avoid implicit reliance on memchr module prereqs.
29150         * tests/test-memchr.c (main): Ensure proper masking.
29151         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
29152         reads.
29153
29154         memchr: detect glibc Alpha bug
29155         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
29156         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
29157         Alpha.
29158         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
29159         * tests/test-memchr.c (main): Enhance test.
29160         Reported by Nelson H. F. Beebe.
29161
29162 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
29163
29164         fts, getcwd, glob: audit for dirfd returning -1
29165         * lib/fts.c (opendir): Remove #define; no longer used.
29166         (opendirat): New arg PDIR_FD.  All callers changed.
29167         (fts_build, _opendir2): Use new opendirat to avoid the need for
29168         dirfd, or for checking whether dirfd returns a negative value.
29169         Don't use opendir; always use openat followed by fdopendir.
29170         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
29171         it.
29172         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
29173         returns -1 here.
29174         * modules/fts (Depends-on): Remove dirfd.
29175         * modules/getcwd (Depends-on): Likewise.
29176
29177 2010-09-13  Eric Blake  <eblake@redhat.com>
29178
29179         float: fix broken MirBSD header
29180         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
29181         * doc/posix-headers/float.texi (float.h): Document it.
29182
29183 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
29184
29185         fts: use O_NOFOLLOW to avoid race condition when opening a directory
29186         * lib/fts.c (opendirat): New arg extra_flags.
29187         (__opendir2): Use it to avoid following symlinks when opening
29188         a directory, if symlinks are not supposed to be followed.  See
29189         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
29190
29191         fdopendir: preserve argument fd before returning
29192         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
29193         (fdopendir_with_dup, fd_clone_opendir): New static functions.
29194         (fdopendir): Use them, arranging for FD to be open to the same
29195         directory that it was when it started.  (It might be temporarily
29196         closed while fdopendir is running, so this not thread- or
29197         signal-safe.)  Be careful to do the right thing even when file
29198         descriptors are scarce and dup fails with errno == EMFILE.  See
29199         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
29200
29201 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
29202
29203         regex: Pass the system regex if its only problem is 32-bit regoff_t.
29204         * NEWS: Document change.
29205         * m4/regex.m4: Disable test for regoff_t size.
29206
29207 2010-09-13  Jim Meyering  <meyering@redhat.com>
29208
29209         fts: don't operate on an invalid file descriptor after failed dup
29210         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
29211         negative file descriptor.
29212
29213 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
29214
29215         savedir: add streamsavedir, deprecate fdsavedir
29216         * NEWS: Mention deprecation of fdsavedir.
29217         * lib/savedir.c (streamsavedir): New extern function, whose name
29218         ends in "savedir" to be consistent with the others.  This differs
29219         from savedirstream in that it doesn't close its argument.  The
29220         next version of GNU tar will use this instead of fdsavedir, to
29221         avoid some race conditions and conserve file descriptors.
29222         (savedirstream): Reimplement as a wrapper around streamsavedir.
29223         (fdsavedir): Add a comment deprecating this function.  As far as
29224         I know, only GNU tar used it, and GNU tar doesn't need it any more.
29225         * lib/savedir.h (streamsavedir): New decl.
29226         (fdsavedir): Add a comment deprecating this.
29227
29228 2010-09-10  Bruno Haible  <bruno@clisp.org>
29229
29230         langinfo: Fix last commit.
29231         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
29232         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
29233         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
29234
29235 2010-09-10  Bruno Haible  <bruno@clisp.org>
29236
29237         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
29238         * lib/progreloc.c (O_EXEC): Define fallback.
29239
29240 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
29241
29242         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
29243         * NEWS: Document recent changes to fcntl-h.
29244         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
29245         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
29246         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
29247         Similarly for O_SEARCH; this last was already true, but not documented.
29248         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
29249         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
29250         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
29251         Likewise.
29252         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
29253         is zero, not whether it is defined.
29254         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
29255         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
29256         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
29257
29258 2010-09-10  Bruno Haible  <bruno@clisp.org>
29259
29260         langinfo, nl_langinfo: Fix for IRIX 5.3.
29261         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
29262         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
29263         HAVE_LANGINFO_YESEXPR.
29264         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
29265         HAVE_LANGINFO_YESEXPR.
29266         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
29267         HAVE_LANGINFO_T_FMT_AMPM is 0.
29268         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
29269         HAVE_LANGINFO_YESEXPR is 0.
29270         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
29271         NOEXPR.
29272         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
29273         * doc/posix-functions/nl_langinfo.texi: Likewise.
29274         Reported by Eric Blake.
29275
29276 2010-09-10  Bruno Haible  <bruno@clisp.org>
29277
29278         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
29279         * doc/glibc-functions/login_tty.texi: Mention the include file problem
29280         on FreeBSD 8.0 and OpenBSD 4.6.
29281         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
29282         * m4/pty_h.m4 (gl_PTY_H): Likewise.
29283         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
29284         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
29285         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
29286         ac_includes_default.
29287         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
29288
29289 2010-09-09  Eric Blake  <eblake@redhat.com>
29290
29291         strsignal: work around NetBSD bug
29292         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
29293         * lib/string.in.h (includes): Likewise.
29294         * doc/posix-functions/strsignal.texi (strsignal): Document the
29295         bug.
29296         Reported by Nelson H. F. Beebe.
29297
29298         gnulib-tool: work with NetBSD /bin/sh
29299         * gnulib-tool (func_cache_var, func_cache_lookup_module)
29300         (func_get_description, func_get_comment, func_get_status)
29301         (func_get_notice, func_get_applicability, func_get_filelist)
29302         (func_get_dependencies, func_get_autoconf_early_snippet)
29303         (func_get_autoconf_snippet, func_get_automake_snippet)
29304         (func_get_include_directive, func_get_link_directive)
29305         (func_get_license, func_get_maintainer, func_import): Avoid
29306         shell syntax errors from parsing syntax extensions.
29307
29308 2010-09-09  Bruno Haible  <bruno@clisp.org>
29309
29310         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
29311         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
29312         a reliable way to determine whether the 'alias' command works.
29313
29314 2010-09-08  Jim Meyering  <meyering@redhat.com>
29315
29316         init.sh: penalize a set-x-impaired shell; don't disqualify it
29317         * tests/init.sh: Too many shells corrupt application stderr when
29318         you set -x, so we can't afford to disqualify them, since at least
29319         on Irix-6.5, that would disqualify all bourne shells.
29320         Instead, use a two-pass approach.
29321         On the first pass, try to find a shell that meets the stricter
29322         condition that set -x does not corrupt stderr.
29323         If no shell meets the stricter condition, retest each candidate
29324         shell, but without that extra condition.  Finally, when
29325         VERBOSE=yes is requested and set -x might cause trouble, simply
29326         issue a warning and refrain from enabling debug output.
29327
29328 2010-09-08  Eric Blake  <eblake@redhat.com>
29329
29330         unsetenv: fix OpenBSD bug
29331         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
29332         * doc/posix-functions/unsetenv.texi (unsetenv): Update
29333         documentation.
29334         Reported by Jim Meyering.
29335
29336         strtod: work around IRIX 6.5 bug
29337         * lib/strtod.c (strtod): Reparse number on shorter string if
29338         exponent parse was invalid.
29339         * tests/test-strtod.c (main): Add check for "0x1p 2".
29340         Reported by Tom G. Christensen.
29341
29342         getopt: optimize previous patch
29343         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
29344         empty variable.  Speed up awk script.
29345         Reported by Paolo Bonzini.
29346
29347 2010-09-08  Jim Meyering  <meyering@redhat.com>
29348
29349         test.sh: disqualify shells for which set -x corrupts stderr
29350         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
29351         and OpenBSD 4.7.  They make it so with "set -x", environment settings
29352         appear in stderr output.  For example, this command:
29353             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
29354         prints "P=1" on those two systems:
29355
29356 2010-09-08  Bruno Haible  <bruno@clisp.org>
29357
29358         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
29359         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
29360         commands, because some shells ignore redirections when there is an
29361         error in the command lookup.
29362         Reported by Eric Blake.
29363
29364 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
29365
29366         * lib/regex.h: Fix a mention of `regex_compile' (should be
29367         `re_compile_pattern').
29368         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
29369         (re_set_registers): Correct name of parameter in comment.
29370
29371         * doc/regex.texi: Add documentation for missing syntax flags.
29372         Remove commented-out documentation of defunct syntax option
29373         RE_NO_EMPTY_ALTS.
29374         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
29375         Add documentation of re_set_registers.
29376         Document trick to re-use a pattern buffer by setting fastmap manually.
29377         Update documentation of struct re_pattern_buffer per public members.
29378         Uncomment documentation of equivalence class operators and
29379         collating symbol operators, since they are now implemented,
29380         Explain leftmost-longest matching in relation to alternatives.
29381         Tidy documentation of substring matching.
29382         Remove POSIX documentation, which is done better in
29383         glibc, and refer the reader there. Keep BSD API documentation, as
29384         that is not readily available elsewhere.
29385
29386 2010-09-07  Eric Blake  <eblake@redhat.com>
29387
29388         getopt: handle POSIXLY_CORRECT set but not exported
29389         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
29390         export state of POSIXLY_CORRECT, due to bash set -o posix.
29391         Reported by Dustin J. Mitchell.
29392
29393 2010-09-05  Bruno Haible  <bruno@clisp.org>
29394
29395         gnulib-tool: Highlight the changed options.
29396         * gnulib-tool (func_usage): Display the --import, --add-import,
29397         --remove-import explanations in bold font.
29398
29399 2010-09-06  Karl Berry  <karl@gnu.org>
29400
29401         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
29402
29403 2010-09-05  Bruno Haible  <bruno@clisp.org>
29404
29405         uniwidth/width: Update comment.
29406         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
29407         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
29408
29409 2010-09-05  Bruno Haible  <bruno@clisp.org>
29410
29411         isinf, isnan: Relax license.
29412         * modules/isinf (License): Change from GPL to LGPL, with consent from
29413         Ben Pfaff.
29414         * modules/isnan (License): Likewise.
29415         Requested by Ludovic Courtès.
29416
29417 2010-09-04  Bruno Haible  <bruno@clisp.org>
29418
29419         gnulib-tool: Help migration from --import to --add-import or --update.
29420         * gnulib-tool: Emit a verbose error message when --import is used
29421         without any module name.
29422
29423 2010-09-04  Bruno Haible  <bruno@clisp.org>
29424
29425         Update doc about gnulib-tool.
29426         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
29427         'gnulib-tool --update' in more detail.
29428         Reported by Eric Blake.
29429
29430 2010-09-04  Bruno Haible  <bruno@clisp.org>
29431
29432         gnulib-tool: Change --import. New options --add/remove-import.
29433         * gnulib-tool: New options --add-import, --remove-import.
29434         (func_usage): Document them.
29435         (have_associative): Define always.
29436         (func_import): In import mode, don't merge the specified settings with
29437         the cached settings. Implement remove-import mode.
29438         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
29439         Explain when to use them versus --import.
29440         (Simple update): Use --add-import instead of --import.
29441         * NEWS: Mention the change.
29442
29443 2010-09-04  Bruno Haible  <bruno@clisp.org>
29444
29445         * doc/gnulib-tool.texi (Initial import): Update paragraph about
29446         separate gnulib.mk.
29447
29448 2010-09-04  Bruno Haible  <bruno@clisp.org>
29449
29450         gnulib-tool: Don't talk about CVS any more.
29451         * gnulib-tool (func_usage, func_import): Write "version control"
29452         instead of CVS.
29453
29454 2010-09-04  Jim Meyering  <meyering@redhat.com>
29455
29456         maint.mk: avoid obscure sc_copyright_check failure in coreutils
29457         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
29458         false positives (whose names may be ill-chosen) when searching
29459         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
29460         would cause a false-positive.
29461
29462         avoid coreutils "make distcheck" failure
29463         Coreutils tests with an absolute build directory name that contains
29464         a space.  Not quoting this directory name caused a failure.
29465         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
29466         * tests/test-vc-list-files-cvs.sh: Likewise.
29467
29468 2010-09-04  Bruno Haible  <bruno@clisp.org>
29469
29470         gnulib-tool: Avoid error when run in a package without Makefile.am.
29471         * gnulib-tool: When collecting the m4dirs in a package that does not
29472         have a Makefile.am, eliminate those directories that contain no
29473         gnulib-cache.m4. Fix expression that counts these directories.
29474
29475 2010-09-04  Bruno Haible  <bruno@clisp.org>
29476
29477         update-copyright test: Improve output when perl is missing or too old.
29478         * tests/test-update-copyright.sh: Move test of Perl version down after
29479         the test whether Perl exists. Provide an explanation relating Perl's
29480         error message to Automake's SKIP: message.
29481
29482 2010-09-04  Bruno Haible  <bruno@clisp.org>
29483
29484         Don't augment PATH in TESTS_ENVIRONMENT.
29485         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
29486         set abs_aux_dir instead of augmenting PATH.
29487         * modules/vc-list-files-tests (Makefile.am): Likewise.
29488         * tests/test-update-copyright.sh: Augment PATH here.
29489         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
29490         path_prepend_.
29491         * tests/test-vc-list-files-git.sh: Likewise.
29492
29493 2010-09-04  Jim Meyering  <meyering@redhat.com>
29494
29495         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
29496         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
29497
29498 2010-09-04  Bruno Haible  <bruno@clisp.org>
29499
29500         strdup: Fix compilation error in C++ mode.
29501         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
29502         the macro.
29503
29504 2010-09-04  Bruno Haible  <bruno@clisp.org>
29505
29506         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
29507         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
29508         macro into a function.
29509         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
29510
29511 2010-09-04  Bruno Haible  <bruno@clisp.org>
29512
29513         Set PATH_SEPARATOR the same way autoconf does.
29514         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
29515         the value of PATH_SEPARATOR the same way autoconf-generated configure
29516         scripts do.
29517         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
29518         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
29519
29520 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
29521
29522         Set PATH_SEPARATOR the same way autoconf does.
29523         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
29524         the same way autoconf-generated configure scripts do.
29525         * posix-modules: Likewise.
29526
29527 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
29528
29529         hash: fix safe_hasher const typo
29530         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
29531         const; otherwise, there is a type error later.
29532
29533 2010-09-02  Jim Meyering  <meyering@redhat.com>
29534
29535         test-update-copyright.sh: require perl 5.8.0
29536         * tests/test-update-copyright.sh: Require 5.8.0,
29537         which Tom G. Christensen has confirmed is adequate,
29538         while 5.6.1 is not.
29539
29540 2010-09-02  Eric Blake  <eblake@redhat.com>
29541
29542         tests: init.sh improvements for re-exec'ing with zsh
29543         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
29544         -vx through shell re-exec.
29545         Reported by Tom G. Christensen.
29546
29547         wctype: fix typo in previous commit
29548         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
29549         Reported by Ludovic Courtès.
29550
29551 2010-09-02  Jim Meyering  <meyering@redhat.com>
29552
29553         test-update-copyright.sh: skip test if Perl is too old
29554         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
29555         Reported by Tom G. Christensen.
29556
29557 2010-09-02  Bruno Haible  <bruno@clisp.org>
29558
29559         wctype: Avoid compilation error on IRIX 6.5.30.
29560         * lib/wctype.in.h (iswblank): Declare with a replacement if
29561         REPLACE_ISWBLANK is set.
29562         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
29563         declared. Set REPLACE_ISWBLANK.
29564         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
29565         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
29566         * doc/posix-headers/wctype.texi: Likewise.
29567         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
29568
29569 2010-09-01  Bruno Haible  <bruno@clisp.org>
29570
29571         New module 'socketlib'.
29572         * modules/socketlib: New file.
29573         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
29574         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
29575         * modules/sockets (Depends-on): Add socketlib.
29576         Suggested by Sam Steingold <sds@gnu.org>.
29577
29578 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
29579
29580         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
29581
29582         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
29583         when one needs search access to a directory but not read access.
29584         On systems where it is available, it works in some cases where
29585         O_RDONLY does not, namely on directories that are searchable but
29586         not readable, and which need only to be searchable.  If O_SEARCH
29587         is not available, fall back to the traditional method of using
29588         O_RDONLY.
29589
29590         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
29591         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
29592         when opening a directory that needs only to be searchable.
29593         * lib/chdir-safer.c (chdir_no_follow): Likewise.
29594         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
29595         * lib/openat-proc.c (openat_proc_name): Likewise.
29596         * lib/openat.c (openat_needs_fchdir): Likewise.
29597         * lib/save-cwd.c (save_cwd): Likewise.
29598         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
29599
29600 2010-08-28  Bruno Haible  <bruno@clisp.org>
29601
29602         New module 'host-cpu-c-abi'.
29603         * modules/host-cpu-c-abi: New file.
29604         * m4/host-cpu-c-abi.m4: New file, based on part of
29605         clisp/src/m4/general.m4.
29606         Requested by Sam Steingold <sds@gnu.org>.
29607
29608 2010-08-31  Eric Blake  <eblake@redhat.com>
29609         and Jim Meyering  <meyering@redhat.com>
29610
29611         hash: factor, and guard against misbehaving hasher function
29612         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
29613         of table->hasher's return value.  Also protect against a hash value
29614         so large that adding it to table->bucket results in a NULL pointer.
29615         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
29616         Use it in place of open-coded check-and-abort.
29617
29618 2010-08-30  Bruno Haible  <bruno@clisp.org>
29619
29620         hash: silence spurious clang warning
29621         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
29622         Reported by Eric Blake.
29623
29624 2010-08-30  Eric Blake  <eblake@redhat.com>
29625
29626         strstr, memmem, strcasestr: avoid leaked shell message
29627         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
29628         FreeBSD.
29629         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
29630         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
29631
29632         tests: silence clang warning
29633         * tests/test-malloca.c (do_allocation): Avoid dead store.
29634
29635 2010-08-29  Bruno Haible  <bruno@clisp.org>
29636
29637         gettext: Fix recent mistake.
29638         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
29639
29640 2010-08-29  Bruno Haible  <bruno@clisp.org>
29641
29642         selinux-h: Offer a --without-selinux option.
29643         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
29644         --without-selinux was specified, skip all tests and define
29645         HAVE_SELINUX_SELINUX_H to 0.
29646         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
29647         set LIB_SELINUX to empty.
29648         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
29649         gl_LIBSELINUX. If --without-selinux was specified, replace
29650         selinux/context.h.
29651         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
29652
29653 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
29654             Bruno Haible  <bruno@clisp.org>
29655
29656         Make the module 'realloc-gnu' work again on AIX and OSF/1.
29657         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
29658         of HAVE_REALLOC.
29659         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
29660         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
29661         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
29662         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
29663
29664 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
29665             Bruno Haible  <bruno@clisp.org>
29666
29667         Make the module 'calloc-gnu' work again on AIX and OSF/1.
29668         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
29669         HAVE_CALLOC.
29670         * lib/xmalloc.c: Update accordingly.
29671         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
29672         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
29673         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
29674
29675 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
29676             Bruno Haible  <bruno@clisp.org>
29677
29678         Make the module 'malloc-gnu' work again on AIX and OSF/1.
29679         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
29680         HAVE_MALLOC.
29681         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
29682         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
29683         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
29684
29685 2010-08-29  Bruno Haible  <bruno@clisp.org>
29686
29687         Update modules list.
29688         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
29689         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
29690         (String handling <string.h>): Add astrxfrm.
29691         (File system functions): Add readlinkat.
29692
29693 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29694
29695         Tests for module 'realloc-gnu'.
29696         * modules/realloc-gnu-tests: New file.
29697         * tests/test-realloc-gnu.c: New file.
29698
29699         Tests for module 'calloc-gnu'.
29700         * modules/calloc-gnu-tests: New file.
29701         * tests/test-calloc-gnu.c: New file.
29702
29703         Tests for module 'malloc-gnu'.
29704         * modules/malloc-gnu-tests: New file.
29705         * tests/test-malloc-gnu.c: New file.
29706
29707 2010-08-28  Bruno Haible  <bruno@clisp.org>
29708
29709         Rename module 'realloc' -> 'realloc-gnu'.
29710         * modules/realloc-gnu: New file, copied from modules/realloc.
29711         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
29712         obsolete.
29713         * modules/mgetgroups (Depends-on): Update.
29714         * doc/posix-functions/realloc.texi: Update.
29715         * NEWS: Mention the change.
29716
29717         Rename module 'calloc' -> 'calloc-gnu'.
29718         * modules/calloc-gnu: New file, copied from modules/calloc.
29719         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
29720         obsolete.
29721         * doc/posix-functions/calloc.texi: Update.
29722         * NEWS: Mention the change.
29723
29724         Rename module 'malloc' -> 'malloc-gnu'.
29725         * modules/malloc-gnu: New file, copied from modules/malloc.
29726         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
29727         obsolete.
29728         * modules/argp (Depends-on): Update.
29729         * modules/regex (Depends-on): Update.
29730         * doc/posix-functions/malloc.texi: Update.
29731         * NEWS: Mention the change.
29732
29733 2010-08-28  Eric Blake  <eblake@redhat.com>
29734
29735         pread, pwrite: add missing dependency
29736         * modules/pread (Depends-on): Add extensions.
29737         * modules/pwrite (Depends-on): Likewise.
29738
29739 2010-08-28  Bruno Haible  <bruno@clisp.org>
29740
29741         unistr/u*-strchr: Fix tests dependencies.
29742         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
29743         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
29744         Reported by Ian Beckwith <ianb@erislabs.net>.
29745
29746 2010-08-28  Bruno Haible  <bruno@clisp.org>
29747
29748         read-file: Don't occupy too much unused memory.
29749         * lib/read-file.c (fread_file): Shrink the buffer at the end.
29750
29751 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
29752             Eric Blake  <eblake@redhat.com>
29753             Bruno Haible  <bruno@clisp.org>
29754
29755         read-file: Avoid memory reallocations with regular files.
29756         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
29757         (fread_file): With regular files, use the remaining length as the
29758         initial buffer size.  Check against overflow.
29759         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
29760         sys_stat.
29761
29762 2010-08-28  Bruno Haible  <bruno@clisp.org>
29763
29764         ftello: Relax license.
29765         * modules/ftello (License): Relax to LGPLv2+.
29766         Reported by Eric Blake.
29767
29768 2010-08-28  Bruno Haible  <bruno@clisp.org>
29769
29770         Avoid relocwrapper link errors due to gnulib replacement functions.
29771         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
29772         function.
29773         Reported by Ben Pfaff <blp@cs.stanford.edu>.
29774
29775 2010-08-28  Bruno Haible  <bruno@clisp.org>
29776
29777         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
29778         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
29779         defined.
29780         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
29781         Suggested by Eric Blake.
29782
29783 2010-08-28  Bruno Haible  <bruno@clisp.org>
29784
29785         sys_socket, netdb: Ensure socklen_t gets defined.
29786         * modules/sys_socket (Depends-on): Add socklen.
29787         * modules/netdb (Depends-on): Likewise.
29788         * modules/getaddrinfo (Depends-on): Remove socklen.
29789         * modules/getsockopt (Depends-on): Likewise.
29790         * modules/setsockopt (Depends-on): Likewise.
29791         * tests/test-sys_socket.c: Check that socklen_t is defined.
29792         * tests/test-netdb.c: Likewise.
29793         * m4/socklen.m4: Update comments.
29794         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
29795
29796 2010-08-27  Eric Blake  <eblake@redhat.com>
29797
29798         login_tty: add missing dependency
29799         * modules/login_tty (Depends-on): Add pty.
29800
29801 2010-08-26  Eric Blake  <eblake@redhat.com>
29802
29803         lib-symbol-versions: fix m4 quoting
29804         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
29805         format for AC_LINK_IFELSE.
29806
29807         glob: fix compile test
29808         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
29809
29810         btowc: fix missing file
29811         * modules/btowc (Files): Also ship locale-fr.m4.
29812
29813         lseek: fix link test
29814         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
29815         AC_LINK_IFELSE.
29816
29817         include_next: silence autoconf 2.68 warning
29818         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
29819         AC_COMPILE_IFELSE as special.
29820         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
29821         autoconf < 2.68.
29822
29823         acl: fix compilation test
29824         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
29825         AC_COMPILE_IFELSE.
29826
29827 2010-08-26  Bruno Haible  <bruno@clisp.org>
29828
29829         Modernize AC_TRY_RUN invocations.
29830         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
29831         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
29832         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
29833         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
29834         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
29835         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
29836         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
29837         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
29838         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
29839         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
29840         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
29841         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
29842         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
29843         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
29844         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
29845         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
29846         gl_MBRLEN_NUL_RETVAL): Likewise.
29847         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
29848         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
29849         Likewise.
29850         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
29851         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
29852         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
29853         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
29854         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
29855         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
29856         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
29857         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
29858         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
29859         Likewise.
29860         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
29861         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
29862         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
29863         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
29864         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
29865         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
29866         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
29867         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
29868         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
29869         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
29870
29871 2010-08-26  Bruno Haible  <bruno@clisp.org>
29872
29873         Modernize AC_TRY_LINK invocations.
29874         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
29875         AC_TRY_LINK.
29876         * m4/argp.m4 (gl_ARGP): Likewise.
29877         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
29878         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
29879         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
29880         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
29881         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
29882         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
29883         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
29884         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
29885         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
29886         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
29887         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
29888         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
29889         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
29890         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
29891         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
29892         * m4/hostent.m4 (gl_HOSTENT): Likewise.
29893         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
29894         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
29895         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
29896         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
29897         Likewise.
29898         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
29899         Likewise.
29900         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
29901         Likewise.
29902         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
29903         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
29904         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
29905         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
29906         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
29907         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
29908         * m4/servent.m4 (gl_SERVENT): Likewise.
29909         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
29910         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
29911         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
29912         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
29913         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
29914         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
29915         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
29916         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
29917         * modules/tsearch-tests (configure.ac): Likewise.
29918
29919 2010-08-26  Bruno Haible  <bruno@clisp.org>
29920
29921         Modernize AC_TRY_COMPILE invocations.
29922         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
29923         AC_TRY_COMPILE.
29924         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
29925         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
29926         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
29927         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
29928         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
29929         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
29930         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
29931         * m4/lock.m4 (gl_LOCK): Likewise.
29932         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
29933         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
29934         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
29935         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
29936         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
29937         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
29938         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
29939         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
29940         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
29941         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
29942         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
29943         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
29944         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
29945         extraneous semicolon.
29946
29947 2010-08-26  Jim Meyering  <meyering@redhat.com>
29948
29949         stat-time: relax license LGPL
29950         * modules/stat-time (License): Change from GPL to LGPL,
29951         with consent from all contributors, for use in libguile.
29952         Requested by Ludovic Courtès.
29953
29954 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
29955
29956         poll: return immediately on POLLHUP.
29957         * lib/poll.c (poll): Always set timeout before wait_timeout is
29958         computed.
29959
29960 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29961
29962         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
29963         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
29964         rmdir ("dir/.//"), unlinkat.
29965
29966 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
29967
29968         stdbool: avoid spurious failure with modern xlc
29969         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
29970
29971 2010-08-24  Bruno Haible  <bruno@clisp.org>
29972
29973         getloadavg: simplify code
29974         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
29975         gl_have_func. Update comments.
29976
29977 2010-08-24  Eric Blake  <eblake@redhat.com>
29978
29979         getloadavg: don't define SVR4 on cygwin
29980         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
29981         only define SVR4 when -lkvm is required.
29982         Reported by Yaakov Selkowitz.
29983
29984 2010-08-24  Bruno Haible  <bruno@clisp.org>
29985
29986         priv-set: fix comment
29987         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
29988
29989 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
29990
29991         priv-set: fix comments
29992         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
29993         to match code, as suggested by David Bartley in:
29994         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
29995
29996 2010-08-23  Eric Blake  <eblake@redhat.com>
29997
29998         stdbool: avoid rejecting clang
29999         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
30000         * tests/test-stdbool.c: Enable more tests if using the system
30001         <stdbool.h> instead of the gnulib replacement.
30002         (main): Move xlc bug test to a runtime test for all compilers.
30003         Reported by Anders Kaseorg.
30004
30005         argz: fix shell quoting issue
30006         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
30007         Reported by Charles Wilson.
30008
30009 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
30010             Erik Faye-Lund <kusmabite@gmail.com>
30011
30012         poll, select: handle ERROR_BROKEN_PIPE.
30013         * lib/poll.c (win32_compute_revents): Return POLLHUP when
30014         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
30015         * lib/select.c (win32_compute_revents): Do not mark a pipe
30016         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
30017
30018 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
30019
30020         fts: allow compilation with C++
30021         * lib/fts_.h: Specify extern "C" linkage with C++.
30022
30023 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30024
30025         Fix gnulib-tool sed script de-commentation for AIX sed.
30026         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
30027         sed.
30028
30029 2010-08-17  Eric Blake  <eblake@redhat.com>
30030
30031         test-stddef: test for (some) offsetof bugs
30032         * tests/test-stddef.c: Enhance test to ensure correct type of
30033         offsetof.
30034         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
30035         that we are not fixing at this time.
30036
30037 2010-08-15  Bruno Haible  <bruno@clisp.org>
30038
30039         stpncpy: Allow stpncpy to be defined as a macro.
30040         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
30041         if it's already correctly declared.
30042         * lib/string.in.h (stpncpy): Undefine before redefining.
30043         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
30044
30045 2010-08-14  Bruno Haible  <bruno@clisp.org>
30046
30047         Rename module 'memxfrm' to 'amemxfrm'.
30048         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
30049         (amemxfrm): Renamed from memxfrm.
30050         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
30051         (amemxfrm): Renamed from memxfrm.
30052         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
30053         * NEWS: Mention the change.
30054         * MODULES.html.sh (String handling <string.h>): Update.
30055         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
30056         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
30057         * lib/unicase/u16-casexfrm.c: Likewise.
30058         * lib/unicase/u32-casexfrm.c: Likewise.
30059         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
30060         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
30061         * lib/uninorm/u16-normxfrm.c: Likewise.
30062         * lib/uninorm/u32-normxfrm.c: Likewise.
30063         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
30064         memxfrm.
30065         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
30066         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
30067         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
30068         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
30069         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
30070         Suggested by Paul Eggert.
30071
30072 2010-08-14  Bruno Haible  <bruno@clisp.org>
30073
30074         Tests for module 'astrxfrm'.
30075         * modules/astrxfrm-tests: New file.
30076         * tests/test-astrxfrm.c: New file.
30077
30078         New module 'astrxfrm'.
30079         * lib/astrxfrm.h: New file.
30080         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
30081         * modules/astrxfrm: New file.
30082
30083 2010-08-14  Reuben Thomas <rrt@sc3d.org>
30084
30085         regex: Tweak doc.
30086         * doc/regex.texi (Overview): Don't mention regex.c.
30087         (GNU Regular Expression Compiling): Likewise.
30088         (Match-end-of-line Operator): Mention 'not_eol'.
30089
30090 2010-08-14  Brian Gough  <bjg@gnu.org>
30091             Bruno Haible  <bruno@clisp.org>
30092
30093         git-merge-changelog: add doc relating to use with bzr and hg.
30094         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
30095
30096 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
30097
30098         pthread: fix pthread.h creation for srcdir != builddir
30099         * modules/pthread (Makefile.am): Fix the rule to work also in a
30100         non-srcdir build.
30101
30102 2010-08-13  Karl Berry  <karl@gnu.org>
30103
30104         * doc/regex.texi (Predefined Syntaxes): @smallexample.
30105         * doc/posix-*/*: force line break before @url of POSIX
30106         specifications.
30107         Suggested by Werner Lemberg.
30108
30109 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
30110
30111         strtod: fix const diagnostic
30112         * lib/strtod.c (strtod): Don't assign const char * to char *,
30113         as this elicits a warning from GCC when warnings are enabled.
30114
30115 2010-08-10  Pádraig Brady <P@draigbrady.com>
30116         and Eric Blake  <eblake@redhat.com>
30117
30118         copy-acl: ignore ENOTSUP on HP-UX
30119         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
30120         so that it is available for HP-UX.
30121         * lib/copy-acl.c (qcopy_acl): Use it.
30122         Reported by Patrick M. Callahan.
30123
30124 2010-08-10  Eric Blake  <eblake@redhat.com>
30125
30126         open, chown: relax license
30127         * modules/open (License): Change to LGPLv2+, with consent by all
30128         authors, for use in augeas.
30129         * modules/chown (License): Likewise.
30130         * modules/lchown (Likewise): Likewise.
30131         Requested by Adam Stokes.
30132
30133 2010-08-09  Karl Berry  <karl@gnu.org>
30134
30135         * build-aux/ar-lib: new file, import from Automake.
30136         * config/srclist.txt: autocheck for updates.
30137
30138 2010-08-09  Eric Blake  <eblake@redhat.com>
30139
30140         readlinkat: adjust client modules
30141         * modules/areadlinkat (Depends-on): Use readlinkat, not
30142         symlinkat.
30143         * modules/areadlinkat-with-size (Depends-on): Likewise.
30144
30145         mknod: be more vocal about danger of running tests as root
30146         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
30147         root, since that is just asking for problems.
30148         Suggested by Bruno Haible, based on a report by Rainer Tammer.
30149
30150         readlinkat: split into its own module
30151         * modules/symlinkat: Split readlinkat...
30152         * modules/readlinkat: ...into separate module.
30153         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
30154         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
30155         * lib/symlinkat.c (readlinkat): Move...
30156         * lib/readlinkat.c: ...into new file.
30157         * modules/symlinkat-tests: Split readlinkat test...
30158         * modules/readlinkat-tests: ...into separate module.
30159         * tests/test-symlinkat.c: Split...
30160         * tests/test-readlinkat.c: ...into new file.
30161         * NEWS: Document the split.
30162         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
30163         * lib/unistd.in.h (readlinkat): Likewise.
30164         Suggested by Bruno Haible.
30165
30166 2010-08-08  Bruno Haible  <bruno@clisp.org>
30167
30168         memxfrm: Speed up.
30169         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
30170         that usually only one call to strxfrm is necessary for each string
30171         part.
30172         Reported by Paul Eggert <eggert@cs.ucla.edu>.
30173
30174 2010-08-07  Karl Berry  <karl@gnu.org>
30175
30176         * doc/posix-headers/limits.texi,
30177         * doc/posix-functions/malloc.texi,
30178         * doc/posix-functions/strsignal.texi: missing @item.
30179         * doc/ld-version-script.texi: spurious leading i.
30180         * doc/regex.texi (Interval Operators): no commas inside @var.
30181
30182 2010-08-01  Bruno Haible  <bruno@clisp.org>
30183
30184         Integrate the regex documentation.
30185         * doc/gnulib.texi: Define 'cn' index.
30186         (Regular expressions): New a chapter that includes regex.texi and
30187         regexprops-generic.texi.
30188         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
30189         syntax.
30190
30191         Whitespace cleanup.
30192         * doc/regex.texi: Remove trailing spaces.
30193
30194         Add regex documentation.
30195         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
30196         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
30197         Written by Kathy A. Hargreaves and Karl Berry.
30198
30199 2010-08-01  Bruno Haible  <bruno@clisp.org>
30200
30201         link: Update documentation.
30202         * doc/posix-functions/link.texi: Update regarding Solaris.
30203
30204 2010-07-31  Bruno Haible  <bruno@clisp.org>
30205
30206         Update modules list.
30207         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
30208         (String handling <string.h>): Add memcmp2, memxfrm.
30209         (Container data structures): Add xlist, xsublist, xoset.
30210         (Core language properties): Add alignof, unused-parameter.
30211         (Process control, Numeric conversion functions <stdlib.h>): Renamed
30212         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
30213         (Unibyte characters <ctype.h>): New section.
30214         (String handling <string.h>): New section.
30215         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
30216         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
30217         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
30218         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
30219         tan, tanh, tanl, y0, y1, yn.
30220         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
30221         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
30222         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
30223         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
30224         unlockpt, vdprintf, vdprintf-posix.
30225         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
30226         (File system functions): Add concat-filename, sys_file, sys_ioctl,
30227         xconcat-filename.
30228         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
30229         getdtablesize, pipe2, pipe2-safer.
30230         (Security): New section.
30231         (Networking functions): Add accept4.
30232         (Signal handling): Add sigpipe.
30233         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
30234         mbmemcasecoll.
30235         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
30236         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
30237         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
30238         pipe-filter-ii.
30239         (Misc): Add argp-version-etc, login_tty, parse-duration.
30240
30241 2010-07-31  Bruno Haible  <bruno@clisp.org>
30242
30243         Improve doc in MODULES.html.
30244         * modules/linkat (Description): Add the word "function".
30245         * modules/mkfifo (Description): Likewise.
30246         * modules/mknod (Description): Likewise.
30247         * modules/remove (Description): Likewise.
30248         * modules/renameat (Description): Likewise.
30249         * modules/stat (Description): Likewise.
30250         * modules/symlink (Description): Likewise.
30251         * modules/unlink (Description): Likewise.
30252
30253 2010-07-31  Bruno Haible  <bruno@clisp.org>
30254
30255         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
30256         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
30257         option --enable/disable-c++ instead of --enable/disable-cxx.
30258         * NEWS: Mention the change.
30259
30260 2010-07-31  Bruno Haible  <bruno@clisp.org>
30261
30262         readlink, areadlink: Relax test a bit.
30263         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
30264         alternative to ENOTDIR.
30265         * tests/test-areadlink.h (test_areadlink): Likewise.
30266         Reported by Rainer Tammer.
30267
30268 2010-07-31  Bruno Haible  <bruno@clisp.org>
30269
30270         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
30271         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
30272         character, perform the search using U_STRCHR.
30273         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
30274         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
30275         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
30276         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
30277         Suggested by Paolo Bonzini.
30278
30279 2010-07-31  Bruno Haible  <bruno@clisp.org>
30280
30281         unistr/u*-strstr: Fix dependencies.
30282         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
30283         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
30284         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
30285
30286 2010-07-31  Bruno Haible  <bruno@clisp.org>
30287
30288         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
30289         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
30290         the beginning of the loop.
30291         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
30292         cases in 'switch' statement.
30293
30294         unistr/u8-strchr: Fix several bugs.
30295         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
30296         the string. When not found, return NULL, not a pointer near the end.
30297
30298         More tests for unistr/u8-strchr.
30299         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
30300         that the function does not read past the first occurrence of the byte
30301         being searched.
30302         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
30303         * tests/unistr/test-u16-strchr.c (main): New function.
30304         * tests/unistr/test-u32-strchr.c (main): New function.
30305
30306 2010-07-31  Bruno Haible  <bruno@clisp.org>
30307
30308         posix-modules: Ignore backup files of documentation files.
30309         * posix-modules: grep only through files named *.texi.
30310
30311 2010-07-31  Bruno Haible  <bruno@clisp.org>
30312
30313         symlinkat: Fix documentation.
30314         * doc/posix-functions/readlinkat.texi: Fix module name.
30315
30316 2010-07-31  Bruno Haible  <bruno@clisp.org>
30317
30318         fchownat: Replace also when chown has the trailing slash bug.
30319         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
30320         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
30321         introduced on 2010-04-10.
30322         Reported by Rainer Tammer.
30323
30324 2010-07-31  Bruno Haible  <bruno@clisp.org>
30325
30326         linkat: Work around AIX 7.1 bug.
30327         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
30328         whether linkat handles trailing slash correctly. If not, replace linkat
30329         and define LINKAT_TRAILING_SLASH_BUG.
30330         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
30331         check whether (fd1,file1) points to a directory if file1 or file2 ends
30332         in a slash. Code taken from lib/link.c.
30333         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
30334         Reported by Rainer Tammer.
30335
30336 2010-07-31  Bruno Haible  <bruno@clisp.org>
30337
30338         Correctly determine whether pow is available in libc on AIX 7 with xlc.
30339         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
30340         This disables an xlc optimization that was causing wrong test results.
30341         Reported by Rainer Tammer.
30342
30343 2010-07-31  Bruno Haible  <bruno@clisp.org>
30344
30345         iconv: Work around AIX 6.1..7.1 bug.
30346         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
30347         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
30348         cross-compiling, guess no on all versions of AIX.
30349         Reported by Rainer Tammer.
30350
30351 2010-07-31  Bruno Haible  <bruno@clisp.org>
30352
30353         readlink: Relax test a bit.
30354         * tests/test-readlink.h (test_readlink): Allow different errno value
30355         when readlink is called with a file name that ends in / and refers to
30356         a file.
30357         Suggested by Eric Blake.
30358         Reported by Rainer Tammer.
30359
30360 2010-07-31  Bruno Haible  <bruno@clisp.org>
30361
30362         copysign: Does not require -lm on glibc systems.
30363         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
30364         gl_COMMON_DOUBLE_MATHFUNC.
30365         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
30366
30367 2010-07-31  Bruno Haible  <bruno@clisp.org>
30368
30369         duplocale: Work around AIX 7.1 bug.
30370         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
30371         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
30372         * lib/duplocale.c (rpl_duplocale): Update comment.
30373         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
30374         Reported by Rainer Tammer.
30375
30376 2010-07-30  Bruno Haible  <bruno@clisp.org>
30377
30378         dirfd: Avoid link error on AIX 7.1.
30379         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
30380         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
30381         exist, set REPLACE_DIRFD.
30382         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
30383         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
30384         * doc/posix-functions/dirfd.texi: Update.
30385         Reported by Rainer Tammer.
30386
30387 2010-07-30  Eric Blake  <eblake@redhat.com>
30388
30389         strtod: next round of AIX fixes
30390         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
30391         exponent.
30392         * tests/test-strtod.c (main): Enhance tests.
30393         * doc/posix-functions/strtod.texi (strtod): Document next bug.
30394         Reported by Rainer Tammer.
30395
30396         futimens: fix configure check
30397         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
30398         Reported by Bruno Haible.
30399
30400 2010-07-30  Bruno Haible  <bruno@clisp.org>
30401
30402         getline: Update regarding AIX.
30403         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
30404         Reported by Rainer Tammer.
30405
30406 2010-07-30  Bruno Haible  <bruno@clisp.org>
30407
30408         wcwidth: Drop replacement on AIX 7.
30409         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
30410         AIX 7.
30411         Reported by Rainer Tammer.
30412
30413 2010-07-30  Bruno Haible  <bruno@clisp.org>
30414
30415         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
30416         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
30417         a 'char *'.
30418         Reported by Rainer Tammer.
30419
30420 2010-07-30  Bruno Haible  <bruno@clisp.org>
30421
30422         unlink: Update regarding AIX.
30423         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
30424         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
30425         Reported by Rainer Tammer.
30426
30427 2010-07-30  Bruno Haible  <bruno@clisp.org>
30428
30429         symlink: Update regarding AIX.
30430         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
30431         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
30432         Reported by Rainer Tammer.
30433
30434 2010-07-30  Bruno Haible  <bruno@clisp.org>
30435
30436         strndup: Update regarding AIX.
30437         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
30438         AIX 7.
30439         Reported by Rainer Tammer.
30440
30441 2010-07-30  Bruno Haible  <bruno@clisp.org>
30442
30443         stat: Update regarding AIX.
30444         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
30445         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
30446         Reported by Rainer Tammer.
30447
30448 2010-07-30  Bruno Haible  <bruno@clisp.org>
30449
30450         truncl: Fix autoconf test.
30451         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
30452         whether truncl works.
30453         Reported by Rainer Tammer.
30454
30455 2010-07-30  Bruno Haible  <bruno@clisp.org>
30456
30457         round: Update regarding AIX.
30458         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
30459         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
30460         Reported by Rainer Tammer.
30461
30462 2010-07-30  Bruno Haible  <bruno@clisp.org>
30463
30464         rename: Update regarding AIX.
30465         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
30466         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
30467         Reported by Rainer Tammer.
30468
30469 2010-07-30  Bruno Haible  <bruno@clisp.org>
30470
30471         printf.m4: Update regarding AIX.
30472         * m4/printf.m4: Update comments regarding AIX.
30473         Reported by Rainer Tammer.
30474
30475 2010-07-30  Bruno Haible  <bruno@clisp.org>
30476
30477         iconv: Update regarding AIX.
30478         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
30479         AIX 7.
30480         Reported by Rainer Tammer.
30481
30482 2010-07-30  Bruno Haible  <bruno@clisp.org>
30483
30484         getopt: Update regarding AIX.
30485         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
30486         no on AIX.
30487         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
30488         Reported by Rainer Tammer.
30489
30490 2010-07-30  Bruno Haible  <bruno@clisp.org>
30491
30492         ldexpl; Update regarding AIX.
30493         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
30494         on AIX 7.
30495         Reported by Rainer Tammer.
30496
30497 2010-07-30  Bruno Haible  <bruno@clisp.org>
30498
30499         frexpl: Update regarding AIX.
30500         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
30501         on AIX 7.
30502         Reported by Rainer Tammer.
30503
30504 2010-07-30  Bruno Haible  <bruno@clisp.org>
30505
30506         open, fopen: Update regarding AIX.
30507         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
30508         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
30509         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
30510         * doc/posix-functions/fopen.texi: Likewise.
30511         Reported by Rainer Tammer.
30512
30513 2010-07-30  Bruno Haible  <bruno@clisp.org>
30514
30515         chown: Update doc regarding AIX.
30516         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
30517         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
30518         Reported by Rainer Tammer.
30519
30520 2010-07-30  Eric Blake  <eblake@redhat.com>
30521
30522         strtod: fix bug in replacement function on AIX
30523         * lib/strtod.c (strtod): Special case broken "0x" parse in
30524         underlying strtod.
30525         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
30526         * doc/posix-functions/strtod.texi (strtod): Likewise.
30527         Reported by Rainer Tammer.
30528
30529 2010-07-30  Bruno Haible  <bruno@clisp.org>
30530
30531         mbrlen: Fix cross-compilation guess for AIX.
30532         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
30533         guess. Leftover from 2008-12-22.
30534
30535 2010-07-30  Bruno Haible  <bruno@clisp.org>
30536
30537         mbrtowc: Fix cross-compilation guess for AIX.
30538         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
30539         guess. Leftover from 2008-12-21.
30540
30541 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
30542
30543         init.sh: work around trap limitation of some shells
30544         * tests/init.sh (setup_): Move exit trap outside of shell function.
30545
30546 2010-07-29  Eric Blake  <eblake@redhat.com>
30547
30548         strtod: aid debugging
30549         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
30550         understanding why strtod is rejected.
30551
30552 2010-07-28  Bruno Haible  <bruno@clisp.org>
30553
30554         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
30555         * lib/unistr/u8-chr.c: Include <string.h>.
30556         * tests/unistr/test-u8-chr.c: Likewise.
30557         * tests/unistr/test-u16-chr.c: Likewise.
30558         * tests/unistr/test-u32-chr.c: Likewise.
30559         * tests/unistr/test-u8-strchr.c: Likewise.
30560         * tests/unistr/test-u16-strchr.c: Likewise.
30561         * tests/unistr/test-u32-strchr.c: Likewise.
30562         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
30563         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
30564         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
30565         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
30566
30567 2010-07-28  Bruno Haible  <bruno@clisp.org>
30568
30569         Use spaces for indentation, not tabs.
30570         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
30571
30572 2010-07-27  Bruno Haible  <bruno@clisp.org>
30573
30574         mbspcasecmp: Fix function specification.
30575         * lib/string.in.h (mbspcasecmp): Fix specification comment.
30576         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
30577         Reported by Eric Blake <eblake@redhat.com>.
30578
30579 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
30580
30581         timespec: use cast and not conditional, as truncation isn't possible
30582         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
30583         instead of a conditional.  Comment about the situation in more detail.
30584         This undoes most of the 2009-10-29 patch.
30585
30586 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
30587
30588         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
30589         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
30590         * lib/unistr/u8-strchr.c: Likewise.
30591         * modules/unistr/u8-chr: Depend on memchr.
30592
30593         unistr/u*-strchr: add tests
30594         * modules/unistr/u8-strchr-tests: New file.
30595         * modules/unistr/u16-strchr-tests: New file.
30596         * modules/unistr/u32-strchr-tests: New file.
30597         * tests/unistr/test-strchr.h: New file.
30598         * tests/unistr/test-u8-strchr.c: New file.
30599         * tests/unistr/test-u16-strchr.c: New file.
30600         * tests/unistr/test-u32-strchr.c: New file.
30601
30602         unistr/u*-chr: test multibyte sequences more
30603         * tests/unistr/test-chr.h: Do complete testing of the characters in the
30604         test vector.
30605         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
30606         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
30607         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
30608
30609         unistr/u*-chr: test multibyte sequences
30610         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
30611
30612         unistr/u*-chr: prepare for multibyte tests
30613         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
30614         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
30615         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
30616         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
30617         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
30618         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
30619
30620 2010-07-18  Bruno Haible  <bruno@clisp.org>
30621
30622         unistr/u8-strchr: Optimize non-ASCII argument case.
30623         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
30624         because the first byte often matches anyway.
30625         Reported by Pádraig Brady <P@draigbrady.com>.
30626
30627 2010-07-15  Karl Berry  <karl@gnu.org>
30628
30629         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
30630
30631 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
30632
30633         getcwd: on Solaris, work better if ancestors are inaccessible
30634         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
30635         buffer and size, try again with a large buffer.  This works better
30636         on Solaris, since its getcwd succeeds even if the path to the root
30637         is inaccessible, and this is helpful in common cases such as .zfs
30638         hidden directories.  Problem reported by J Chapman Flack in
30639         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
30640         Use system getcwd if it's declared, not merely if it's partly
30641         working; use the partly-working test only to avoid needless effort
30642         if the system getcwd fails.
30643         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
30644         comment that was already obsolete and is now even more obsolete.
30645         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
30646         now might call strdup.
30647
30648 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
30649
30650         pthread: Add enough so that coreutils/src/sort.c compiles.
30651         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
30652         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
30653         gnulib. Include <sched.h> and <time.h>, as per POSIX.
30654         Include <sys/types.h>, in case it defines pthread_t.
30655         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
30656         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
30657         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
30658         (pthread_rwlockattr_t, pthread_spinlock_t):
30659         New typedefs, if HAVE_PTHREAD_T is not defined.
30660         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
30661         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
30662         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
30663         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
30664         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
30665         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
30666         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
30667         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
30668         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
30669         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
30670         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
30671         New macros.
30672         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
30673         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
30674         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
30675         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
30676         (pthread_spin_unlock): New dummy functions.
30677         (pthread_create): Return EAGAIN; don't set errno.
30678         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
30679         require AC_C_INLINE.
30680         * modules/pthread (Depends-on): Add sched, time.
30681         (pthread.h): Use AM_V_GEN.
30682
30683 2010-07-13  Bruno Haible  <bruno@clisp.org>
30684
30685         striconveh: Don't malloc memory if the result buffer is sufficient.
30686         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
30687         buffer if its size is sufficient.
30688         Reported by Ludovic Courtès <ludo@gnu.org>.
30689
30690 2010-07-13  Bruno Haible  <bruno@clisp.org>
30691
30692         strtod: Add safety check.
30693         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
30694
30695 2010-07-12  Bruno Haible  <bruno@clisp.org>
30696
30697         Unify tests that set gl_cv_func_ldexpl_no_libm.
30698         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
30699         gl_FUNC_LDEXPL.
30700         (gl_FUNC_LDEXPL): Invoke it.
30701         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
30702
30703 2010-07-12  Bruno Haible  <bruno@clisp.org>
30704
30705         Unify tests that set gl_cv_func_ldexp_no_libm.
30706         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
30707         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
30708         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
30709         (configure.ac): Simply invoke gl_FUNC_LDEXP.
30710         * modules/strtod (Files): Add m4/ldexp.m4.
30711
30712 2010-07-12  Bruno Haible  <bruno@clisp.org>
30713
30714         Unify tests that set gl_cv_func_frexpl_no_libm.
30715         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
30716         gl_FUNC_FREXPL_NO_LIBM.
30717         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
30718         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
30719
30720 2010-07-12  Bruno Haible  <bruno@clisp.org>
30721
30722         Unify tests that set gl_cv_func_frexp_no_libm.
30723         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
30724         gl_FUNC_FREXP_NO_LIBM.
30725         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
30726         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
30727
30728 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
30729
30730         memcoll: clarify sizes versus lengths, document better, and tweak perf
30731         * lib/memcoll.c (strcoll_loop, memcoll0):
30732         Improve quality of descriptive comments.  Name variables
30733         consistently as to whether they are lengths (which do not include
30734         terminating null) versus sizes (which do).
30735         * lib/xmemcoll.c (xmemcoll0): Likewise.
30736         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
30737         returned when s1size == 0; this is easier to compile and saves
30738         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
30739
30740 2010-07-12  Bruno Haible  <bruno@clisp.org>
30741
30742         Tests for module '_Exit'.
30743         * modules/_Exit-tests: New file.
30744         * tests/test-_Exit.sh: New file.
30745         * tests/test-_Exit.c: New file.
30746
30747         New module '_Exit'.
30748         * lib/stdlib.in.h (__attribute__): New macro.
30749         (_Exit): New declaration.
30750         * lib/_Exit.c: New file.
30751         * m4/_Exit.m4: New file.
30752         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
30753         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
30754         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
30755         * modules/_Exit: New file.
30756         * tests/test-stdlib-c++.cc (_Exit): Check signature.
30757         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
30758
30759 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
30760
30761         strtod: make it more-accurate typically, and don't require libm
30762         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
30763         Include limits.h.  Don't include string.h.
30764         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
30765         (locale_isspace): New function, so that no casts are needed to
30766         check whether *s is a space.
30767         (ldexp): Provide an unused dummy if not available.
30768         (scale_radix_exp, parse_number, underlying_strtod): New functions.
30769         (strtod): Use them.  This implementation prefers to use the
30770         underlying strtod if available, falling back on our own code
30771         only to fix known bugs.  This is more likely to produce an
30772         accurate result.  Also, it avoids the use of libm functions.
30773         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
30774         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
30775         was absent, but it caused a test failure with coreutils.
30776         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
30777         with libm.
30778         * modules/strtod (Makefile.am, Link): libm is no longer needed.
30779         * modules/strtod-tests (Makefile.am): Likewise.
30780
30781 2010-07-11  Pádraig Brady  <P@draigBrady.com>
30782             Bruno Haible  <bruno@clisp.org>
30783
30784         unistr/u8-strchr: Optimize ASCII argument case.
30785         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
30786
30787 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
30788
30789         (x)memcoll: minor tweaks
30790         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
30791         is after the type that it qualifies.
30792         (memcoll0): Likewise.
30793         * lib/memcoll.h (memcoll0): Likewise.
30794         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
30795         * lib/xmemcoll.h (xmemcoll0): Likewise.
30796         * lib/memcoll.c (memcoll0): Correct the comment.  This function
30797         differs from memcoll in that the NUL byte is part of the argument.
30798         Omit the abort-checks, as performance is a real issue here.  Plus,
30799         the checks were wrong anyway (an off-by-one error).  Omit local
30800         variable 'diff', as it's a bit clearer that way.
30801         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
30802         no longer needed.
30803
30804 2010-07-08  Chen Guo <chenguo4@yahoo.com>
30805
30806         (x)memcoll: speedup when input is known to be NUL delimited
30807         * lib/memcoll.c: Include stdlib.
30808         (memcoll0): New function.
30809         (strcoll_loop): New function, refactored for use in both memcoll
30810         and memcoll0.
30811         * lib/memcoll.h (memcoll0): Add prototype.
30812         * lib/xmemcoll.c (xmemcoll0): New function.
30813         (collate_error): New function, refactored for use in both xmemcoll
30814         and xmemcoll0.
30815         * lib/xmemcoll.h (xmemcoll0): Add prototype.
30816         * m4/memcoll.m4: add inline invocation.
30817
30818 2010-07-06  Pádraig Brady  <P@draigBrady.com>
30819
30820         * build-aux/bootstrap: Remove any local translations
30821         from the translation project synchronization directory,
30822         so that local only translations are not distributed.
30823
30824 2010-07-04  Bruno Haible  <bruno@clisp.org>
30825
30826         fsusage: Clarify which code applies to which platforms.
30827         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
30828         platform.
30829         * lib/fsusage.c (get_fs_usage): Likewise.
30830
30831 2010-07-04  Bruno Haible  <bruno@clisp.org>
30832
30833         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
30834         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
30835         Reported by Martin Lambers <marlam@marlam.de>.
30836
30837 2010-07-04  Jim Meyering  <meyering@redhat.com>
30838
30839         hash: once again explicitly disallow insertion of NULL
30840         * lib/hash.c (hash_insert0): Reinstate just-removed test:
30841         inserting a NULL pointer cannot work with these functions.
30842         Add a comment with details.
30843         This reverts part of the 2010-07-01 commit, 5bef1a35
30844         "hash: extend module to deal with non-pointer keys".
30845
30846 2010-07-01  Bruno Haible  <bruno@clisp.org>
30847
30848         stdbool: Update doc.
30849         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
30850         Info from Christian Weisgerber <naddy@mips.inka.de>.
30851
30852 2010-07-01  Jim Meyering  <meyering@redhat.com>
30853
30854         hash: extend module to deal with non-pointer keys
30855         * lib/hash.c (hash_insert0): New interface, much like hash_insert
30856         but that allows insertion of non-pointer entries.
30857         Do not disallow an ENTRY value of NULL.
30858         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
30859         * lib/hash.h (hash_insert0): Declare.
30860
30861 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
30862
30863         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
30864         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
30865         not present (i.e. with autoconf 2.59 and when using gettextize, not
30866         gnulib), require AC_GNU_SOURCE instead.
30867
30868 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
30869
30870         idpriv-drop: Fix tests.
30871         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
30872         not to the test-idpriv-droptemp program.
30873
30874 2010-06-29  Bruno Haible  <bruno@clisp.org>
30875
30876         string: Fix syntax error with g++ 2.96.
30877         * lib/string.in.h (__pure__): Remove definition.
30878         (_GL_ATTRIBUTE_PURE): New macro.
30879         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
30880         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
30881         Reported by Christian Weisgerber <naddy@mips.inka.de>.
30882
30883 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
30884
30885         unitypes: Fix bug introduced on 2010-05-18.
30886         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
30887
30888 2010-06-22  Eric Blake  <eblake@redhat.com>
30889
30890         memmem: slight optimization
30891         * lib/str-two-way.h (critical_factorization): Update comments.
30892         Reduce work during factorization phase.
30893         Reported by Carlos Bueno <carlos@bueno.org>.
30894
30895 2010-06-21  Bruno Haible  <bruno@clisp.org>
30896
30897         Fix HAVE_CALLOC_POSIX misnomer.
30898         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
30899         !HAVE_CALLOC_POSIX.
30900         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
30901         HAVE_CALLOC_POSIX.
30902         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
30903         instead of HAVE_CALLOC_POSIX.
30904         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
30905         HAVE_CALLOC_POSIX.
30906
30907         Use modern idiom for calloc() replacement.
30908         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
30909         AC_FUNC_CALLOC.
30910         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
30911         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
30912         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
30913         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
30914         (gl_REPLACE_CALLOC): New macro.
30915
30916 2010-06-21  Bruno Haible  <bruno@clisp.org>
30917
30918         Fix HAVE_REALLOC_POSIX misnomer.
30919         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
30920         !HAVE_REALLOC_POSIX.
30921         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
30922         HAVE_REALLOC_POSIX.
30923         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
30924         instead of HAVE_REALLOC_POSIX.
30925         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
30926         HAVE_REALLOC_POSIX.
30927
30928         Use modern idiom for realloc() replacement.
30929         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
30930         AC_FUNC_REALLOC.
30931         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
30932         Autoconf's AC_FUNC_REALLOC.
30933         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
30934         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
30935         (gl_REPLACE_REALLOC): New macro.
30936         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
30937
30938 2010-06-21  Bruno Haible  <bruno@clisp.org>
30939
30940         Fix HAVE_MALLOC_POSIX misnomer.
30941         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
30942         !HAVE_MALLOC_POSIX.
30943         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
30944         HAVE_MALLOC_POSIX.
30945         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
30946         instead of HAVE_MALLOC_POSIX.
30947         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
30948         HAVE_MALLOC_POSIX.
30949
30950         Use modern idiom for malloc() replacement.
30951         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
30952         AC_FUNC_MALLOC.
30953         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
30954         Autoconf's AC_FUNC_MALLOC.
30955         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
30956         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
30957         (gl_REPLACE_MALLOC): New macro.
30958         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
30959
30960 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
30961
30962         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
30963         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
30964         This macro takes 3 arguments, not 4.
30965
30966 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
30967
30968         ipv6: fix detection under mingw
30969         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
30970         in6_addr.
30971
30972 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
30973
30974         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
30975         that strtod() works when cross-compiling to a glibc version known
30976         to work.
30977
30978 2010-06-15  Bruno Haible  <bruno@clisp.org>
30979
30980         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
30981
30982 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
30983
30984         select: Correct timeout.
30985         * lib/select.c (rpl_select): Compute wait_timeout correctly.
30986
30987 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
30988
30989         git-version-gen: init shell var to avoid env var influence
30990         * build-aux/git-version-gen (v): Init shell var to empty.
30991
30992 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
30993
30994         priv-set: Don't assume that priv.h exists merely because getppriv does.
30995         See Jan Andersen's bug report about AIX 5L in
30996         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
30997         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
30998         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
30999         * lib/priv-set.h: Likewise.
31000         * tests/test-priv-set.c: Likewise.
31001
31002 2010-06-13  Bruno Haible  <bruno@clisp.org>
31003
31004         relocatable: Make it easier to test whether to install wrappers.
31005         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
31006         RELOCATABLE_VIA_WRAPPER.
31007
31008 2010-06-13  Bruno Haible  <bruno@clisp.org>
31009
31010         gnulib-tool: Display specified modules and dependencies differently.
31011         * gnulib-tool (func_show_module_list): New function.
31012         (func_import, func_create_testdir): Invoke it.
31013         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
31014
31015 2010-06-13  Bruno Haible  <bruno@clisp.org>
31016
31017         gnulib-tool: Align code of func_import and func_create_testdir.
31018         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
31019         specified_modules.
31020
31021 2010-06-12  Jim Meyering  <meyering@redhat.com>
31022
31023         test-inttostr: avoid spurious failure on Solaris 9
31024         * tests/test-inttostr.c (main): Skip the test when snprintf fails
31025         to accept "%ju".  Reported by Bruno Haible.
31026
31027 2010-06-11  Jim Meyering  <meyering@redhat.com>
31028
31029         test-sys_socket: mark variables as used more readably
31030         * tests/test-sys_socket.c (main): Mark otherwise unused variables
31031         as "used" explicitly via (void) statement casts.  This is more
31032         readable than using them in an artificial return expression.
31033         Suggestion from Bruno Haible.
31034
31035 2010-06-11  Bruno Haible  <bruno@clisp.org>
31036
31037         Avoid some more warnings from "gcc -Wwrite-strings".
31038         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
31039         to 'const char *'.
31040         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
31041         * tests/test-c-strcasestr.c (main): Likewise.
31042         * tests/test-mbscasestr1.c (main): Likewise.
31043         * tests/test-mbscasestr2.c (main): Likewise.
31044         * tests/test-memmem.c (main): Likewise.
31045         * tests/test-strstr.c (main): Likewise.
31046         * tests/test-strcasestr.c (main): Likewise.
31047
31048 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31049
31050         init.sh: change framework_failure_ to fail with status 99, not 1
31051         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
31052         automake's parallel-tests rule that this is an unexpected failure,
31053         even if the test is listed in XFAIL_TESTS.
31054
31055 2010-06-11  Jim Meyering  <meyering@redhat.com>
31056
31057         test-inttostr: avoid warnings about 4-6KB literal strings
31058         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
31059         Include "macros.h", for its definition of ASSERT.
31060         (CK): s/assert/ASSERT/
31061         * modules/inttostr-tests (Files): Add macros.h.
31062
31063         init.sh: don't use $ME_ or skip_ before they are defined
31064         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
31065         their first uses.  Also hoist their companions: warn_, fail_,
31066         framework_failure_, $stderr_fileno.  Prompted by a patch from
31067         Stefano Lattarini.
31068
31069         test-sys_socket: avoid set-but-not-used warnings from gcc
31070         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
31071         avoid warning about set-but-not-used variables.
31072
31073         test-xvasprintf: avoid 'const' discard warnings
31074         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
31075         "const" when assigning from literal strings.
31076         (test_xasprintf): Add "void" in function argument list to placate
31077         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
31078
31079         tests: avoid compilation warnings in argmatch and exclude tests...
31080         in packages that define ARGMATCH_DIE_DECL, like coreutils.
31081         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
31082         Since it always exits, declare with the "noreturn" attribute.
31083         * tests/test-argmatch.c: Likewise.
31084
31085         tests: avoid 'const' discard warnings in mbsstr tests
31086         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
31087         * tests/test-mbsstr2.c (main): Likewise.
31088
31089         test-verify: avoid warning from gcc's -Wmissing-declarations
31090         * tests/test-verify.c (function): Declare to be static.
31091
31092         test-inttostr.c: include <string.h> for use of strcmp
31093         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
31094
31095         test-linkat: avoid failed assertion on "other" architectures
31096         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
31097         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
31098         sparc: https://bugs.launchpad.net/bugs/591968
31099
31100 2010-06-11  Jim Meyering  <meyering@redhat.com>
31101
31102         printf.m4: avoid autoconf's "Expanded Before Required" warning
31103         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
31104         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
31105         autoconf warning.
31106
31107 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
31108
31109         Replacement header templates are now named with ".in", not "_".
31110         * doc/gnulib-intro.texi: Correct.
31111
31112 2010-06-10  Jim Meyering  <meyering@redhat.com>
31113
31114         inttostr-tests: depend on snprintf, not snprintf-posix
31115         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
31116         snprintf-posix, to avoid this aclocal failure:
31117           missing file gnulib-tests/vasnprintf.c
31118           configure.ac:45: error: expected source file, required through \
31119           AC_LIBSOURCES, not found
31120
31121 2010-06-10  Jim Meyering  <meyering@redhat.com>
31122
31123         inttostr: add a new function, inttostr, and tests
31124         The namesake function was not available.  The existence of the
31125         template file, inttostr.c makes its addition nontrivial.
31126         * lib/anytostr.c: Rename from inttostr.c.
31127         (anytostr): Rename from inttostr.
31128         * lib/inttostr.c: New file.
31129         * modules/inttostr (Files): Add anytostr.c.
31130         (Makefile.am): Set lib_SOURCES instead of ...
31131         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
31132         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
31133         * lib/offtostr.c: Likewise.
31134         * lib/uinttostr.c: Likewise.
31135         * lib/umaxtostr.c: Likewise.
31136         * modules/inttostr-tests: New file.
31137         * tests/test-inttostr.c: New file.  Test these functions.
31138
31139 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
31140             Bruno Haible  <bruno@clisp.org>
31141
31142         Add "Extending Gnulib" chapter to manual.
31143         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
31144         chapter.
31145         (Extending Gnulib): New chapter.
31146         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
31147         chapter.
31148
31149 2010-06-09  Bruno Haible  <bruno@clisp.org>
31150
31151         Avoid relocwrapper link errors due to gnulib replacement functions.
31152         * lib/areadlink.c: Use the system's malloc, realloc functions.
31153         (areadlink): Set errno to ENOMEM explicitly.
31154         * modules/areadlink (Depends-on): Remove malloc-posix.
31155         Reported by Ben Pfaff <blp@cs.stanford.edu>.
31156
31157 2010-06-09  Bruno Haible  <bruno@clisp.org>
31158
31159         Avoid relocwrapper link errors due to gnulib replacement functions.
31160         * lib/canonicalize-lgpl.c: Use the system's malloc function.
31161         * lib/malloca.c: Likewise.
31162         * lib/relocatable.c: Likewise.
31163         * lib/progreloc.c: Use the system's malloc, sprintf functions.
31164         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
31165         * lib/setenv.c: Use the system's malloc, realloc functions.
31166         * lib/strerror.c: Use the system's sprintf function.
31167         Reported by Ben Pfaff <blp@cs.stanford.edu>.
31168
31169 2010-06-04  Bruno Haible  <bruno@clisp.org>
31170
31171         Prefer documented low-level autoconf macro names.
31172         * m4/lib-link.m4: Use m4_translit instead of translit.
31173         * m4/environ.m4: Likewise.
31174         * m4/mathfunc.m4: Likewise.
31175         * m4/onceonly.m4: Likewise.
31176         * m4/stdint.m4: Likewise.
31177         Suggested by Eric Blake.
31178
31179 2010-06-04  Martin Lambers  <marlam@marlam.de>
31180             Bruno Haible  <bruno@clisp.org>
31181
31182         havelib: Allow library names with '+' characters.
31183         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
31184         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
31185
31186 2010-06-09  Bruno Haible  <bruno@clisp.org>
31187
31188         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
31189         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
31190         realloc failed.
31191
31192 2010-06-08  Peter Simons  <simons@cryp.to>
31193
31194         maint.mk: make the news-check rule more configurable
31195         * top/maint.mk (news-check-lines-spec): New variable.
31196         (news-check): Use "sed -n 1,10p" in place of "head".
31197
31198 2010-06-07  Jim Meyering  <meyering@redhat.com>
31199
31200         do-release-commit-and-tag: fix typo in --help
31201         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
31202
31203         regex: avoid new dead-code warning with gcc-4.6.0
31204         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
31205         if-block containing a while-loop.  It's been unused for at least
31206         5 years.
31207
31208 2010-06-05  Bruno Haible  <bruno@clisp.org>
31209
31210         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
31211         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
31212
31213 2010-06-04  Bruno Haible  <bruno@clisp.org>
31214
31215         Update to GNU gettext 0.18.1.
31216         * modules/gettext (configure.ac): Require gettext infrastructure from
31217         version 0.18.1.
31218
31219 2010-06-03  Bruno Haible  <bruno@clisp.org>
31220
31221         Don't use AC_LIBOBJ with file names in subdirectories.
31222         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
31223         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
31224         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
31225         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
31226         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
31227         gl_LIBUNISTRING_LIBSOURCE.
31228         (Makefile.am): Augment lib_SOURCES here, conditionally.
31229         * NEWS: Drop requirement for Automake option 'subdir-objects'.
31230
31231 2010-06-03  Bruno Haible  <bruno@clisp.org>
31232
31233         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
31234         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
31235         expansion does not end with a newline.
31236         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
31237         unnecessary newline.
31238
31239 2010-06-03  Bruno Haible  <bruno@clisp.org>
31240
31241         Reduce dependencies.
31242         * tests/test-quotearg.h: New file, extracted from
31243         tests/test-quotearg.c.
31244         * tests/test-quotearg-simple.c: New file, extracted from
31245         tests/test-quotearg.c.
31246         * tests/test-quotearg.c: Don't include <ctype.h>.
31247         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
31248         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
31249         use_quote_double_quotes, use_quotearg_colon): Moved to
31250         tests/test-quotearg.h.
31251         (results_g, flag_results, custom_quotes, custom_results): Moved
31252         to tests/test-quotearg-simple.c.
31253         (main): Moved the part that does not depend on gettext to
31254         tests/test-quotearg-simple.c. Return 77 if the test cannot be
31255         performed.
31256         * modules/quotearg-simple: New file.
31257         * modules/quotearg-simple-tests: New file.
31258         * modules/quotearg (Depends-on): Add quotearg-simple.
31259         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
31260         (Files): Add tests/test-quotearg.h.
31261         Reported by Paolo Bonzini.
31262
31263 2010-06-03  Bruno Haible  <bruno@clisp.org>
31264
31265         Reduce dependencies.
31266         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
31267
31268 2010-06-03  Bruno Haible  <bruno@clisp.org>
31269
31270         time: Undefine more broken macros.
31271         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
31272         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
31273         Reported by Eric Blake.
31274
31275 2010-06-03  Bruno Haible  <bruno@clisp.org>
31276
31277         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
31278         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
31279         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
31280         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
31281         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
31282         Reported by Ludovic Courtès <ludo@gnu.org>.
31283
31284 2010-06-02  Eric Blake  <eblake@redhat.com>
31285
31286         time: work with mingw + pthreads-win32 library
31287         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
31288         if timespec is defined only in pthread.h.
31289         * modules/time (Makefile.am): Substitute it.
31290         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
31291         <pthread.h>, when needed.
31292         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
31293         from the library.
31294
31295 2010-05-31  Bruno Haible  <bruno@clisp.org>
31296
31297         Avoid expanding two macros in the wrong order.
31298         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
31299         gl_LIBUNISTRING if it is defined.
31300         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
31301         autoconf >= 2.64.
31302         Reported by Ludovic Courtès <ludo@gnu.org>.
31303
31304 2010-05-27  Jim Meyering  <meyering@redhat.com>
31305
31306         maint.mk: also prohibit "#undef" of always-defined symbols
31307         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
31308         Allow more than one space before the symbol name.
31309         (sc_prohibit_always-defined_macros): Use grep's -E, now that
31310         the regexp uses alternation.
31311
31312 2010-05-26  Eric Blake  <eblake@redhat.com>
31313
31314         maint.mk: avoid echo -e
31315         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
31316         Convert all uses of echo -* to printf.
31317         Reported by Matthias Bolte.
31318
31319 2010-05-25  Bruno Haible  <bruno@clisp.org>
31320
31321         Update to GNU gettext 0.18, part 2.
31322         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
31323         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
31324
31325 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31326
31327         Add missing include in test-pwrite.c.
31328         * tests/test-pwrite.c: Include string.h, for strcmp.
31329
31330 2010-05-24  Bruno Haible  <bruno@clisp.org>
31331
31332         * NEWS: Mention requirement for Automake option 'subdir-objects'.
31333
31334 2010-05-24  Bruno Haible  <bruno@clisp.org>
31335
31336         Don't use conversion with transliteration in u{8,16,32}_strcoll.
31337         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
31338         iconveh_error argument.
31339         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
31340         U_STRCONV_TO_LOCALE.
31341         * lib/unistr/u16-strcoll.c: Likewise.
31342         * lib/unistr/u32-strcoll.c: Likewise.
31343         * modules/unistr/u8-strcoll (Depends-on): Add
31344         uniconv/u8-strconv-to-enc, localcharset. Remove
31345         uniconv/u8-strconv-to-locale.
31346         (configure.ac): Bump version number.
31347         * modules/unistr/u16-strcoll (Depends-on): Add
31348         uniconv/u16-strconv-to-enc, localcharset. Remove
31349         uniconv/u16-strconv-to-locale.
31350         (configure.ac): Bump version number.
31351         * modules/unistr/u32-strcoll (Depends-on): Add
31352         uniconv/u32-strconv-to-enc, localcharset. Remove
31353         uniconv/u32-strconv-to-locale.
31354         (configure.ac): Bump version number.
31355
31356 2010-05-24  Bruno Haible  <bruno@clisp.org>
31357
31358         Avoid a test failure on NetBSD 5.0.
31359         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
31360         an iconv() bug.
31361
31362 2010-05-24  Bruno Haible  <bruno@clisp.org>
31363
31364         Adjust #include directive style.
31365         * modules/regex (Includes): Recommend to write <regex.h>.
31366
31367 2010-05-24  Bruno Haible  <bruno@clisp.org>
31368
31369         regex: Don't require alloca.
31370         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
31371         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
31372         only inside if (0).
31373
31374 2010-05-23  Jim Meyering  <meyering@redhat.com>
31375
31376         test-renameat.c: include <sys/stat.h>
31377         * tests/test-renameat.c: Include <sys/stat.h>; required for
31378         definition of S_IS* macros.
31379
31380 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
31381
31382         Update maintainer documentation for 'relocatable-prog' module.
31383         * doc/relocatable-maint.texi: Update.
31384         Comments by Bruno Haible.
31385
31386 2010-05-23  Bruno Haible  <bruno@clisp.org>
31387
31388         git-merge-changelog: Enable --split-merged-entry by default.
31389         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
31390         (usage): Don't mention this option any more.
31391         Reported by Ralf Wildenhues.
31392
31393 2010-05-23  Jim Meyering  <meyering@redhat.com>
31394
31395         test-pwrite: do not leave behind a test file named "out"
31396         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
31397         The trivial-looking use of init.sh is really necessary.
31398         It ensures that the temporary file, "out", is created in
31399         a temporary directory, and removed upon termination.
31400         * tests/test-pwrite.sh: Re-add file.
31401         * modules/pwrite-tests: Reference it.
31402
31403 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31404
31405         Fix output redirection buglet in init.sh.
31406         * tests/init.sh: Fix redirection of stderr.
31407
31408 2010-05-20  Simon Josefsson  <simon@josefsson.org>
31409
31410         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
31411
31412 2010-05-17  Simon Josefsson  <simon@josefsson.org>
31413
31414         * modules/valgrind-tests: New file.
31415         * m4/valgrind-tests.m4: New file.
31416         * doc/valgrind-tests.texi: New file.
31417         * doc/gnulib.texi (Running self-tests under valgrind): New
31418         section.
31419
31420 2010-05-19  Bruno Haible  <bruno@clisp.org>
31421
31422         Clean up dead code in recent commit.
31423         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
31424         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
31425         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
31426         Suggested by Paolo Bonzini.
31427
31428 2010-05-19  Bruno Haible  <bruno@clisp.org>
31429
31430         Avoid valgrind error reports from libunistring.
31431         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
31432         * modules/libunistring (Files): Add it.
31433         * modules/libunistring-optional (Files): Likewise.
31434
31435 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
31436             Bruno Haible  <bruno@clisp.org>
31437
31438         New module 'libunistring-optional'.
31439         * modules/libunistring-optional: New file.
31440         * m4/libunistring-base.m4: New file.
31441         * m4/libunistring-optional.m4: New file.
31442         * lib/unicase.in.h: Renamed from lib/unicase.h.
31443         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
31444         * lib/unictype.in.h: Renamed from lib/unictype.h.
31445         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
31446         * lib/uniname.in.h: Renamed from lib/uniname.h.
31447         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
31448         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
31449         * lib/unistr.in.h: Renamed from lib/unistr.h.
31450         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
31451         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
31452         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
31453         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
31454         gl_LIBUNISTRING. If the library was found, determine the installed
31455         version and set LIBUNISTRING_VERSION.
31456         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
31457         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
31458         handle a configuration option --with-included-libunistring.
31459         * modules/libunistring (Files): Add m4/absolute-header.m4.
31460         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
31461         Add m4/libunistring-base.m4.
31462         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
31463         (Makefile.am): Build unicase.h from unicase.in.h.
31464         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
31465         Add m4/libunistring-base.m4.
31466         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
31467         (Makefile.am): Build uniconv.h from uniconv.in.h.
31468         * modules/unictype/base (Files): Use unictype.in.h instead of
31469         unictype.h. Add m4/libunistring-base.m4.
31470         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
31471         (Makefile.am): Build unictype.h from unictype.in.h.
31472         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
31473         Add m4/libunistring-base.m4.
31474         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
31475         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
31476         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
31477         Add m4/libunistring-base.m4.
31478         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
31479         (Makefile.am): Build uniname.h from uniname.in.h.
31480         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
31481         Add m4/libunistring-base.m4.
31482         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
31483         (Makefile.am): Build uninorm.h from uninorm.in.h.
31484         * modules/unistdio/base (Files): Use unistdio.in.h instead of
31485         unistdio.h. Add m4/libunistring-base.m4.
31486         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
31487         (Makefile.am): Build unistdio.h from unistdio.in.h.
31488         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
31489         Add m4/libunistring-base.m4.
31490         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
31491         (Makefile.am): Build unistr.h from unistr.in.h.
31492         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
31493         Add m4/libunistring-base.m4.
31494         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
31495         (Makefile.am): Build unitypes.h from unitypes.in.h.
31496         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
31497         Add m4/libunistring-base.m4.
31498         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
31499         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
31500         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
31501         uniwidth.h. Add m4/libunistring-base.m4.
31502         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
31503         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
31504         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
31505         instead of augmenting lib_SOURCES.
31506         * modules/unicase/empty-suffix-context: Likewise.
31507         * modules/unicase/locale-language: Likewise.
31508         * modules/unicase/tolower: Likewise.
31509         * modules/unicase/totitle: Likewise.
31510         * modules/unicase/toupper: Likewise.
31511         * modules/unicase/u8-casecmp: Likewise.
31512         * modules/unicase/u8-casecoll: Likewise.
31513         * modules/unicase/u8-casefold: Likewise.
31514         * modules/unicase/u8-casexfrm: Likewise.
31515         * modules/unicase/u8-ct-casefold: Likewise.
31516         * modules/unicase/u8-ct-tolower: Likewise.
31517         * modules/unicase/u8-ct-totitle: Likewise.
31518         * modules/unicase/u8-ct-toupper: Likewise.
31519         * modules/unicase/u8-is-cased: Likewise.
31520         * modules/unicase/u8-is-casefolded: Likewise.
31521         * modules/unicase/u8-is-lowercase: Likewise.
31522         * modules/unicase/u8-is-titlecase: Likewise.
31523         * modules/unicase/u8-is-uppercase: Likewise.
31524         * modules/unicase/u8-prefix-context: Likewise.
31525         * modules/unicase/u8-suffix-context: Likewise.
31526         * modules/unicase/u8-tolower: Likewise.
31527         * modules/unicase/u8-totitle: Likewise.
31528         * modules/unicase/u8-toupper: Likewise.
31529         * modules/unicase/u16-casecmp: Likewise.
31530         * modules/unicase/u16-casecoll: Likewise.
31531         * modules/unicase/u16-casefold: Likewise.
31532         * modules/unicase/u16-casexfrm: Likewise.
31533         * modules/unicase/u16-ct-casefold: Likewise.
31534         * modules/unicase/u16-ct-tolower: Likewise.
31535         * modules/unicase/u16-ct-totitle: Likewise.
31536         * modules/unicase/u16-ct-toupper: Likewise.
31537         * modules/unicase/u16-is-cased: Likewise.
31538         * modules/unicase/u16-is-casefolded: Likewise.
31539         * modules/unicase/u16-is-lowercase: Likewise.
31540         * modules/unicase/u16-is-titlecase: Likewise.
31541         * modules/unicase/u16-is-uppercase: Likewise.
31542         * modules/unicase/u16-prefix-context: Likewise.
31543         * modules/unicase/u16-suffix-context: Likewise.
31544         * modules/unicase/u16-tolower: Likewise.
31545         * modules/unicase/u16-totitle: Likewise.
31546         * modules/unicase/u16-toupper: Likewise.
31547         * modules/unicase/u32-casecmp: Likewise.
31548         * modules/unicase/u32-casecoll: Likewise.
31549         * modules/unicase/u32-casefold: Likewise.
31550         * modules/unicase/u32-casexfrm: Likewise.
31551         * modules/unicase/u32-ct-casefold: Likewise.
31552         * modules/unicase/u32-ct-tolower: Likewise.
31553         * modules/unicase/u32-ct-totitle: Likewise.
31554         * modules/unicase/u32-ct-toupper: Likewise.
31555         * modules/unicase/u32-is-cased: Likewise.
31556         * modules/unicase/u32-is-casefolded: Likewise.
31557         * modules/unicase/u32-is-lowercase: Likewise.
31558         * modules/unicase/u32-is-titlecase: Likewise.
31559         * modules/unicase/u32-is-uppercase: Likewise.
31560         * modules/unicase/u32-prefix-context: Likewise.
31561         * modules/unicase/u32-suffix-context: Likewise.
31562         * modules/unicase/u32-tolower: Likewise.
31563         * modules/unicase/u32-totitle: Likewise.
31564         * modules/unicase/u32-toupper: Likewise.
31565         * modules/unicase/ulc-casecmp: Likewise.
31566         * modules/unicase/ulc-casecoll: Likewise.
31567         * modules/unicase/ulc-casexfrm: Likewise.
31568         * modules/uniconv/u8-conv-from-enc: Likewise.
31569         * modules/uniconv/u8-conv-to-enc: Likewise.
31570         * modules/uniconv/u8-strconv-from-enc: Likewise.
31571         * modules/uniconv/u8-strconv-from-locale: Likewise.
31572         * modules/uniconv/u8-strconv-to-enc: Likewise.
31573         * modules/uniconv/u8-strconv-to-locale: Likewise.
31574         * modules/uniconv/u16-conv-from-enc: Likewise.
31575         * modules/uniconv/u16-conv-to-enc: Likewise.
31576         * modules/uniconv/u16-strconv-from-enc: Likewise.
31577         * modules/uniconv/u16-strconv-from-locale: Likewise.
31578         * modules/uniconv/u16-strconv-to-enc: Likewise.
31579         * modules/uniconv/u16-strconv-to-locale: Likewise.
31580         * modules/uniconv/u32-conv-from-enc: Likewise.
31581         * modules/uniconv/u32-conv-to-enc: Likewise.
31582         * modules/uniconv/u32-strconv-from-enc: Likewise.
31583         * modules/uniconv/u32-strconv-from-locale: Likewise.
31584         * modules/uniconv/u32-strconv-to-enc: Likewise.
31585         * modules/uniconv/u32-strconv-to-locale: Likewise.
31586         * modules/unictype/bidicategory-byname: Likewise.
31587         * modules/unictype/bidicategory-name: Likewise.
31588         * modules/unictype/bidicategory-of: Likewise.
31589         * modules/unictype/bidicategory-test: Likewise.
31590         * modules/unictype/block-list: Likewise.
31591         * modules/unictype/block-test: Likewise.
31592         * modules/unictype/category-C: Likewise.
31593         * modules/unictype/category-Cc: Likewise.
31594         * modules/unictype/category-Cf: Likewise.
31595         * modules/unictype/category-Cn: Likewise.
31596         * modules/unictype/category-Co: Likewise.
31597         * modules/unictype/category-Cs: Likewise.
31598         * modules/unictype/category-L: Likewise.
31599         * modules/unictype/category-Ll: Likewise.
31600         * modules/unictype/category-Lm: Likewise.
31601         * modules/unictype/category-Lo: Likewise.
31602         * modules/unictype/category-Lt: Likewise.
31603         * modules/unictype/category-Lu: Likewise.
31604         * modules/unictype/category-M: Likewise.
31605         * modules/unictype/category-Mc: Likewise.
31606         * modules/unictype/category-Me: Likewise.
31607         * modules/unictype/category-Mn: Likewise.
31608         * modules/unictype/category-N: Likewise.
31609         * modules/unictype/category-Nd: Likewise.
31610         * modules/unictype/category-Nl: Likewise.
31611         * modules/unictype/category-No: Likewise.
31612         * modules/unictype/category-P: Likewise.
31613         * modules/unictype/category-Pc: Likewise.
31614         * modules/unictype/category-Pd: Likewise.
31615         * modules/unictype/category-Pe: Likewise.
31616         * modules/unictype/category-Pf: Likewise.
31617         * modules/unictype/category-Pi: Likewise.
31618         * modules/unictype/category-Po: Likewise.
31619         * modules/unictype/category-Ps: Likewise.
31620         * modules/unictype/category-S: Likewise.
31621         * modules/unictype/category-Sc: Likewise.
31622         * modules/unictype/category-Sk: Likewise.
31623         * modules/unictype/category-Sm: Likewise.
31624         * modules/unictype/category-So: Likewise.
31625         * modules/unictype/category-Z: Likewise.
31626         * modules/unictype/category-Zl: Likewise.
31627         * modules/unictype/category-Zp: Likewise.
31628         * modules/unictype/category-Zs: Likewise.
31629         * modules/unictype/category-and: Likewise.
31630         * modules/unictype/category-and-not: Likewise.
31631         * modules/unictype/category-byname: Likewise.
31632         * modules/unictype/category-name: Likewise.
31633         * modules/unictype/category-none: Likewise.
31634         * modules/unictype/category-of: Likewise.
31635         * modules/unictype/category-or: Likewise.
31636         * modules/unictype/category-test: Likewise.
31637         * modules/unictype/combining-class: Likewise.
31638         * modules/unictype/ctype-alnum: Likewise.
31639         * modules/unictype/ctype-alpha: Likewise.
31640         * modules/unictype/ctype-blank: Likewise.
31641         * modules/unictype/ctype-cntrl: Likewise.
31642         * modules/unictype/ctype-digit: Likewise.
31643         * modules/unictype/ctype-graph: Likewise.
31644         * modules/unictype/ctype-lower: Likewise.
31645         * modules/unictype/ctype-print: Likewise.
31646         * modules/unictype/ctype-punct: Likewise.
31647         * modules/unictype/ctype-space: Likewise.
31648         * modules/unictype/ctype-upper: Likewise.
31649         * modules/unictype/ctype-xdigit: Likewise.
31650         * modules/unictype/decimal-digit: Likewise.
31651         * modules/unictype/digit: Likewise.
31652         * modules/unictype/mirror: Likewise.
31653         * modules/unictype/numeric: Likewise.
31654         * modules/unictype/property-alphabetic: Likewise.
31655         * modules/unictype/property-ascii-hex-digit: Likewise.
31656         * modules/unictype/property-bidi-arabic-digit: Likewise.
31657         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
31658         * modules/unictype/property-bidi-block-separator: Likewise.
31659         * modules/unictype/property-bidi-boundary-neutral: Likewise.
31660         * modules/unictype/property-bidi-common-separator: Likewise.
31661         * modules/unictype/property-bidi-control: Likewise.
31662         * modules/unictype/property-bidi-embedding-or-override: Likewise.
31663         * modules/unictype/property-bidi-eur-num-separator: Likewise.
31664         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
31665         * modules/unictype/property-bidi-european-digit: Likewise.
31666         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
31667         * modules/unictype/property-bidi-left-to-right: Likewise.
31668         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
31669         * modules/unictype/property-bidi-other-neutral: Likewise.
31670         * modules/unictype/property-bidi-pdf: Likewise.
31671         * modules/unictype/property-bidi-segment-separator: Likewise.
31672         * modules/unictype/property-bidi-whitespace: Likewise.
31673         * modules/unictype/property-byname: Likewise.
31674         * modules/unictype/property-combining: Likewise.
31675         * modules/unictype/property-composite: Likewise.
31676         * modules/unictype/property-currency-symbol: Likewise.
31677         * modules/unictype/property-dash: Likewise.
31678         * modules/unictype/property-decimal-digit: Likewise.
31679         * modules/unictype/property-default-ignorable-code-point: Likewise.
31680         * modules/unictype/property-deprecated: Likewise.
31681         * modules/unictype/property-diacritic: Likewise.
31682         * modules/unictype/property-extender: Likewise.
31683         * modules/unictype/property-format-control: Likewise.
31684         * modules/unictype/property-grapheme-base: Likewise.
31685         * modules/unictype/property-grapheme-extend: Likewise.
31686         * modules/unictype/property-grapheme-link: Likewise.
31687         * modules/unictype/property-hex-digit: Likewise.
31688         * modules/unictype/property-hyphen: Likewise.
31689         * modules/unictype/property-id-continue: Likewise.
31690         * modules/unictype/property-id-start: Likewise.
31691         * modules/unictype/property-ideographic: Likewise.
31692         * modules/unictype/property-ids-binary-operator: Likewise.
31693         * modules/unictype/property-ids-trinary-operator: Likewise.
31694         * modules/unictype/property-ignorable-control: Likewise.
31695         * modules/unictype/property-iso-control: Likewise.
31696         * modules/unictype/property-join-control: Likewise.
31697         * modules/unictype/property-left-of-pair: Likewise.
31698         * modules/unictype/property-line-separator: Likewise.
31699         * modules/unictype/property-logical-order-exception: Likewise.
31700         * modules/unictype/property-lowercase: Likewise.
31701         * modules/unictype/property-math: Likewise.
31702         * modules/unictype/property-non-break: Likewise.
31703         * modules/unictype/property-not-a-character: Likewise.
31704         * modules/unictype/property-numeric: Likewise.
31705         * modules/unictype/property-other-alphabetic: Likewise.
31706         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
31707         * modules/unictype/property-other-grapheme-extend: Likewise.
31708         * modules/unictype/property-other-id-continue: Likewise.
31709         * modules/unictype/property-other-id-start: Likewise.
31710         * modules/unictype/property-other-lowercase: Likewise.
31711         * modules/unictype/property-other-math: Likewise.
31712         * modules/unictype/property-other-uppercase: Likewise.
31713         * modules/unictype/property-paired-punctuation: Likewise.
31714         * modules/unictype/property-paragraph-separator: Likewise.
31715         * modules/unictype/property-pattern-syntax: Likewise.
31716         * modules/unictype/property-pattern-white-space: Likewise.
31717         * modules/unictype/property-private-use: Likewise.
31718         * modules/unictype/property-punctuation: Likewise.
31719         * modules/unictype/property-quotation-mark: Likewise.
31720         * modules/unictype/property-radical: Likewise.
31721         * modules/unictype/property-sentence-terminal: Likewise.
31722         * modules/unictype/property-soft-dotted: Likewise.
31723         * modules/unictype/property-space: Likewise.
31724         * modules/unictype/property-terminal-punctuation: Likewise.
31725         * modules/unictype/property-test: Likewise.
31726         * modules/unictype/property-titlecase: Likewise.
31727         * modules/unictype/property-unassigned-code-value: Likewise.
31728         * modules/unictype/property-unified-ideograph: Likewise.
31729         * modules/unictype/property-uppercase: Likewise.
31730         * modules/unictype/property-variation-selector: Likewise.
31731         * modules/unictype/property-white-space: Likewise.
31732         * modules/unictype/property-xid-continue: Likewise.
31733         * modules/unictype/property-xid-start: Likewise.
31734         * modules/unictype/property-zero-width: Likewise.
31735         * modules/unictype/scripts: Likewise.
31736         * modules/unictype/syntax-c-ident: Likewise.
31737         * modules/unictype/syntax-c-whitespace: Likewise.
31738         * modules/unictype/syntax-java-ident: Likewise.
31739         * modules/unictype/syntax-java-whitespace: Likewise.
31740         * modules/unilbrk/u8-possible-linebreaks: Likewise.
31741         * modules/unilbrk/u8-width-linebreaks: Likewise.
31742         * modules/unilbrk/u16-possible-linebreaks: Likewise.
31743         * modules/unilbrk/u16-width-linebreaks: Likewise.
31744         * modules/unilbrk/u32-possible-linebreaks: Likewise.
31745         * modules/unilbrk/u32-width-linebreaks: Likewise.
31746         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
31747         * modules/unilbrk/ulc-width-linebreaks: Likewise.
31748         * modules/uniname/uniname: Likewise.
31749         * modules/uninorm/canonical-decomposition: Likewise.
31750         * modules/uninorm/composition: Likewise.
31751         * modules/uninorm/decomposing-form: Likewise.
31752         * modules/uninorm/decomposition: Likewise.
31753         * modules/uninorm/filter: Likewise.
31754         * modules/uninorm/nfc: Likewise.
31755         * modules/uninorm/nfd: Likewise.
31756         * modules/uninorm/nfkc: Likewise.
31757         * modules/uninorm/nfkd: Likewise.
31758         * modules/uninorm/u8-normalize: Likewise.
31759         * modules/uninorm/u8-normcmp: Likewise.
31760         * modules/uninorm/u8-normcoll: Likewise.
31761         * modules/uninorm/u8-normxfrm: Likewise.
31762         * modules/uninorm/u16-normalize: Likewise.
31763         * modules/uninorm/u16-normcmp: Likewise.
31764         * modules/uninorm/u16-normcoll: Likewise.
31765         * modules/uninorm/u16-normxfrm: Likewise.
31766         * modules/uninorm/u32-normalize: Likewise.
31767         * modules/uninorm/u32-normcmp: Likewise.
31768         * modules/uninorm/u32-normcoll: Likewise.
31769         * modules/uninorm/u32-normxfrm: Likewise.
31770         * modules/unistdio/u8-asnprintf: Likewise.
31771         * modules/unistdio/u8-asprintf: Likewise.
31772         * modules/unistdio/u8-snprintf: Likewise.
31773         * modules/unistdio/u8-sprintf: Likewise.
31774         * modules/unistdio/u8-u8-asnprintf: Likewise.
31775         * modules/unistdio/u8-u8-asprintf: Likewise.
31776         * modules/unistdio/u8-u8-snprintf: Likewise.
31777         * modules/unistdio/u8-u8-sprintf: Likewise.
31778         * modules/unistdio/u8-u8-vasnprintf: Likewise.
31779         * modules/unistdio/u8-u8-vasprintf: Likewise.
31780         * modules/unistdio/u8-u8-vsnprintf: Likewise.
31781         * modules/unistdio/u8-u8-vsprintf: Likewise.
31782         * modules/unistdio/u8-vasnprintf: Likewise.
31783         * modules/unistdio/u8-vasprintf: Likewise.
31784         * modules/unistdio/u8-vsnprintf: Likewise.
31785         * modules/unistdio/u8-vsprintf: Likewise.
31786         * modules/unistdio/u16-asnprintf: Likewise.
31787         * modules/unistdio/u16-asprintf: Likewise.
31788         * modules/unistdio/u16-snprintf: Likewise.
31789         * modules/unistdio/u16-sprintf: Likewise.
31790         * modules/unistdio/u16-u16-asnprintf: Likewise.
31791         * modules/unistdio/u16-u16-asprintf: Likewise.
31792         * modules/unistdio/u16-u16-snprintf: Likewise.
31793         * modules/unistdio/u16-u16-sprintf: Likewise.
31794         * modules/unistdio/u16-u16-vasnprintf: Likewise.
31795         * modules/unistdio/u16-u16-vasprintf: Likewise.
31796         * modules/unistdio/u16-u16-vsnprintf: Likewise.
31797         * modules/unistdio/u16-u16-vsprintf: Likewise.
31798         * modules/unistdio/u16-vasnprintf: Likewise.
31799         * modules/unistdio/u16-vasprintf: Likewise.
31800         * modules/unistdio/u16-vsnprintf: Likewise.
31801         * modules/unistdio/u16-vsprintf: Likewise.
31802         * modules/unistdio/u32-asnprintf: Likewise.
31803         * modules/unistdio/u32-asprintf: Likewise.
31804         * modules/unistdio/u32-snprintf: Likewise.
31805         * modules/unistdio/u32-sprintf: Likewise.
31806         * modules/unistdio/u32-u32-asnprintf: Likewise.
31807         * modules/unistdio/u32-u32-asprintf: Likewise.
31808         * modules/unistdio/u32-u32-snprintf: Likewise.
31809         * modules/unistdio/u32-u32-sprintf: Likewise.
31810         * modules/unistdio/u32-u32-vasnprintf: Likewise.
31811         * modules/unistdio/u32-u32-vasprintf: Likewise.
31812         * modules/unistdio/u32-u32-vsnprintf: Likewise.
31813         * modules/unistdio/u32-u32-vsprintf: Likewise.
31814         * modules/unistdio/u32-vasnprintf: Likewise.
31815         * modules/unistdio/u32-vasprintf: Likewise.
31816         * modules/unistdio/u32-vsnprintf: Likewise.
31817         * modules/unistdio/u32-vsprintf: Likewise.
31818         * modules/unistdio/ulc-asnprintf: Likewise.
31819         * modules/unistdio/ulc-asprintf: Likewise.
31820         * modules/unistdio/ulc-fprintf: Likewise.
31821         * modules/unistdio/ulc-snprintf: Likewise.
31822         * modules/unistdio/ulc-sprintf: Likewise.
31823         * modules/unistdio/ulc-vasnprintf: Likewise.
31824         * modules/unistdio/ulc-vasprintf: Likewise.
31825         * modules/unistdio/ulc-vfprintf: Likewise.
31826         * modules/unistdio/ulc-vsnprintf: Likewise.
31827         * modules/unistdio/ulc-vsprintf: Likewise.
31828         * modules/unistr/u8-check: Likewise.
31829         * modules/unistr/u8-chr: Likewise.
31830         * modules/unistr/u8-cmp: Likewise.
31831         * modules/unistr/u8-cmp2: Likewise.
31832         * modules/unistr/u8-cpy: Likewise.
31833         * modules/unistr/u8-cpy-alloc: Likewise.
31834         * modules/unistr/u8-endswith: Likewise.
31835         * modules/unistr/u8-mblen: Likewise.
31836         * modules/unistr/u8-mbsnlen: Likewise.
31837         * modules/unistr/u8-mbtouc: Likewise.
31838         * modules/unistr/u8-mbtouc-unsafe: Likewise.
31839         * modules/unistr/u8-mbtoucr: Likewise.
31840         * modules/unistr/u8-move: Likewise.
31841         * modules/unistr/u8-next: Likewise.
31842         * modules/unistr/u8-prev: Likewise.
31843         * modules/unistr/u8-set: Likewise.
31844         * modules/unistr/u8-startswith: Likewise.
31845         * modules/unistr/u8-stpcpy: Likewise.
31846         * modules/unistr/u8-stpncpy: Likewise.
31847         * modules/unistr/u8-strcat: Likewise.
31848         * modules/unistr/u8-strchr: Likewise.
31849         * modules/unistr/u8-strcmp: Likewise.
31850         * modules/unistr/u8-strcoll: Likewise.
31851         * modules/unistr/u8-strcpy: Likewise.
31852         * modules/unistr/u8-strcspn: Likewise.
31853         * modules/unistr/u8-strdup: Likewise.
31854         * modules/unistr/u8-strlen: Likewise.
31855         * modules/unistr/u8-strmblen: Likewise.
31856         * modules/unistr/u8-strmbtouc: Likewise.
31857         * modules/unistr/u8-strncat: Likewise.
31858         * modules/unistr/u8-strncmp: Likewise.
31859         * modules/unistr/u8-strncpy: Likewise.
31860         * modules/unistr/u8-strnlen: Likewise.
31861         * modules/unistr/u8-strpbrk: Likewise.
31862         * modules/unistr/u8-strrchr: Likewise.
31863         * modules/unistr/u8-strspn: Likewise.
31864         * modules/unistr/u8-strstr: Likewise.
31865         * modules/unistr/u8-strtok: Likewise.
31866         * modules/unistr/u8-to-u16: Likewise.
31867         * modules/unistr/u8-to-u32: Likewise.
31868         * modules/unistr/u8-uctomb: Likewise.
31869         * modules/unistr/u16-check: Likewise.
31870         * modules/unistr/u16-chr: Likewise.
31871         * modules/unistr/u16-cmp: Likewise.
31872         * modules/unistr/u16-cmp2: Likewise.
31873         * modules/unistr/u16-cpy: Likewise.
31874         * modules/unistr/u16-cpy-alloc: Likewise.
31875         * modules/unistr/u16-endswith: Likewise.
31876         * modules/unistr/u16-mblen: Likewise.
31877         * modules/unistr/u16-mbsnlen: Likewise.
31878         * modules/unistr/u16-mbtouc: Likewise.
31879         * modules/unistr/u16-mbtouc-unsafe: Likewise.
31880         * modules/unistr/u16-mbtoucr: Likewise.
31881         * modules/unistr/u16-move: Likewise.
31882         * modules/unistr/u16-next: Likewise.
31883         * modules/unistr/u16-prev: Likewise.
31884         * modules/unistr/u16-set: Likewise.
31885         * modules/unistr/u16-startswith: Likewise.
31886         * modules/unistr/u16-stpcpy: Likewise.
31887         * modules/unistr/u16-stpncpy: Likewise.
31888         * modules/unistr/u16-strcat: Likewise.
31889         * modules/unistr/u16-strchr: Likewise.
31890         * modules/unistr/u16-strcmp: Likewise.
31891         * modules/unistr/u16-strcoll: Likewise.
31892         * modules/unistr/u16-strcpy: Likewise.
31893         * modules/unistr/u16-strcspn: Likewise.
31894         * modules/unistr/u16-strdup: Likewise.
31895         * modules/unistr/u16-strlen: Likewise.
31896         * modules/unistr/u16-strmblen: Likewise.
31897         * modules/unistr/u16-strmbtouc: Likewise.
31898         * modules/unistr/u16-strncat: Likewise.
31899         * modules/unistr/u16-strncmp: Likewise.
31900         * modules/unistr/u16-strncpy: Likewise.
31901         * modules/unistr/u16-strnlen: Likewise.
31902         * modules/unistr/u16-strpbrk: Likewise.
31903         * modules/unistr/u16-strrchr: Likewise.
31904         * modules/unistr/u16-strspn: Likewise.
31905         * modules/unistr/u16-strstr: Likewise.
31906         * modules/unistr/u16-strtok: Likewise.
31907         * modules/unistr/u16-to-u32: Likewise.
31908         * modules/unistr/u16-to-u8: Likewise.
31909         * modules/unistr/u16-uctomb: Likewise.
31910         * modules/unistr/u32-check: Likewise.
31911         * modules/unistr/u32-chr: Likewise.
31912         * modules/unistr/u32-cmp: Likewise.
31913         * modules/unistr/u32-cmp2: Likewise.
31914         * modules/unistr/u32-cpy: Likewise.
31915         * modules/unistr/u32-cpy-alloc: Likewise.
31916         * modules/unistr/u32-endswith: Likewise.
31917         * modules/unistr/u32-mblen: Likewise.
31918         * modules/unistr/u32-mbsnlen: Likewise.
31919         * modules/unistr/u32-mbtouc: Likewise.
31920         * modules/unistr/u32-mbtouc-unsafe: Likewise.
31921         * modules/unistr/u32-mbtoucr: Likewise.
31922         * modules/unistr/u32-move: Likewise.
31923         * modules/unistr/u32-next: Likewise.
31924         * modules/unistr/u32-prev: Likewise.
31925         * modules/unistr/u32-set: Likewise.
31926         * modules/unistr/u32-startswith: Likewise.
31927         * modules/unistr/u32-stpcpy: Likewise.
31928         * modules/unistr/u32-stpncpy: Likewise.
31929         * modules/unistr/u32-strcat: Likewise.
31930         * modules/unistr/u32-strchr: Likewise.
31931         * modules/unistr/u32-strcmp: Likewise.
31932         * modules/unistr/u32-strcoll: Likewise.
31933         * modules/unistr/u32-strcpy: Likewise.
31934         * modules/unistr/u32-strcspn: Likewise.
31935         * modules/unistr/u32-strdup: Likewise.
31936         * modules/unistr/u32-strlen: Likewise.
31937         * modules/unistr/u32-strmblen: Likewise.
31938         * modules/unistr/u32-strmbtouc: Likewise.
31939         * modules/unistr/u32-strncat: Likewise.
31940         * modules/unistr/u32-strncmp: Likewise.
31941         * modules/unistr/u32-strncpy: Likewise.
31942         * modules/unistr/u32-strnlen: Likewise.
31943         * modules/unistr/u32-strpbrk: Likewise.
31944         * modules/unistr/u32-strrchr: Likewise.
31945         * modules/unistr/u32-strspn: Likewise.
31946         * modules/unistr/u32-strstr: Likewise.
31947         * modules/unistr/u32-strtok: Likewise.
31948         * modules/unistr/u32-to-u16: Likewise.
31949         * modules/unistr/u32-to-u8: Likewise.
31950         * modules/unistr/u32-uctomb: Likewise.
31951         * modules/uniwbrk/u8-wordbreaks: Likewise.
31952         * modules/uniwbrk/u16-wordbreaks: Likewise.
31953         * modules/uniwbrk/u32-wordbreaks: Likewise.
31954         * modules/uniwbrk/ulc-wordbreaks: Likewise.
31955         * modules/uniwbrk/wordbreak-property: Likewise.
31956         * modules/uniwidth/u8-strwidth: Likewise.
31957         * modules/uniwidth/u8-width: Likewise.
31958         * modules/uniwidth/u16-strwidth: Likewise.
31959         * modules/uniwidth/u16-width: Likewise.
31960         * modules/uniwidth/u32-strwidth: Likewise.
31961         * modules/uniwidth/u32-width: Likewise.
31962         * modules/uniwidth/width: Likewise.
31963         * modules/unicase/cased-tests (Makefile.am): Link all test programs
31964         with $(LIBUNISTRING).
31965         * modules/unicase/ignorable-tests: Likewise.
31966         * modules/unicase/locale-language-tests: Likewise.
31967         * modules/unicase/tolower-tests: Likewise.
31968         * modules/unicase/totitle-tests: Likewise.
31969         * modules/unicase/toupper-tests: Likewise.
31970         * modules/unicase/u8-casecmp-tests: Likewise.
31971         * modules/unicase/u8-casecoll-tests: Likewise.
31972         * modules/unicase/u8-casefold-tests: Likewise.
31973         * modules/unicase/u8-is-cased-tests: Likewise.
31974         * modules/unicase/u8-is-casefolded-tests: Likewise.
31975         * modules/unicase/u8-is-lowercase-tests: Likewise.
31976         * modules/unicase/u8-is-titlecase-tests: Likewise.
31977         * modules/unicase/u8-is-uppercase-tests: Likewise.
31978         * modules/unicase/u8-tolower-tests: Likewise.
31979         * modules/unicase/u8-totitle-tests: Likewise.
31980         * modules/unicase/u8-toupper-tests: Likewise.
31981         * modules/unicase/u16-casecmp-tests: Likewise.
31982         * modules/unicase/u16-casecoll-tests: Likewise.
31983         * modules/unicase/u16-casefold-tests: Likewise.
31984         * modules/unicase/u16-is-cased-tests: Likewise.
31985         * modules/unicase/u16-is-casefolded-tests: Likewise.
31986         * modules/unicase/u16-is-lowercase-tests: Likewise.
31987         * modules/unicase/u16-is-titlecase-tests: Likewise.
31988         * modules/unicase/u16-is-uppercase-tests: Likewise.
31989         * modules/unicase/u16-tolower-tests: Likewise.
31990         * modules/unicase/u16-totitle-tests: Likewise.
31991         * modules/unicase/u16-toupper-tests: Likewise.
31992         * modules/unicase/u32-casecmp-tests: Likewise.
31993         * modules/unicase/u32-casecoll-tests: Likewise.
31994         * modules/unicase/u32-casefold-tests: Likewise.
31995         * modules/unicase/u32-is-cased-tests: Likewise.
31996         * modules/unicase/u32-is-casefolded-tests: Likewise.
31997         * modules/unicase/u32-is-lowercase-tests: Likewise.
31998         * modules/unicase/u32-is-titlecase-tests: Likewise.
31999         * modules/unicase/u32-is-uppercase-tests: Likewise.
32000         * modules/unicase/u32-tolower-tests: Likewise.
32001         * modules/unicase/u32-totitle-tests: Likewise.
32002         * modules/unicase/u32-toupper-tests: Likewise.
32003         * modules/unicase/ulc-casecmp-tests: Likewise.
32004         * modules/unicase/ulc-casecoll-tests: Likewise.
32005         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
32006         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
32007         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
32008         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
32009         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
32010         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
32011         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
32012         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
32013         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
32014         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
32015         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
32016         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
32017         * modules/unictype/bidicategory-byname-tests: Likewise.
32018         * modules/unictype/bidicategory-name-tests: Likewise.
32019         * modules/unictype/bidicategory-of-tests: Likewise.
32020         * modules/unictype/bidicategory-test-tests: Likewise.
32021         * modules/unictype/block-list-tests: Likewise.
32022         * modules/unictype/block-of-tests: Likewise.
32023         * modules/unictype/block-test-tests: Likewise.
32024         * modules/unictype/category-C-tests: Likewise.
32025         * modules/unictype/category-Cc-tests: Likewise.
32026         * modules/unictype/category-Cf-tests: Likewise.
32027         * modules/unictype/category-Cn-tests: Likewise.
32028         * modules/unictype/category-Co-tests: Likewise.
32029         * modules/unictype/category-Cs-tests: Likewise.
32030         * modules/unictype/category-L-tests: Likewise.
32031         * modules/unictype/category-Ll-tests: Likewise.
32032         * modules/unictype/category-Lm-tests: Likewise.
32033         * modules/unictype/category-Lo-tests: Likewise.
32034         * modules/unictype/category-Lt-tests: Likewise.
32035         * modules/unictype/category-Lu-tests: Likewise.
32036         * modules/unictype/category-M-tests: Likewise.
32037         * modules/unictype/category-Mc-tests: Likewise.
32038         * modules/unictype/category-Me-tests: Likewise.
32039         * modules/unictype/category-Mn-tests: Likewise.
32040         * modules/unictype/category-N-tests: Likewise.
32041         * modules/unictype/category-Nd-tests: Likewise.
32042         * modules/unictype/category-Nl-tests: Likewise.
32043         * modules/unictype/category-No-tests: Likewise.
32044         * modules/unictype/category-P-tests: Likewise.
32045         * modules/unictype/category-Pc-tests: Likewise.
32046         * modules/unictype/category-Pd-tests: Likewise.
32047         * modules/unictype/category-Pe-tests: Likewise.
32048         * modules/unictype/category-Pf-tests: Likewise.
32049         * modules/unictype/category-Pi-tests: Likewise.
32050         * modules/unictype/category-Po-tests: Likewise.
32051         * modules/unictype/category-Ps-tests: Likewise.
32052         * modules/unictype/category-S-tests: Likewise.
32053         * modules/unictype/category-Sc-tests: Likewise.
32054         * modules/unictype/category-Sk-tests: Likewise.
32055         * modules/unictype/category-Sm-tests: Likewise.
32056         * modules/unictype/category-So-tests: Likewise.
32057         * modules/unictype/category-Z-tests: Likewise.
32058         * modules/unictype/category-Zl-tests: Likewise.
32059         * modules/unictype/category-Zp-tests: Likewise.
32060         * modules/unictype/category-Zs-tests: Likewise.
32061         * modules/unictype/category-and-not-tests: Likewise.
32062         * modules/unictype/category-and-tests: Likewise.
32063         * modules/unictype/category-byname-tests: Likewise.
32064         * modules/unictype/category-name-tests: Likewise.
32065         * modules/unictype/category-none-tests: Likewise.
32066         * modules/unictype/category-of-tests: Likewise.
32067         * modules/unictype/category-or-tests: Likewise.
32068         * modules/unictype/category-test-withtable-tests: Likewise.
32069         * modules/unictype/combining-class-tests: Likewise.
32070         * modules/unictype/ctype-alnum-tests: Likewise.
32071         * modules/unictype/ctype-alpha-tests: Likewise.
32072         * modules/unictype/ctype-blank-tests: Likewise.
32073         * modules/unictype/ctype-cntrl-tests: Likewise.
32074         * modules/unictype/ctype-digit-tests: Likewise.
32075         * modules/unictype/ctype-graph-tests: Likewise.
32076         * modules/unictype/ctype-lower-tests: Likewise.
32077         * modules/unictype/ctype-print-tests: Likewise.
32078         * modules/unictype/ctype-punct-tests: Likewise.
32079         * modules/unictype/ctype-space-tests: Likewise.
32080         * modules/unictype/ctype-upper-tests: Likewise.
32081         * modules/unictype/ctype-xdigit-tests: Likewise.
32082         * modules/unictype/decimal-digit-tests: Likewise.
32083         * modules/unictype/digit-tests: Likewise.
32084         * modules/unictype/mirror-tests: Likewise.
32085         * modules/unictype/numeric-tests: Likewise.
32086         * modules/unictype/property-alphabetic-tests: Likewise.
32087         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
32088         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
32089         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
32090         * modules/unictype/property-bidi-block-separator-tests: Likewise.
32091         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
32092         * modules/unictype/property-bidi-common-separator-tests: Likewise.
32093         * modules/unictype/property-bidi-control-tests: Likewise.
32094         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
32095         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
32096         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
32097         * modules/unictype/property-bidi-european-digit-tests: Likewise.
32098         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
32099         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
32100         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
32101         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
32102         * modules/unictype/property-bidi-pdf-tests: Likewise.
32103         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
32104         * modules/unictype/property-bidi-whitespace-tests: Likewise.
32105         * modules/unictype/property-byname-tests: Likewise.
32106         * modules/unictype/property-combining-tests: Likewise.
32107         * modules/unictype/property-composite-tests: Likewise.
32108         * modules/unictype/property-currency-symbol-tests: Likewise.
32109         * modules/unictype/property-dash-tests: Likewise.
32110         * modules/unictype/property-decimal-digit-tests: Likewise.
32111         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
32112         * modules/unictype/property-deprecated-tests: Likewise.
32113         * modules/unictype/property-diacritic-tests: Likewise.
32114         * modules/unictype/property-extender-tests: Likewise.
32115         * modules/unictype/property-format-control-tests: Likewise.
32116         * modules/unictype/property-grapheme-base-tests: Likewise.
32117         * modules/unictype/property-grapheme-extend-tests: Likewise.
32118         * modules/unictype/property-grapheme-link-tests: Likewise.
32119         * modules/unictype/property-hex-digit-tests: Likewise.
32120         * modules/unictype/property-hyphen-tests: Likewise.
32121         * modules/unictype/property-id-continue-tests: Likewise.
32122         * modules/unictype/property-id-start-tests: Likewise.
32123         * modules/unictype/property-ideographic-tests: Likewise.
32124         * modules/unictype/property-ids-binary-operator-tests: Likewise.
32125         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
32126         * modules/unictype/property-ignorable-control-tests: Likewise.
32127         * modules/unictype/property-iso-control-tests: Likewise.
32128         * modules/unictype/property-join-control-tests: Likewise.
32129         * modules/unictype/property-left-of-pair-tests: Likewise.
32130         * modules/unictype/property-line-separator-tests: Likewise.
32131         * modules/unictype/property-logical-order-exception-tests: Likewise.
32132         * modules/unictype/property-lowercase-tests: Likewise.
32133         * modules/unictype/property-math-tests: Likewise.
32134         * modules/unictype/property-non-break-tests: Likewise.
32135         * modules/unictype/property-not-a-character-tests: Likewise.
32136         * modules/unictype/property-numeric-tests: Likewise.
32137         * modules/unictype/property-other-alphabetic-tests: Likewise.
32138         * modules/unictype/property-other-default-ignorable-code-point-tests:
32139         Likewise.
32140         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
32141         * modules/unictype/property-other-id-continue-tests: Likewise.
32142         * modules/unictype/property-other-id-start-tests: Likewise.
32143         * modules/unictype/property-other-lowercase-tests: Likewise.
32144         * modules/unictype/property-other-math-tests: Likewise.
32145         * modules/unictype/property-other-uppercase-tests: Likewise.
32146         * modules/unictype/property-paired-punctuation-tests: Likewise.
32147         * modules/unictype/property-paragraph-separator-tests: Likewise.
32148         * modules/unictype/property-pattern-syntax-tests: Likewise.
32149         * modules/unictype/property-pattern-white-space-tests: Likewise.
32150         * modules/unictype/property-private-use-tests: Likewise.
32151         * modules/unictype/property-punctuation-tests: Likewise.
32152         * modules/unictype/property-quotation-mark-tests: Likewise.
32153         * modules/unictype/property-radical-tests: Likewise.
32154         * modules/unictype/property-sentence-terminal-tests: Likewise.
32155         * modules/unictype/property-soft-dotted-tests: Likewise.
32156         * modules/unictype/property-space-tests: Likewise.
32157         * modules/unictype/property-terminal-punctuation-tests: Likewise.
32158         * modules/unictype/property-test-tests: Likewise.
32159         * modules/unictype/property-titlecase-tests: Likewise.
32160         * modules/unictype/property-unassigned-code-value-tests: Likewise.
32161         * modules/unictype/property-unified-ideograph-tests: Likewise.
32162         * modules/unictype/property-uppercase-tests: Likewise.
32163         * modules/unictype/property-variation-selector-tests: Likewise.
32164         * modules/unictype/property-white-space-tests: Likewise.
32165         * modules/unictype/property-xid-continue-tests: Likewise.
32166         * modules/unictype/property-xid-start-tests: Likewise.
32167         * modules/unictype/property-zero-width-tests: Likewise.
32168         * modules/unictype/scripts-tests: Likewise.
32169         * modules/unictype/syntax-c-ident-tests: Likewise.
32170         * modules/unictype/syntax-c-whitespace-tests: Likewise.
32171         * modules/unictype/syntax-java-ident-tests: Likewise.
32172         * modules/unictype/syntax-java-whitespace-tests: Likewise.
32173         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
32174         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
32175         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
32176         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
32177         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
32178         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
32179         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
32180         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
32181         * modules/uniname/uniname-tests: Likewise.
32182         * modules/uninorm/canonical-decomposition-tests: Likewise.
32183         * modules/uninorm/compat-decomposition-tests: Likewise.
32184         * modules/uninorm/composition-tests: Likewise.
32185         * modules/uninorm/decomposing-form-tests: Likewise.
32186         * modules/uninorm/decomposition-tests: Likewise.
32187         * modules/uninorm/filter-tests: Likewise.
32188         * modules/uninorm/nfc-tests: Likewise.
32189         * modules/uninorm/nfd-tests: Likewise.
32190         * modules/uninorm/nfkc-tests: Likewise.
32191         * modules/uninorm/nfkd-tests: Likewise.
32192         * modules/uninorm/u8-normcmp-tests: Likewise.
32193         * modules/uninorm/u8-normcoll-tests: Likewise.
32194         * modules/uninorm/u16-normcmp-tests: Likewise.
32195         * modules/uninorm/u16-normcoll-tests: Likewise.
32196         * modules/uninorm/u32-normcmp-tests: Likewise.
32197         * modules/uninorm/u32-normcoll-tests: Likewise.
32198         * modules/unistdio/u8-asnprintf-tests: Likewise.
32199         * modules/unistdio/u8-vasnprintf-tests: Likewise.
32200         * modules/unistdio/u8-vasprintf-tests: Likewise.
32201         * modules/unistdio/u8-vsnprintf-tests: Likewise.
32202         * modules/unistdio/u8-vsprintf-tests: Likewise.
32203         * modules/unistdio/u16-asnprintf-tests: Likewise.
32204         * modules/unistdio/u16-vasnprintf-tests: Likewise.
32205         * modules/unistdio/u16-vasprintf-tests: Likewise.
32206         * modules/unistdio/u16-vsnprintf-tests: Likewise.
32207         * modules/unistdio/u16-vsprintf-tests: Likewise.
32208         * modules/unistdio/u32-asnprintf-tests: Likewise.
32209         * modules/unistdio/u32-vasnprintf-tests: Likewise.
32210         * modules/unistdio/u32-vasprintf-tests: Likewise.
32211         * modules/unistdio/u32-vsnprintf-tests: Likewise.
32212         * modules/unistdio/u32-vsprintf-tests: Likewise.
32213         * modules/unistdio/ulc-asnprintf-tests: Likewise.
32214         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
32215         * modules/unistdio/ulc-vasprintf-tests: Likewise.
32216         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
32217         * modules/unistdio/ulc-vsprintf-tests: Likewise.
32218         * modules/unistr/u8-check-tests: Likewise.
32219         * modules/unistr/u8-chr-tests: Likewise.
32220         * modules/unistr/u8-cmp-tests: Likewise.
32221         * modules/unistr/u8-cmp2-tests: Likewise.
32222         * modules/unistr/u8-cpy-alloc-tests: Likewise.
32223         * modules/unistr/u8-cpy-tests: Likewise.
32224         * modules/unistr/u8-mblen-tests: Likewise.
32225         * modules/unistr/u8-mbsnlen-tests: Likewise.
32226         * modules/unistr/u8-mbtouc-tests: Likewise.
32227         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
32228         * modules/unistr/u8-mbtoucr-tests: Likewise.
32229         * modules/unistr/u8-move-tests: Likewise.
32230         * modules/unistr/u8-next-tests: Likewise.
32231         * modules/unistr/u8-prev-tests: Likewise.
32232         * modules/unistr/u8-set-tests: Likewise.
32233         * modules/unistr/u8-stpcpy-tests: Likewise.
32234         * modules/unistr/u8-stpncpy-tests: Likewise.
32235         * modules/unistr/u8-strcat-tests: Likewise.
32236         * modules/unistr/u8-strcmp-tests: Likewise.
32237         * modules/unistr/u8-strcoll-tests: Likewise.
32238         * modules/unistr/u8-strcpy-tests: Likewise.
32239         * modules/unistr/u8-strdup-tests: Likewise.
32240         * modules/unistr/u8-strlen-tests: Likewise.
32241         * modules/unistr/u8-strmblen-tests: Likewise.
32242         * modules/unistr/u8-strmbtouc-tests: Likewise.
32243         * modules/unistr/u8-strncat-tests: Likewise.
32244         * modules/unistr/u8-strncmp-tests: Likewise.
32245         * modules/unistr/u8-strncpy-tests: Likewise.
32246         * modules/unistr/u8-strnlen-tests: Likewise.
32247         * modules/unistr/u8-to-u16-tests: Likewise.
32248         * modules/unistr/u8-to-u32-tests: Likewise.
32249         * modules/unistr/u8-uctomb-tests: Likewise.
32250         * modules/unistr/u16-check-tests: Likewise.
32251         * modules/unistr/u16-chr-tests: Likewise.
32252         * modules/unistr/u16-cmp-tests: Likewise.
32253         * modules/unistr/u16-cmp2-tests: Likewise.
32254         * modules/unistr/u16-cpy-alloc-tests: Likewise.
32255         * modules/unistr/u16-cpy-tests: Likewise.
32256         * modules/unistr/u16-mblen-tests: Likewise.
32257         * modules/unistr/u16-mbsnlen-tests: Likewise.
32258         * modules/unistr/u16-mbtouc-tests: Likewise.
32259         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
32260         * modules/unistr/u16-mbtoucr-tests: Likewise.
32261         * modules/unistr/u16-move-tests: Likewise.
32262         * modules/unistr/u16-next-tests: Likewise.
32263         * modules/unistr/u16-prev-tests: Likewise.
32264         * modules/unistr/u16-set-tests: Likewise.
32265         * modules/unistr/u16-stpcpy-tests: Likewise.
32266         * modules/unistr/u16-stpncpy-tests: Likewise.
32267         * modules/unistr/u16-strcat-tests: Likewise.
32268         * modules/unistr/u16-strcmp-tests: Likewise.
32269         * modules/unistr/u16-strcoll-tests: Likewise.
32270         * modules/unistr/u16-strcpy-tests: Likewise.
32271         * modules/unistr/u16-strdup-tests: Likewise.
32272         * modules/unistr/u16-strlen-tests: Likewise.
32273         * modules/unistr/u16-strmblen-tests: Likewise.
32274         * modules/unistr/u16-strmbtouc-tests: Likewise.
32275         * modules/unistr/u16-strncat-tests: Likewise.
32276         * modules/unistr/u16-strncmp-tests: Likewise.
32277         * modules/unistr/u16-strncpy-tests: Likewise.
32278         * modules/unistr/u16-strnlen-tests: Likewise.
32279         * modules/unistr/u16-to-u32-tests: Likewise.
32280         * modules/unistr/u16-to-u8-tests: Likewise.
32281         * modules/unistr/u16-uctomb-tests: Likewise.
32282         * modules/unistr/u32-check-tests: Likewise.
32283         * modules/unistr/u32-chr-tests: Likewise.
32284         * modules/unistr/u32-cmp-tests: Likewise.
32285         * modules/unistr/u32-cmp2-tests: Likewise.
32286         * modules/unistr/u32-cpy-alloc-tests: Likewise.
32287         * modules/unistr/u32-cpy-tests: Likewise.
32288         * modules/unistr/u32-mblen-tests: Likewise.
32289         * modules/unistr/u32-mbsnlen-tests: Likewise.
32290         * modules/unistr/u32-mbtouc-tests: Likewise.
32291         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
32292         * modules/unistr/u32-mbtoucr-tests: Likewise.
32293         * modules/unistr/u32-move-tests: Likewise.
32294         * modules/unistr/u32-next-tests: Likewise.
32295         * modules/unistr/u32-prev-tests: Likewise.
32296         * modules/unistr/u32-set-tests: Likewise.
32297         * modules/unistr/u32-stpcpy-tests: Likewise.
32298         * modules/unistr/u32-stpncpy-tests: Likewise.
32299         * modules/unistr/u32-strcat-tests: Likewise.
32300         * modules/unistr/u32-strcmp-tests: Likewise.
32301         * modules/unistr/u32-strcoll-tests: Likewise.
32302         * modules/unistr/u32-strcpy-tests: Likewise.
32303         * modules/unistr/u32-strdup-tests: Likewise.
32304         * modules/unistr/u32-strlen-tests: Likewise.
32305         * modules/unistr/u32-strmblen-tests: Likewise.
32306         * modules/unistr/u32-strmbtouc-tests: Likewise.
32307         * modules/unistr/u32-strncat-tests: Likewise.
32308         * modules/unistr/u32-strncmp-tests: Likewise.
32309         * modules/unistr/u32-strncpy-tests: Likewise.
32310         * modules/unistr/u32-strnlen-tests: Likewise.
32311         * modules/unistr/u32-to-u16-tests: Likewise.
32312         * modules/unistr/u32-to-u8-tests: Likewise.
32313         * modules/unistr/u32-uctomb-tests: Likewise.
32314         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
32315         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
32316         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
32317         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
32318         * modules/uniwidth/u8-strwidth-tests: Likewise.
32319         * modules/uniwidth/u8-width-tests: Likewise.
32320         * modules/uniwidth/u16-strwidth-tests: Likewise.
32321         * modules/uniwidth/u16-width-tests: Likewise.
32322         * modules/uniwidth/u32-strwidth-tests: Likewise.
32323         * modules/uniwidth/u32-width-tests: Likewise.
32324         * modules/uniwidth/width-tests: Likewise.
32325
32326 2010-05-18  Richard Jones  <rjones@redhat.com>
32327
32328         doc: users.txt: list hivex
32329         * users.txt: Add hivex.
32330
32331 2010-05-18  Richard Jones  <rjones@redhat.com>
32332
32333         doc: users.txt: list febootstrap
32334         * users.txt: Add febootstrap.
32335
32336 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
32337
32338         bootstrap: fix an error when gnulib is not used as a git submodule
32339         * build-aux/bootstrap (gnulib_path): If its length is zero then
32340         assign "gnulib" to it.
32341         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
32342
32343 2010-05-16  Bruno Haible  <bruno@clisp.org>
32344
32345         Avoid autoconf warnings about AM_ICONV.
32346         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
32347         2.64.
32348
32349 2010-05-16  Bruno Haible  <bruno@clisp.org>
32350
32351         absolute-header: Make the macro usable in more situations.
32352         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
32353         from gl_ABSOLUTE_HEADER.
32354         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
32355
32356 2010-05-16  James Youngman  <jay@gnu.org>
32357
32358         doc: update users.txt
32359         * users.txt: Add CSSC.
32360
32361 2010-05-16  Jim Meyering  <meyering@redhat.com>
32362
32363         init.sh: fix an error in the previous change; add more comments
32364         * tests/init.sh: Compare exit code in loop against 9, not 2.
32365         Patch by Bruno Haible.
32366         Make the two tests more similar by adding an empty "then" clause.
32367         Add comments.
32368
32369         init.sh: avoid unnecessary shell re-exec
32370         * tests/init.sh: Improve the re-exec-required check to first test the
32371         current shell.  If it passes the test, do not search for a shell that
32372         does pass, and do not re-exec.  This test is particularly contorted to
32373         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
32374         of $(...) evokes a syntax error and causes immediate shell exit with
32375         status 2.  Bruno Haible reported that the re-exec made it impossible
32376         to single-step through any init.sh-using script.
32377
32378 2010-05-16  Bruno Haible  <bruno@clisp.org>
32379
32380         Fix collision between gnulib's and libintl's printf replacements.
32381         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
32382         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
32383         (printf): When using GNU C, map the __printf__ function to rpl_printf
32384         via __asm__. When not using GNU C, define rpl_printf instead of
32385         __printf__.
32386         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
32387         commit.
32388         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
32389         commit.
32390         * m4/asm-underscore.m4: New file.
32391         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
32392         * modules/stdio (Files): Add m4/asm-underscore.m4.
32393         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
32394         Reported by Ben Pfaff.
32395
32396 2010-05-16  Bruno Haible  <bruno@clisp.org>
32397
32398         verify: Avoid skipping the test on openSUSE 11.0.
32399         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
32400
32401 2010-05-13  Bruno Haible  <bruno@clisp.org>
32402
32403         Avoid useless warnings from G++.
32404         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
32405         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
32406         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
32407
32408 2010-05-11  Jim Meyering  <meyering@redhat.com>
32409
32410         maint.mk: tweak preceding change
32411         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
32412         regexps tighter by anchoring at EOL, and make the new group "shy"
32413         for slightly decreased overhead.
32414
32415 2010-05-11  Eric Blake  <eblake@redhat.com>
32416
32417         maint.mk: gnulib doesn't guarantee NSIG
32418         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
32419
32420 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
32421
32422         test-pwrite.c: Remove unused variable declaration.
32423         * tests/test-pwrite.c (main): Remove read_buf declaration.
32424
32425         Remove useless test-pwrite.sh file.
32426         * tests/test-pwrite.sh: Delete file.
32427         * modules/pwrite-tests: Remove references.
32428         Reported by Bruno Haible.
32429
32430 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
32431
32432         init.sh: fix a typo
32433         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
32434
32435 2010-05-10  Jim Meyering  <meyering@redhat.com>
32436
32437         maint.mk: avoid using a temporary file in the always-defined-macros check
32438         * top/maint.mk (.re-defmac): Remove rule.
32439         (gl_trap_): Remove definition.
32440         (sc_prohibit_always-defined_macros): Rewrite not to create and
32441         depend on a temporary file.  Instead, depend on GNU grep's ability
32442         to read a list of regular expressions from stdin when given "-f -".
32443
32444 2010-05-09  Bruno Haible  <bruno@clisp.org>
32445
32446         Update to GNU gettext 0.18, part 1.
32447         * m4/gettext.m4: Update to GNU gettext 0.18.
32448         * m4/intl.m4: Likewise.
32449         * m4/po.m4: Likewise.
32450         * modules/gettext (Files): Add m4/fcntl-o.m4.
32451         (configure.ac): Require gettext infrastructure from version 0.18.
32452
32453 2010-05-09  Jim Meyering  <meyering@redhat.com>
32454
32455         init.sh: enable MALLOC_PERTURB_
32456         * tests/init.sh: Enable glibc's malloc-perturbing option.
32457
32458         maint.mk: improve sc_cross_check_PATH_usage_in_tests
32459         With my recent change in init.sh from the two-line form:
32460             -#   : ${srcdir=.}
32461             -#   . "$srcdir/init.sh"; path_prepend_ .
32462             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
32463         I noticed that using the one-line form would cause this test
32464         to fail with a false-positive, or to stop working altogether,
32465         depending on whether help-version changed or all the tests did.
32466         * top/maint.mk (_hv_regex): Remove this definition.
32467         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
32468         (_hv_regex_strong): Use a stronger regex to check for conformance.
32469         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
32470         Give a separate diagnostic for lack of conforming use.
32471
32472         maint.mk: prohibit definition of symbols defined by gnulib
32473         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
32474         definition of symbols defined by gnulib.
32475
32476 2010-05-09  Bruno Haible  <bruno@clisp.org>
32477
32478         acl: Avoid test failure on Cygwin-hosted mingw.
32479         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
32480
32481 2010-05-09  Bruno Haible  <bruno@clisp.org>
32482
32483         error: Use system's fcntl function.
32484         * lib/error.c (fcntl): Undefine.
32485
32486 2010-05-09  Jim Meyering  <meyering@redhat.com>
32487
32488         verify: adjust formatting to be more consistent
32489         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
32490         argument-list '('s, and after one comma.
32491
32492 2010-05-09  Bruno Haible  <bruno@clisp.org>
32493
32494         error: More reliable output on mingw.
32495         * lib/error.c: Include <windows.h>.
32496         (is_open): New function.
32497         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
32498         defined.
32499
32500 2010-05-09  Bruno Haible  <bruno@clisp.org>
32501
32502         vasnprintf: Fix syntax errors in libintl build on mingw.
32503         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
32504         pad_ourselves and prec_ourselves after use.
32505
32506 2010-05-08  Bruno Haible  <bruno@clisp.org>
32507
32508         * lib/config.charset: Update comments for Cygwin 1.7.
32509         * lib/localcharset.c: Likewise.
32510
32511 2010-05-07  Jim Meyering  <meyering@redhat.com>
32512
32513         init.sh: improve comments
32514         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
32515         . "${srcdir=.}/init.sh"; path_prepend_ .
32516         Add a note about path_prepend_ and the alternative of using
32517         TESTS_ENVIRONMENT.
32518
32519 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
32520
32521         exclude: Unescape hashed patterns in wildcard mode.
32522         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
32523         to the hash list.
32524         * tests/test-exclude8.sh: New test case.
32525         * modules/exclude-tests: Add new test.
32526
32527 2010-05-05  Eric Blake  <eblake@redhat.com>
32528
32529         verify: automate tests
32530         * modules/verify-tests: New module.
32531         * tests/test-verify.sh: New file.
32532         * tests/test-verify.c: Guard each negative test with a unique id.
32533         Also avoid warning about unused left hand of comma expressions.
32534
32535 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
32536
32537         Further improvements to verify.h, suggested by Eric Blake.
32538         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
32539         the GL_* versions, to avoid collision with OpenGL.
32540         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
32541         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
32542         than testing merely whether it's defined.
32543
32544         Modify verify.h to pacify gcc -Wredundant_decls.
32545         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
32546         These use the prefix "GL_" since they're likely to be useful elsewhere.
32547         We may need to break them out into a different .h file.
32548         (__COUNTER__): Define to 0 if the compiler doesn't support it.
32549         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
32550         of verify_function__.
32551
32552 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
32553
32554         Tests for module pwrite.
32555         * modules/pwrite-tests: New file.
32556         * tests/test-pwrite.sh: New file.
32557         * tests/test-pwrite.c: New file.
32558
32559         New module pwrite.
32560         * lib/unistd.in.h (pwrite): New declaration.
32561         * lib/pwrite.c: New file, from glibc with modifications.
32562         * m4/pwrite.m4: New file.
32563         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
32564         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
32565         REPLACE_PWRITE.
32566         * modules/pwrite: New file.
32567         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
32568         REPLACE_PWRITE.
32569         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
32570         * doc/posix-functions/pwrite.texi: Mention the new module.
32571
32572 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
32573
32574         pread: Update documentation.
32575         * doc/posix-functions/pread.texi: Mention the 'pread' module.
32576
32577 2010-05-04  Eric Blake  <eblake@redhat.com>
32578
32579         docs: update cygwin progress
32580         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
32581         this bug.
32582         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
32583         Added in cygwin 1.7.2.
32584         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
32585         Likewise.
32586         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
32587         Likewise.
32588         * doc/glibc-functions/dup3.texi (dup3): Likewise.
32589         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
32590         * doc/glibc-functions/accept4.texi (accept4): Likewise.
32591         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
32592         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
32593         Mention nproc module.
32594         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
32595         bug in cygwin 1.7.5 addition.
32596         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
32597         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
32598         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
32599         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
32600         1.7.5.
32601         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
32602         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
32603         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
32604         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
32605         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
32606         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
32607         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
32608         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
32609         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
32610         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
32611         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
32612         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
32613         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
32614         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
32615         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
32616         Likewise.
32617         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
32618         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
32619         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
32620         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
32621         Likewise.
32622         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
32623         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
32624         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
32625         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
32626         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
32627         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
32628         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
32629         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
32630         Likewise.
32631         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
32632         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
32633         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
32634         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
32635         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
32636         Likewise.
32637         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
32638         Likewise.
32639         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
32640         Likewise.
32641         * doc/glibc-functions/xdrrec_endofrecord.texi
32642         (xdrrec_endofrecord): Likewise.
32643         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
32644         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
32645         Likewise.
32646         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
32647         Likewise.
32648
32649 2010-05-04  Jim Meyering  <meyering@redhat.com>
32650
32651         gendocs.sh: make its "-s FILE" option more useful
32652         * build-aux/gendocs.sh: When honoring the -s FILE option, update
32653         $PACKAGE to reflect the probably-different basename of "FILE".
32654
32655 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
32656
32657         bootstrap: don't ignore download_po_files failure
32658         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
32659         failure.
32660
32661 2010-05-03  Jim Meyering  <meyering@redhat.com>
32662
32663         maint.mk: allow to pass options to gendocs.sh
32664         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
32665         (gendocs_options_): New overridable variable.
32666
32667         gnu-web-doc-update: don't ignore configure or build failure
32668         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
32669
32670         announce-gen: backslash-escape '@'s in --help output
32671         * build-aux/announce-gen: Fix syntax errors.
32672
32673         maint.mk, announce-gen: allow project-specific announcement mail headers
32674         * top/maint.mk (translation_project_): Define default.
32675         (announcement_Cc_, announcement_mail_headers_): Likewise.
32676         (announcement): Invoke announce-gen with new --mail-headers option.
32677         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
32678
32679         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
32680         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
32681         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
32682         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
32683         line in the "err2" output file when running "make check" in verbose
32684         mode (i.e., with set -x enabled).
32685
32686 2010-05-03  Bruno Haible  <bruno@clisp.org>
32687
32688         wctob: Fix for weird platforms.
32689         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
32690         argument value.
32691
32692 2010-05-03  Jim Meyering  <meyering@redhat.com>
32693
32694         maint.mk: prohibit unwarranted use of <strings.h>
32695         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
32696         strings.h in a file that does not also use strcasecmp, strncasecmp,
32697         ffs or ffsll.
32698
32699         maint.mk: remove obsolete comments
32700         * top/maint.mk: Remove stale, commented-out rules.
32701
32702 2010-05-02  Bruno Haible  <bruno@clisp.org>
32703
32704         wcwidth: Declare also when it's aliased.
32705         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
32706         macro.
32707
32708 2010-05-02  Bruno Haible  <bruno@clisp.org>
32709
32710         Fix regression from 2010-04-25.
32711         * gnulib-tool (func_modules_transitive_closure): Check the status of
32712         all modules, not only of the tests that are of the form foo-tests where
32713         foo is a module.
32714
32715 2010-05-02  Bruno Haible  <bruno@clisp.org>
32716
32717         wctob: Work around nasty Cygwin 1.7.2 bug.
32718         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
32719         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
32720
32721 2010-05-01  Bruno Haible  <bruno@clisp.org>
32722
32723         fpurge: Sharper test.
32724         * tests/test-fpurge.c (main): Add one more ftell check.
32725         * modules/fpurge-tests (Depends-on): Add ftell.
32726         Suggested by Eric Blake.
32727
32728 2010-05-01  Bruno Haible  <bruno@clisp.org>
32729
32730         ftello: Another test.
32731         * tests/test-ftello3.c: New file.
32732         * modules/ftello-tests (Files): Add it.
32733         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
32734         MOSTLYCLEANFILES.
32735
32736         ftell: Another test.
32737         * tests/test-ftell3.c: New file.
32738         * modules/ftell-tests (Files): Add it.
32739         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
32740         MOSTLYCLEANFILES.
32741
32742 2010-05-01  Bruno Haible  <bruno@clisp.org>
32743
32744         ftell, ftello: Work around Solaris bug.
32745         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
32746         * lib/ftello.c: Include stdio-impl.h.
32747         (ftello): On Solaris, when _IOWRT is set, compute the result without
32748         looking at _IOREAD.
32749         * modules/ftello (Files): Add lib/stdio-impl.h.
32750         * doc/posix-functions/ftell.texi: Mention Solaris bug.
32751         * doc/posix-functions/ftello.texi: Likewise.
32752         Reported by Eric Blake.
32753
32754 2010-05-01  Bruno Haible  <bruno@clisp.org>
32755
32756         freading: Adapt to special meaning of _IOREAD flag on Solaris.
32757         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
32758         the _IOWRT flag is also set.
32759
32760 2010-05-01  Bruno Haible  <bruno@clisp.org>
32761
32762         Fix doc about a HP-UX stdio bug.
32763         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
32764         * doc/posix-functions/ftello.texi: Likewise.
32765
32766 2010-05-01  Bruno Haible  <bruno@clisp.org>
32767
32768         lseek test: Fix failure on Solaris.
32769         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
32770         output.
32771
32772 2010-04-30  Jim Meyering  <meyering@redhat.com>
32773
32774         bootstrap: don't ignore failure to generate po*/Makevars
32775         * build-aux/bootstrap (with_gettext): Don't ignore failure
32776         to create po/Makevars or runtime-po/Makevars.
32777
32778 2010-04-29  Eric Blake  <eblake@redhat.com>
32779
32780         headers: relax license to LGPLv2+
32781         * modules/fcntl-h (License): Relax license.
32782         * modules/getopt-posix (License): Likewise.
32783         * modules/locale (License): Likewise.
32784         * modules/math (License): Likewise.
32785         * modules/pty (License): Likewise.
32786         * modules/sched (License): Likewise.
32787         * modules/search (License): Likewise.
32788         * modules/spawn (License): Likewise.
32789         * modules/stdarg (License): Likewise.
32790         * modules/sysexits (License): Likewise.
32791
32792 2010-04-29  Jim Meyering  <meyering@redhat.com>
32793
32794         inttypes: relax license to LGPLv2+
32795         * modules/inttypes (License): Relax license.
32796
32797 2010-04-29  Simon Josefsson  <simon@josefsson.org>
32798
32799         * top/maint.mk (indent): Run twice to produce idempotent results.
32800
32801 2010-04-28  Bruno Haible  <bruno@clisp.org>
32802
32803         getdate: Generate getdate.c in the source directory.
32804         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
32805         MOSTLYCLEANFILES.
32806         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
32807
32808 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
32809
32810         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
32811         is not declared as a const *; avoid warnings in that case.
32812
32813 2010-04-28  Eric Blake  <eblake@redhat.com>
32814
32815         canonicalize-lgpl: avoid compiler warning
32816         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
32817         declaration' / 'extraneous semicolon' warning with some compilers.
32818         Reported by Andreas Gruenbacher.
32819
32820 2010-04-28  Jim Meyering  <meyering@redhat.com>
32821
32822         init.sh: ensure a more reliable exit status when exiting via trap
32823         * tests/init.sh (setup_): Don't rely on $? in signal handler.
32824         Inspired by patches from Dmitry V. Levin.
32825         Also trap on signal 3 (SIGQUIT).
32826
32827 2010-04-27  Bruno Haible  <bruno@clisp.org>
32828
32829         Update doc about utimes().
32830         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
32831         'utimens' module.
32832         Reported by Andreas Gruenbacher <agruen@suse.de>.
32833
32834 2010-04-27  Eric Blake  <eblake@redhat.com>
32835
32836         full-read, full-write: relax license
32837         * modules/full-read (License): Drop to LGPLv2+.
32838         * modules/full-write (License): Likewise.
32839         * modules/safe-read (License): Likewise.
32840         * modules/safe-write (License): Likewise.
32841
32842         pthread: mention library for linking
32843         * modules/pthread (Link): Mention $(LIB_PTHREAD).
32844
32845 2010-04-27  Jim Meyering  <meyering@redhat.com>
32846
32847         maint.mk: fix a bug introduced in last change
32848         * top/maint.mk (gl_assured_headers_): Now that all names are on
32849         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
32850         is not anchored to end of word, it should be adequate.
32851
32852         maint.mk: avoid side-effect in latest syntax-check
32853         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
32854         to run commands via $(shell...), and hence to incur cost only when
32855         the new rule is actually run.
32856
32857         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
32858         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
32859         and use that to create a regexp used to detect all #if HAVE_..._H uses.
32860         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
32861         (gl_assured_headers_, az_, AZ_): Define.
32862         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
32863
32864 2010-04-26  Jim Meyering  <jim@meyering.net>
32865             Bruno Haible  <bruno@clisp.org>
32866
32867         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
32868         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
32869         Prompted by an exchange with Gilles Espinasse.
32870
32871 2010-04-26  Jim Meyering  <meyering@redhat.com>
32872
32873         git-version-gen: aesthetic tweak
32874         * build-aux/git-version-gen: Use "$nl" rather than a literal,
32875         so that the command remains on a single line.
32876
32877 2010-04-26  Eric Blake  <eblake@redhat.com>
32878
32879         git-version-gen: allow use on EBCDIC hosts
32880         * build-aux/git-version-gen (dirty): Use literal rather than tying
32881         ourselves to ascii.
32882         Reported by Steve Goetze.
32883
32884 2010-04-25  Bruno Haible  <bruno@clisp.org>
32885
32886         netdb: Add support for GNULIB_POSIXCHECK.
32887         * lib/netdb.in.h: Include warn-on-use.h.
32888         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
32889         functions are used when GNULIB_POSIXCHECK is defined and the
32890         getaddrinfo module is not in use.
32891         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
32892         freeaddrinfo, gai_strerror, getnameinfo are declared.
32893         * modules/netdb (Depends-on): Add warn-on-use.
32894         (Makefile.am): Include warn-on-use.h in netdb.h.
32895
32896 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
32897
32898         build: avoid "make check" failure without .git/ directory
32899         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
32900         there is no .git/ directory.
32901
32902 2010-04-25  Bruno Haible  <bruno@clisp.org>
32903
32904         ptsname: Fix misuse of ttyname_r.
32905         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
32906         of errno.
32907
32908 2010-04-25  Bruno Haible  <bruno@clisp.org>
32909
32910         ttyname_r: Make it work on Solaris 10.
32911         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
32912         if the system function has the POSIX declaration. Test whether the
32913         function fails if the buffer is less than 128 bytes large.
32914         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
32915         system's ttyname_r function. Provide a reasonably large buffer.
32916         * modules/ttyname_r (Depends-on): Add extensions.
32917         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
32918
32919 2010-04-25  Bruno Haible  <bruno@clisp.org>
32920
32921         Use the 'extensions' module for some more functions on Solaris.
32922         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
32923         module.
32924         * doc/posix-functions/ctime_r.texi: Likewise.
32925         * doc/posix-functions/getgrgid_r.texi: Likewise.
32926         * doc/posix-functions/getgrnam_r.texi: Likewise.
32927         * doc/posix-functions/getpwnam_r.texi: Likewise.
32928         * doc/posix-functions/getpwuid_r.texi: Likewise.
32929         * doc/posix-functions/readdir_r.texi: Likewise.
32930         * doc/posix-functions/sigwait.texi: Likewise.
32931         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
32932         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
32933
32934 2010-04-25  Bruno Haible  <bruno@clisp.org>
32935
32936         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
32937         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
32938         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
32939         * lib/ttyname_r.c: Include <limits.h>.
32940         (ttyname_r): Define using the system's ttyname_r function, if it exists
32941         and not on Solaris.
32942         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
32943         set.
32944         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
32945         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
32946         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
32947         Reported by Simon Josefsson.
32948
32949 2010-04-25  Bruno Haible  <bruno@clisp.org>
32950
32951         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
32952         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
32953         * doc/posix-functions/ctime_r.texi: Likewise.
32954         * doc/posix-functions/getgrgid_r.texi: Likewise.
32955         * doc/posix-functions/getgrnam_r.texi: Likewise.
32956         * doc/posix-functions/getlogin_r.texi: Likewise.
32957         * doc/posix-functions/getpwnam_r.texi: Likewise.
32958         * doc/posix-functions/getpwuid_r.texi: Likewise.
32959         * doc/posix-functions/readdir_r.texi: Likewise.
32960         * doc/posix-functions/sigwait.texi: Likewise.
32961         * doc/posix-functions/ttyname_r.texi: Likewise.
32962         Reported by Simon Josefsson.
32963
32964 2010-04-25  Bruno Haible  <bruno@clisp.org>
32965
32966         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
32967         * gnulib-tool (func_usage): Document that --with-*-tests options apply
32968         also to --create-testdir.
32969         (func_acceptable): Don't consider the status of *-tests modules here.
32970         (func_modules_transitive_closure): Consider it here, before including a
32971         test module.
32972         (func_import, func_create_testdir): Set inc_all_direct_tests,
32973         inc_all_indirect_tests.
32974         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
32975         --create-testdir and --create-megatestdir.
32976
32977 2010-04-25  Bruno Haible  <bruno@clisp.org>
32978
32979         gnulib-tool: Add --without-*-tests options.
32980         * gnulib-tool (func_usage): Document the --without-*-tests options.
32981         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
32982         excl_unportable_tests): New variables.
32983         Fail if they are specified with --import or --update.
32984         (func_acceptable): Respect the excl_*_tests variables.
32985         (func_import): Set the excl_*_tests variables to empty.
32986
32987 2010-04-25  Simon Josefsson  <simon@josefsson.org>
32988             Bruno Haible  <bruno@clisp.org>
32989
32990         Work around a MacOS X 10.4 bug with openpty.
32991         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
32992         * tests/test-openpty.c (main): Close the master side explicitly.
32993
32994 2010-04-25  Bruno Haible  <bruno@clisp.org>
32995
32996         strnlen: Fix a C++ test error on MacOS X and Solaris.
32997         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
32998         the function is not declared.
32999         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
33000         Simon Josefsson.
33001
33002 2010-04-24  Bruno Haible  <bruno@clisp.org>
33003
33004         Avoid a gcc warning.
33005         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
33006         of correct type for %08lx directive.
33007         Reported by Eric Blake.
33008
33009 2010-04-24  Bruno Haible  <bruno@clisp.org>
33010
33011         vasnprintf: Correct errno value in case of out-of-memory.
33012         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
33013         or sprintf. Use the errno value from SNPRINTF or sprintf.
33014         Reported by Ian Beckwith <ianb@erislabs.net>.
33015
33016 2010-04-24  Bruno Haible  <bruno@clisp.org>
33017
33018         ansi-c++-opt: Find correct compiler when cross-compiling.
33019         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
33020         AC_CHECK_PROGS.
33021         Reported by Simon Josefsson.
33022
33023 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
33024
33025         vc-list-files: Add support for subversion
33026         * build-aux/vc-list-files: Use "svn list" to generate the list of
33027         files controlled by subversion.
33028
33029 2010-04-23  Jim Meyering  <meyering@redhat.com>
33030
33031         vc-list-files tests: convert to use init.sh
33032         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
33033         path_prepend_.
33034         Use Exit, not exit.
33035         Use skip_ rather than open coding it.
33036         Remove trap set-up and compare definitions.
33037         * tests/test-vc-list-files-git.sh: Likewise.
33038         * modules/vc-list-files-tests (Files): Add tests/init.sh.
33039
33040 2010-04-22  Simon Josefsson  <simon@josefsson.org>
33041
33042         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
33043         backup files.
33044
33045 2010-04-21  Simon Josefsson  <simon@josefsson.org>
33046
33047         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
33048
33049 2010-04-20  Eric Blake  <eblake@redhat.com>
33050
33051         tests: be robust to ignored SIGPIPE
33052         * tests/test-select-in.sh: Consume all output.
33053         * tests/test-lseek.sh: Check correct exit status, while avoiding
33054         EPIPE.
33055
33056 2010-04-20  Simon Josefsson  <simon@josefsson.org>
33057             Bruno Haible  <bruno@clisp.org>
33058
33059         visibility: Don't use -fvisibility if it leads to a warning.
33060         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
33061         yes, don't pretend that visibility works if it leads to a warning.
33062         Reported by Mike Gran <spk121@yahoo.com>.
33063
33064 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
33065
33066         * build-aux/bootstrap: Use "git -h" for testing for supported options
33067         instead of "git --help".  The short-form option only shows a summary,
33068         and doesn't layout the full man page.  Grep for the full option name
33069         in the summary, too.
33070
33071 2010-04-19  Bruno Haible  <bruno@clisp.org>
33072
33073         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
33074         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
33075         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
33076         mention of RELOCATABLE_STRIP.
33077         Reported by Sylvain Beucler <beuc@beuc.net>.
33078
33079 2010-04-19  Bruno Haible  <bruno@clisp.org>
33080
33081         * lib/diffseq.h: Fix typo in comment.
33082         Reported by Eric Blake.
33083
33084 2010-04-19  Bruno Haible  <bruno@clisp.org>
33085
33086         ioctl: Move autoconf macro to a .m4 file.
33087         * m4/ioctl.m4: New file, extracted from modules/ioctl.
33088         * modules/ioctl (Files): Add it.
33089         (configure.ac): Simply invoke gl_FUNC_IOCTL.
33090         Reported by Ian Beckwith <ianb@erislabs.net>.
33091
33092 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
33093             Bruno Haible  <bruno@clisp.org>
33094
33095         diffseq: Accommodate use-case with abstract arrays.
33096         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
33097         is not defined.
33098         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
33099         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
33100
33101 2010-04-18  Bruno Haible  <bruno@clisp.org>
33102
33103         * doc/posix-headers/stdbool.texi: More precise wording.
33104
33105 2010-04-17  Jim Meyering  <meyering@redhat.com>
33106
33107         maint.mk: use gnu-style indentation in an embedded perl script
33108         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
33109         Rename variable: s/two/last_two_bytes/
33110
33111 2010-04-16  Eric Blake  <eblake@redhat.com>
33112
33113         test-stdbool: skip test that fails with Solaris CC
33114         * tests/test-stdbool.c (f): Skip test that causes compilation
33115         error under buggy C++ compiler.
33116         * lib/stdbool.in.h: Document the limitation.
33117         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
33118
33119         setenv: allow compilation with C++
33120         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
33121         register keyword.
33122
33123         stdint: allow test to pass with C++
33124         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
33125
33126         getopt: allow compilation with C++
33127         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
33128         struct.
33129         * lib/getopt.c (_getopt_internal_r): Use correct type.
33130         Reported by Dagobert Michelson, via Joel E. Denny.
33131
33132 2010-04-16  Bruno Haible  <bruno@clisp.org>
33133
33134         Override netdb.h always.
33135         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
33136         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
33137         Reported by Ludovic Courtès <ludo@gnu.org>.
33138
33139 2010-04-15  Bruno Haible  <bruno@clisp.org>
33140
33141         openpty: Fix mistake from 2010-03-21.
33142         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
33143         Reported by Simon Josefsson.
33144
33145 2010-04-15  Eric Blake  <eblake@redhat.com>
33146
33147         test-forkpty: fix expected signature
33148         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
33149         Reported by Simon Josefsson.
33150
33151 2010-04-15  Jim Meyering  <meyering@redhat.com>
33152
33153         maint.mk: texinfo_suffix_re_: correct the default regexp
33154         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
33155
33156         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
33157         make it configurable via texinfo_suffix_re_.
33158
33159 2010-04-14  Eric Blake  <eblake@redhat.com>
33160
33161         strtok_r: relax license to LGPLv2+
33162         * modules/strtok_r (License): Relax license.
33163         Reported by Matthias Bolte.
33164
33165 2010-04-14  Simon Josefsson  <simon@josefsson.org>
33166
33167         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
33168         version 1.4.4 by default instead of requiring the libgcrypt
33169         version used during build.  This makes it possible to use the
33170         application with older but still binary compatible libgcrypt
33171         versions.
33172
33173 2010-04-13  Eric Blake  <eblake@redhat.com>
33174
33175         getopt-gnu: match recent glibc fixes and posix ruling
33176         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
33177         '+' handling, when requesting extensions.
33178         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
33179         'W;' handling.
33180         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
33181         * doc/posix-functions/getopt.texi (getopt): Document this.
33182         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
33183         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
33184         Likewise.
33185
33186         getopt: merge bug fixes from glibc
33187         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
33188         diagnostics.  Honor '+:' correctly.  Reject ';'.
33189
33190         getopt-posix: detect MacOS bug
33191         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
33192         optind when missing a required argument.
33193         * doc/posix-functions/getopt.texi (getopt): Document the bug.
33194         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
33195         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
33196         Likewise.
33197
33198         getopt-posix: avoid spurious failure on Solaris
33199         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
33200         an indicator that setting optind=1 is sufficient for reset.
33201
33202         getopt-posix: avoid spurious failure on FreeBSD
33203         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
33204         in POSIX mode, since the m4 test uses it.
33205
33206         gnulib-tool: silence warning on BSD sh
33207         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
33208
33209 2010-04-13  Jim Meyering  <meyering@redhat.com>
33210
33211         doc: users.txt: GNU patch now uses gnulib
33212         * users.txt: Add patch.
33213
33214 2010-04-12  Jim Meyering  <meyering@redhat.com>
33215
33216         maint.mk: generate more concise timing data for syntax-check rules
33217         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
33218         " done" from each line that reports a syntax-check test duration.
33219
33220 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
33221
33222         git-version-gen: use "git update-index..." rather than "git status"
33223         * build-aux/git-version-gen: Use git update-index --refresh, not
33224         "git status".  With some versions of git, "git status" would fail
33225         to update the index and result in an unwarranted "-dirty" suffix.
33226
33227 2010-04-11  Jim Meyering  <meyering@redhat.com>
33228
33229         openat: correct formatting (no semantic change)
33230         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
33231         Suggested by Bruno Haible.
33232
33233 2010-04-11  Bruno Haible  <bruno@clisp.org>
33234
33235         Stricter declaration checking in testdirs.
33236         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
33237         If for_tests is true, augment AM_CPPFLAGS to define
33238         GNULIB_STRICT_CHECKING.
33239         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
33240         GNULIB_STRICT_CHECKING is defined, verify that the function is
33241         declared.
33242
33243 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
33244             Bruno Haible  <bruno@clisp.org>
33245
33246         libunistring: Improve configure output.
33247         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
33248         Don't say "consider installing GNU libunistring" when checking again
33249         with libiconv.
33250
33251 2010-04-11  Bruno Haible  <bruno@clisp.org>
33252
33253         libunistring: Correct value of $LTLIBUNISTRING.
33254         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
33255         correct the value of $LTLIBUNISTRING.
33256
33257 2010-04-11  Bruno Haible  <bruno@clisp.org>
33258
33259         havelib: Add static libraries to LIBS in the right order.
33260         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
33261         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
33262
33263 2010-04-11  Bruno Haible  <bruno@clisp.org>
33264
33265         libunistring: Detect libunistring also when it depends on libiconv.
33266         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
33267         the second AC_LIB_HAVE_LINKFLAGS invocation.
33268
33269 2010-04-11  James Youngman  <jay@gnu.org>
33270
33271         close-stream: declare local scalars to be "const"
33272         * lib/close-stream.c (close_stream): Make boolean variables const
33273         to document the fact that we set but do not change them.
33274
33275 2010-04-11  Bruno Haible  <bruno@clisp.org>
33276
33277         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
33278
33279 2010-04-11  Jim Meyering  <meyering@redhat.com>
33280
33281         maint.mk: don't include dist-check.mk
33282         * top/maint.mk: Remove bogus include directive.
33283
33284         maint.mk: improve empty-line-at-EOF check
33285         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
33286         solution, rather than tail+Perl-based one.  The latter would read
33287         a few kilobytes from the end of each file, and did not handle empty
33288         files properly.
33289
33290         maint.mk: print the elapsed time for each syntax-check rule
33291         * top/maint.mk (sc_m_rules_): Save start time in a file.
33292         (sc_z_rules_): New rules: remove temp file and print elapsed time.
33293         (local-check): Interpose the .z rules
33294
33295 2010-04-11  Jim Meyering  <meyering@redhat.com>
33296
33297         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
33298         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
33299         empty file with one that ends in an empty line.
33300
33301 2010-04-10  Bruno Haible  <bruno@clisp.org>
33302
33303         mkdir: Make it work on mingw64.
33304         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
33305         * lib/mkdir.c: Update comment.
33306         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
33307
33308 2010-04-10  Bruno Haible  <bruno@clisp.org>
33309
33310         Don't override improved macro from newer autoconf.
33311         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
33312         autoconf >= 2.62.
33313         Reported by Joel E. Denny <jdenny@clemson.edu>.
33314
33315 2010-04-10  Jim Meyering  <meyering@redhat.com>
33316
33317         maint.mk: new syntax-check rule: prohibit empty lines at end of file
33318         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
33319
33320         maint.mk: correct a diagnostic
33321         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
33322         in diagnostic; now use $prohibit.
33323
33324 2010-04-10  Bruno Haible  <address@hidden>
33325
33326         fchownat: Fix a C++ test error on Solaris 8.
33327         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
33328         the function does not exist.
33329
33330 2010-04-10  Bruno Haible  <bruno@clisp.org>
33331
33332         vasnprintf: Add more tests.
33333         * tests/test-vasnprintf-posix.c: Include <errno.h>.
33334         (test_function): Test converting an invalid wide string.
33335
33336         vasnprintf: Correct handling of unconvertible wide string arguments.
33337         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
33338         VASNPRINTF.
33339         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
33340         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
33341         smaller than the expected maximum need for the directive. Set errno to
33342         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
33343         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
33344         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
33345         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
33346         * modules/vasnprintf (Files): Add m4/printf.m4.
33347         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
33348
33349 2010-04-10  Bruno Haible  <bruno@clisp.org>
33350
33351         vasnprintf: Fix crash in %ls directive.
33352         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
33353         string is passed as argument to %ls, with no precision and no width.
33354         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
33355
33356 2010-04-10  Bruno Haible  <bruno@clisp.org>
33357
33358         vasnprintf: Fix multiple test failures on mingw.
33359         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
33360         _snprintf, or snwprintf, not _snwprintf.
33361
33362 2010-04-10  Bruno Haible  <bruno@clisp.org>
33363
33364         write: Fix a C++ test error on mingw.
33365         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
33366
33367 2010-04-10  Bruno Haible  <bruno@clisp.org>
33368
33369         vasnprintf test: Reduce code duplication.
33370         * tests/test-vasnprintf.c (test_function): New function, extracted from
33371         test_vasnprintf.
33372         (test_vasnprintf, test_asnprintf): Invoke it.
33373
33374 2010-04-10  Bruno Haible  <bruno@clisp.org>
33375
33376         strnlen: Fix warning in C++ mode on MacOS X.
33377         * lib/string.in.h (strnlen): Use the modern idiom.
33378         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
33379         defining strnlen as a macro already in <config.h>.
33380         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
33381         REPLACE_STRNLEN.
33382         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
33383         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
33384
33385 2010-04-08  James Youngman  <jay@gnu.org>
33386
33387         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
33388         the example.
33389
33390 2010-04-09  Jim Meyering  <meyering@redhat.com>
33391
33392         maint.mk: print better diagnostic when there is no $(_hv_file)
33393         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
33394         announce that when $(_hv_file) (aka help-version) does not exist.
33395
33396         init.sh: run tr in the "C" locale to avoid multibyte interpretation
33397         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
33398         not try to interpret its random input bytes.  Jarno Rajahalme reported
33399         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
33400         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
33401         (mktempd_): Likewise, just in case.
33402
33403         ftruncate: add two years to projected module removal date: 2012
33404         * m4/ftruncate.m4: Adjust comments.
33405
33406         ftruncate: mark module as obsolete; even MinGW provides it, now
33407         * modules/ftruncate (Status): Obsolete.
33408         (Notice): Say that.
33409         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
33410         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
33411
33412 2010-04-08  Bruno Haible  <bruno@clisp.org>
33413
33414         Fix side effects from tests-related modules.
33415         * modules/dprintf-posix (Comment): New section.
33416         * modules/fprintf-posix (Comment): Likewise.
33417         * modules/obstack-printf-posix (Comment): Likewise.
33418         * modules/printf-posix (Comment): Likewise.
33419         * modules/snprintf-posix (Comment): Likewise.
33420         * modules/sprintf-posix (Comment): Likewise.
33421         * modules/vasnprintf-posix (Comment): Likewise.
33422         * modules/vasprintf-posix (Comment): Likewise.
33423         * modules/vdprintf-posix (Comment): Likewise.
33424         * modules/vfprintf-posix (Comment): Likewise.
33425         * modules/vprintf-posix (Comment): Likewise.
33426         * modules/vsnprintf-posix (Comment): Likewise.
33427         * modules/vsprintf-posix (Comment): Likewise.
33428         * modules/xprintf-posix (Comment): Likewise.
33429         * modules/xvasprintf-posix (Comment): Likewise.
33430         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
33431         * modules/floorf-tests (Depends-on): Likewise.
33432         * modules/round-tests (Depends-on): Likewise.
33433         * modules/roundf-tests (Depends-on): Likewise.
33434         * modules/trunc-tests (Depends-on): Likewise.
33435         * modules/truncf-tests (Depends-on): Likewise.
33436         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
33437         'fprintf-posix' module is not present.
33438         * tests/test-floorf2.c (check): Likewise.
33439         * tests/test-trunc2.c (check): Likewise.
33440         * tests/test-truncf2.c (check): Likewise.
33441         * tests/test-round2.c (equal): Likewise.
33442         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
33443
33444 2010-04-07  Karl Berry  <karl@gnu.org>
33445
33446         * config/srclist.txt,
33447         * config/srclistvars.sh,
33448         * config/srclist-update: doc fixes.
33449
33450 2010-04-07  Jim Meyering  <meyering@redhat.com>
33451
33452         maint.mk: add a PATH crosschecking syntax-check rule
33453         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
33454         Useful if you use a test like the one in help-version (coreutils,
33455         diffutils, grep, gzip) that ensures $(VERSION) matches what is
33456         printed by prog --version.
33457
33458 2010-04-06  Bruno Haible  <bruno@clisp.org>
33459
33460         Fix link error on mingw.
33461         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
33462         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
33463
33464 2010-04-06  Bruno Haible  <bruno@clisp.org>
33465
33466         Assume rmdir exists.
33467         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
33468
33469 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
33470
33471         doc: update users.txt
33472         * users.txt: Add gcal.
33473
33474 2010-04-06  Jim Meyering  <meyering@redhat.com>
33475
33476         init.sh: simply unset TMPDIR rather than risking env -i
33477         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
33478         although it probably works fine on all Unix-based systems, some
33479         systems (Cygwin?) cannot tolerate a totally cleared environment.
33480         Suggestion from Eric Blake.
33481
33482 2010-04-06  Jim Meyering  <meyering@redhat.com>
33483
33484         init.sh: portability fix: use env's POSIX-specified -i option not -u
33485         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
33486         than unportable env -u.  Solaris 5.11's env lacks support for -u.
33487
33488 2010-04-05  Bruno Haible  <bruno@clisp.org>
33489
33490         btowc: Work around Cygwin 1.7.2 bug.
33491         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
33492         does not map NUL to 0.
33493         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
33494
33495 2010-04-05  Bruno Haible  <bruno@clisp.org>
33496
33497         Make the multithread modules work on Cygwin 1.7.2.
33498         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
33499         imported symbols can be declared weak, so that it returns "no" on
33500         Cygwin 1.7.2.
33501
33502 2010-04-05  Bruno Haible  <bruno@clisp.org>
33503
33504         Use the module 'strncat'.
33505         * modules/unistr/u8-strncat (Depends-on): Add strncat.
33506
33507         Tests for module 'strncat'.
33508         * modules/strncat-tests: New file.
33509         * tests/test-strncat.c: New file.
33510
33511         New module 'strncat'.
33512         * lib/string.in.h (strncat): New declaration.
33513         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
33514         * m4/strncat.m4: New file, based on m4/memchr.m4.
33515         * modules/strncat: New file.
33516         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
33517         is declared.
33518         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
33519         REPLACE_STRNCAT.
33520         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
33521         REPLACE_STRNCAT.
33522         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
33523         module.
33524         * tests/test-string-c++.cc: Check signature of strncat.
33525
33526 2010-04-05  Jim Meyering  <meyering@redhat.com>
33527
33528         xstrtoumax-tests: convert to use init.sh
33529         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
33530         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
33531         Use Exit, not exit.
33532         Remove uses of $EXEEXT and "./" to run a program in the current dir.
33533
33534         xstrtoimax-tests: convert to use init.sh
33535         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
33536         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
33537         Use Exit, not exit.
33538         Remove uses of $EXEEXT and "./" to run a program in the current dir.
33539
33540 2010-04-05  Bruno Haible  <bruno@clisp.org>
33541
33542         sys_socket: Avoid #define replacements in C++ mode.
33543         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
33544         warning to the function if possible, rather than #defining the symbol
33545         to a dysfunctional alias.
33546
33547 2010-04-05  Bruno Haible  <bruno@clisp.org>
33548
33549         fseeko: Fix C++ test error on mingw.
33550         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
33551         gl_FUNC_FSEEKO.
33552         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
33553         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
33554         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
33555         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
33556
33557 2010-04-05  Bruno Haible  <bruno@clisp.org>
33558
33559         duplocale: Improve test output.
33560         * tests/test-duplocale.c (main): Print reason for skipped test.
33561
33562 2010-04-05  Bruno Haible  <bruno@clisp.org>
33563
33564         Assume rmdir exists.
33565         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
33566         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
33567
33568 2010-04-05  Bruno Haible  <bruno@clisp.org>
33569
33570         Fix link error on Solaris 8 with cc.
33571         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
33572
33573 2010-04-05  Bruno Haible  <bruno@clisp.org>
33574
33575         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
33576         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
33577
33578 2010-04-05  Bruno Haible  <bruno@clisp.org>
33579
33580         vasprintf: Update documentation.
33581         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
33582
33583 2010-04-05  Bruno Haible  <bruno@clisp.org>
33584
33585         ptsname: Improve test.
33586         * tests/test-ptsname.c (main): Also try the various master names of BSD
33587         systems.
33588
33589 2010-04-05  Bruno Haible  <bruno@clisp.org>
33590
33591         memchr: Avoid a possible C++ test error.
33592         * lib/string.in.h (memchr): Provide declaration if function is missing.
33593         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
33594         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
33595         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
33596         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
33597
33598 2010-04-05  Bruno Haible  <bruno@clisp.org>
33599
33600         strtok_r: Improve idiom.
33601         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
33602         AC_LIBOBJ is used.
33603
33604 2010-04-05  Bruno Haible  <bruno@clisp.org>
33605
33606         strdup: Improve idiom.
33607         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
33608         AC_LIBOBJ is used.
33609         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
33610         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
33611         when AC_LIBOBJ is used.
33612
33613 2010-04-05  Bruno Haible  <bruno@clisp.org>
33614
33615         mbsinit, mbrtowc, wcrtomb: Improve idioms.
33616         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
33617         don't set REPLACE_MBSINIT to 1.
33618         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
33619         don't set REPLACE_MBRTOWC to 1.
33620         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
33621         exist, don't set REPLACE_MBSRTOWCS to 1.
33622         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
33623         exist, don't set REPLACE_MBSNRTOWCS to 1.
33624         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
33625         don't set REPLACE_WCRTOMB to 1.
33626         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
33627         exist, don't set REPLACE_WCSRTOMBS to 1.
33628         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
33629         exist, don't set REPLACE_WCSNRTOMBS to 1.
33630
33631 2010-04-05  Bruno Haible  <bruno@clisp.org>
33632
33633         ldexpl: Improve idiom.
33634         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
33635         make sure to set HAVE_DECL_LDEXPL to 0.
33636
33637 2010-04-05  Jim Meyering  <meyering@redhat.com>
33638
33639         xstrtol-tests: convert to use init.sh
33640         * modules/xstrtol-tests (Files): Add tests/init.sh.
33641         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
33642         Use Exit, not exit.
33643         Remove uses of $EXEEXT and "./" to run a program in the current dir.
33644
33645         atexit-tests: convert to use init.sh
33646         * modules/atexit-tests (Files): Add tests/init.sh.
33647         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
33648         Use Exit, not exit.
33649         Remove uses of $EXEEXT and "./" to run a program in the current dir.
33650
33651         init.sh: fix typo
33652         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
33653
33654         init.sh: make it easier for a test script to write to the tty, ...
33655         when using automake's parallel-tests mode.
33656         * tests/init.sh (stderr_fileno_): Define overridable variable.
33657         (warn_): New function, to use it.
33658         (fail_, skip_, framework_failure_): Use warn_.
33659
33660 2010-04-04  Bruno Haible  <bruno@clisp.org>
33661
33662         btowc: Avoid warning.
33663         * lib/btowc.c: Include <stdlib.h>.
33664         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
33665
33666 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
33667             Bruno Haible  <bruno@clisp.org>
33668
33669         wchar: Port to NetBSD 1.5.
33670         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
33671         * lib/wctype.in.h (WEOF): Likewise.
33672
33673 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
33674             Bruno Haible  <bruno@clisp.org>
33675
33676         Port extended stdio to NetBSD 1.5.
33677         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
33678         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
33679         older.
33680
33681 2010-04-04  Bruno Haible  <bruno@clisp.org>
33682
33683         string: Remove unused substitution.
33684         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
33685         HAVE_DECL_STRERROR.
33686         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
33687
33688 2010-04-04  Bruno Haible  <bruno@clisp.org>
33689
33690         strtod: Avoid a possible C++ test error.
33691         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
33692         set REPLACE_STRTOD.
33693
33694 2010-04-04  Bruno Haible  <bruno@clisp.org>
33695
33696         strerror: Update documentation.
33697         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
33698
33699 2010-04-04  Bruno Haible  <bruno@clisp.org>
33700
33701         stdio: Fix some C++ test errors on Solaris 8 with GCC.
33702         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
33703         _GL_CXXALIAS_SYS_CAST.
33704
33705 2010-04-04  Bruno Haible  <bruno@clisp.org>
33706
33707         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
33708         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
33709         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
33710         REPLACE_FREXPL to 1.
33711         * doc/posix-functions/frexpl.texi: Update documentation.
33712
33713 2010-04-04  Bruno Haible  <bruno@clisp.org>
33714
33715         math: Fix some C++ test errors on Solaris 8 and Cygwin.
33716         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
33717
33718 2010-04-04  Bruno Haible  <bruno@clisp.org>
33719
33720         Implement nanosleep for native Windows.
33721         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
33722
33723 2010-04-04  Bruno Haible  <bruno@clisp.org>
33724
33725         math: Fix some C++ test errors on Solaris 8.
33726         * lib/math.in.h (truncf, trunc): Use simpler idiom.
33727
33728 2010-04-04  Bruno Haible  <bruno@clisp.org>
33729
33730         math: Fix some C++ test errors on Cygwin.
33731         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
33732         truncl): Provide declaration if the system does not have it.
33733         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
33734         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
33735         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
33736         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
33737         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
33738         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
33739         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
33740         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
33741         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
33742         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
33743         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
33744         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
33745         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
33746         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
33747         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
33748         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
33749         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
33750         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
33751         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
33752         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
33753         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
33754         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
33755
33756 2010-04-04  Bruno Haible  <bruno@clisp.org>
33757
33758         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
33759         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
33760         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
33761         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
33762         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
33763         * m4/isinf.m4 (gl_ISINF): Likewise.
33764         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
33765
33766 2010-04-04  Bruno Haible  <bruno@clisp.org>
33767
33768         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
33769         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
33770
33771 2010-04-04  Bruno Haible  <bruno@clisp.org>
33772
33773         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
33774         * modules/tmpfile (configure.ac): Update.
33775
33776         tmpfile: Fix C++ test error on mingw.
33777         * lib/stdio.in.h (tmpfile): New declaration.
33778         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
33779         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
33780         * modules/tmpfile (Depends-on): Add stdio.
33781         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
33782         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
33783         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
33784         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
33785         REPLACE_TMPFILE.
33786         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
33787
33788 2010-04-04  Bruno Haible  <bruno@clisp.org>
33789
33790         ioctl: Fix C++ test error on mingw.
33791         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
33792         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
33793         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
33794
33795 2010-04-03  Bruno Haible  <bruno@clisp.org>
33796
33797         wcwidth: Fix C++ test error on mingw.
33798         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
33799         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
33800         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
33801
33802 2010-04-03  Bruno Haible  <bruno@clisp.org>
33803
33804         nanosleep: Fix C++ test error on mingw.
33805         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
33806         * lib/time.in.h (nanosleep): Use modern idiom.
33807         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
33808         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
33809         REPLACE_NANOSLEEP to 1.
33810         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
33811         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
33812
33813 2010-04-03  Bruno Haible  <bruno@clisp.org>
33814
33815         strptime: Fix C++ test error on mingw.
33816         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
33817         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
33818         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
33819         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
33820         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
33821         not REPLACE_STRPTIME.
33822         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
33823         REPLACE_STRPTIME.
33824
33825 2010-04-03  Bruno Haible  <bruno@clisp.org>
33826
33827         timegm: Fix C++ test error on mingw.
33828         * lib/time.in.h (timegm): Use modern idiom.
33829         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
33830         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
33831         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
33832         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
33833
33834 2010-04-03  Bruno Haible  <bruno@clisp.org>
33835
33836         timegm: Assume declaration if function exists.
33837         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
33838         if it exists. Don't clobber ac_cv_func_timegm.
33839
33840 2010-04-03  Bruno Haible  <bruno@clisp.org>
33841
33842         time_r: Fix C++ test error on mingw.
33843         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
33844         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
33845         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
33846         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
33847         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
33848
33849 2010-04-03  Bruno Haible  <bruno@clisp.org>
33850
33851         time_r: Minor updates.
33852         * modules/time_r (Description): Mention the provided functions.
33853         * lib/time_r.c: Don't include <string.h>.
33854         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
33855         * doc/posix-functions/localtime_r.texi: Likewise.
33856
33857 2010-04-03  Bruno Haible  <bruno@clisp.org>
33858
33859         time: Fix regression introduced on 2010-03-08.
33860         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
33861         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
33862
33863 2010-04-03  Jim Meyering  <meyering@redhat.com>
33864
33865         maint.mk: don't silently disable project-specific syntax-check rules
33866         * top/maint.mk (_prohibit_regexp): Define, to help people realize
33867         that they need to convert their project-specific syntax-check rules
33868         to use the new _sc_search_regexp.
33869
33870 2010-04-03  Bruno Haible  <bruno@clisp.org>
33871
33872         fchdir: Fix regression introduced on 2010-03-08.
33873         * lib/unistd.in.h (fchdir): Fix declaration.
33874         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
33875         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
33876         REPLACE_FCHDIR.
33877         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
33878         REPLACE_FCHDIR.
33879
33880 2010-04-03  Bruno Haible  <bruno@clisp.org>
33881
33882         getpagesize: Fix C++ test error on mingw.
33883         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
33884         system does not declare the function.
33885         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
33886         declared.
33887         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
33888         HAVE_DECL_GETPAGESIZE.
33889         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
33890
33891 2010-04-03  Bruno Haible  <bruno@clisp.org>
33892
33893         stdio: Make C++ tests work on mingw.
33894         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
33895         does not declare the function.
33896
33897 2010-04-03  Bruno Haible  <bruno@clisp.org>
33898
33899         ftello: Fix C++ test error on mingw.
33900         * lib/stdio.in.h (ftello): Use modern idiom.
33901         * lib/ftello.c (ftello): Renamed from rpl_ftello.
33902         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
33903         is missing and that it needs to be replaced.
33904         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
33905         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
33906         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
33907
33908 2010-04-03  Bruno Haible  <bruno@clisp.org>
33909
33910         fseeko: Fix C++ test error on mingw.
33911         * lib/stdio.in.h (fseeko): Use modern idiom.
33912         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
33913         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
33914         is missing and that it needs to be replaced.
33915         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
33916         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
33917         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
33918
33919 2010-04-03  Bruno Haible  <bruno@clisp.org>
33920
33921         mkstemp: Fix C++ test error on mingw.
33922         * lib/stdlib.in.h (mkstemp): Use modern idiom.
33923         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
33924         function is missing and that it needs to be replaced.
33925         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
33926         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
33927
33928 2010-04-03  Bruno Haible  <bruno@clisp.org>
33929
33930         stpncpy: Fix C++ test error on mingw.
33931         * lib/string.in.h (stpncpy): Use modern idiom.
33932         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
33933         function is missing and that it needs to be replaced.
33934         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
33935         REPLACE_STPNCPY.
33936         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
33937
33938 2010-04-03  Bruno Haible  <bruno@clisp.org>
33939
33940         sys_stat: Fix C++ test error on mingw.
33941         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
33942         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
33943
33944 2010-04-03  Bruno Haible  <bruno@clisp.org>
33945
33946         pty: Update doc.
33947         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
33948
33949 2010-04-03  Bruno Haible  <bruno@clisp.org>
33950
33951         unistd: Fix C++ test error on mingw.
33952         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
33953
33954 2010-04-03  Bruno Haible  <bruno@clisp.org>
33955
33956         Update doc regarding mingw.
33957         * doc/glibc-functions/openpty.texi: Update regarding mingw.
33958         * doc/glibc-functions/login_tty.texi: Likewise.
33959         * doc/glibc-functions/forkpty.texi: Likewise.
33960
33961 2010-04-03  Bruno Haible  <bruno@clisp.org>
33962
33963         stdlib: Avoid compilation failure of c-strtold on mingw.
33964         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
33965
33966 2010-04-03  Bruno Haible  <bruno@clisp.org>
33967
33968         locale: Make C++ tests work on Cygwin and mingw.
33969         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
33970         cannot provide the function.
33971         Reported by Simon Josefsson.
33972
33973 2010-04-03  Bruno Haible  <bruno@clisp.org>
33974
33975         localename: Port to MacOS X 10.6.
33976         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
33977         memory layout of the locales in MacOS X 10.6 as well.
33978         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
33979
33980 2010-04-02  Bruno Haible  <bruno@clisp.org>
33981
33982         gnulib-tool: Ensure that long-running tests are executed last.
33983         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
33984         running tests after the one for the other tests.
33985
33986 2010-04-02  Bruno Haible  <bruno@clisp.org>
33987
33988         gnulib-tool: Ensure the tests in the main directory are executed first.
33989         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
33990         start with the current directory.
33991
33992 2010-04-02  Bruno Haible  <bruno@clisp.org>
33993
33994         Tests for module 'havelib', moved here from GNU gettext.
33995         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
33996         modifications.
33997         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
33998         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
33999         with modifications.
34000         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
34001         modifications.
34002         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
34003         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
34004         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
34005         with modifications.
34006         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
34007         with modifications.
34008         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
34009         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
34010         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
34011         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
34012         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
34013         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
34014         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
34015         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
34016         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
34017         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
34018         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
34019         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
34020         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
34021         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
34022         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
34023         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
34024         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
34025         with modifications.
34026         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
34027         with modifications.
34028         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
34029         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
34030         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
34031         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
34032         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
34033         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
34034         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
34035         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
34036         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
34037         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
34038         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
34039         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
34040         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
34041         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
34042         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
34043         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
34044         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
34045         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
34046         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
34047         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
34048         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
34049         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
34050         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
34051         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
34052         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
34053         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
34054         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
34055         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
34056         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
34057         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
34058         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
34059         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
34060         * tests/havelib/rpathx/rpathx.c: New file, from
34061         gettext/autoconf-lib-link.
34062         * tests/havelib/rpathx/Makefile.am: New file, from
34063         gettext/autoconf-lib-link.
34064         * tests/havelib/rpathx/configure.ac: New file, from
34065         gettext/autoconf-lib-link with modifications.
34066         * tests/havelib/rpathy/rpathy.c: New file, from
34067         gettext/autoconf-lib-link.
34068         * tests/havelib/rpathy/Makefile.am: New file, from
34069         gettext/autoconf-lib-link.
34070         * tests/havelib/rpathy/configure.ac: New file, from
34071         gettext/autoconf-lib-link with modifications.
34072         * tests/havelib/rpathz/rpathz.c: New file, from
34073         gettext/autoconf-lib-link.
34074         * tests/havelib/rpathz/Makefile.am: New file, from
34075         gettext/autoconf-lib-link.
34076         * tests/havelib/rpathz/configure.ac: New file, from
34077         gettext/autoconf-lib-link with modifications.
34078         * tests/havelib/rpathlx/usex.c: New file, from
34079         gettext/autoconf-lib-link.
34080         * tests/havelib/rpathlx/Makefile.am: New file, from
34081         gettext/autoconf-lib-link.
34082         * tests/havelib/rpathlx/configure.ac: New file, from
34083         gettext/autoconf-lib-link with modifications.
34084         * tests/havelib/rpathly/usey.c: New file, from
34085         gettext/autoconf-lib-link.
34086         * tests/havelib/rpathly/Makefile.am: New file, from
34087         gettext/autoconf-lib-link.
34088         * tests/havelib/rpathly/configure.ac: New file, from
34089         gettext/autoconf-lib-link with modifications.
34090         * tests/havelib/rpathlz/usez.c: New file, from
34091         gettext/autoconf-lib-link.
34092         * tests/havelib/rpathlz/Makefile.am: New file, from
34093         gettext/autoconf-lib-link.
34094         * tests/havelib/rpathlz/configure.ac: New file, from
34095         gettext/autoconf-lib-link with modifications.
34096         * tests/havelib/rpathlyx/usey.c: New file, from
34097         gettext/autoconf-lib-link.
34098         * tests/havelib/rpathlyx/Makefile.am: New file, from
34099         gettext/autoconf-lib-link.
34100         * tests/havelib/rpathlyx/configure.ac: New file, from
34101         gettext/autoconf-lib-link with modifications.
34102         * tests/havelib/rpathlzyx/usez.c: New file, from
34103         gettext/autoconf-lib-link.
34104         * tests/havelib/rpathlzyx/Makefile.am: New file, from
34105         gettext/autoconf-lib-link.
34106         * tests/havelib/rpathlzyx/configure.ac: New file, from
34107         gettext/autoconf-lib-link with modifications.
34108         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
34109         with modifications.
34110
34111 2010-04-02  Bruno Haible  <bruno@clisp.org>
34112
34113         gnulib-tool: Create distributed built sources also for the tests.
34114         * gnulib-tool (func_create_testdir): Also generate distributed built
34115         sources in the tests directory.
34116
34117 2010-04-02  Bruno Haible  <bruno@clisp.org>
34118
34119         gnulib-tool: Obey user's environment variables.
34120         * gnulib-tool (func_create_testdir): When creating built sources,
34121         respect the environment variables for autoconf, automake, etc. given by
34122         the user.
34123
34124 2010-04-02  Bruno Haible  <bruno@clisp.org>
34125
34126         gnulib-tool: Provide the value of --m4-base to modules.
34127         * gnulib-tool (func_import, func_create_testdir): Emit a definition
34128         of gl_m4_base.
34129
34130 2010-04-02  Eric Blake  <eblake@redhat.com>
34131
34132         maint.mk: fix some fallout
34133         * NEWS: Document the incompatible change, and its effect on cfg.mk.
34134         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
34135
34136 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
34137
34138         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
34139         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
34140         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
34141         (sc_cast_of_x_alloc_return_value): Likewise.
34142         (sc_cast_of_alloca_return_value): Likewise.
34143         (sc_space_tab): Likewise.
34144         (sc_prohibit_atoi_atof): Likewise.
34145         (sc_prohibit_magic_number_exit): Likewise.
34146         (sc_error_exit_success): Likewise.
34147         (sc_file_system): Likewise.
34148         (sc_prohibit_have_config_h): Likewise.
34149         (sc_require_config_h): Likewise.
34150         (sc_prohibit_HAVE_MBRTOWC): Likewise.
34151         (sc_obsolete_symbols): Likewise.
34152         (sc_changelog): Likewise.
34153         (sc_program_name): Likewise.
34154         (sc_the_the): Likewise.
34155         (sc_trailing_blank): Likewise.
34156         (sc_two_space_separator_in_usage): Likewise.
34157         (sc_useless_cpp_parens): Likewise.
34158         (sc_GPL_version): Likewise.
34159         (sc_GFDL_version): Likewise.
34160         (sc_texinfo_acronym): Likewise.
34161         (sc_prohibit_cvs_keyword): Likewise.
34162         (sc_prohibit_stat_st_blocks): Likewise.
34163         (sc_prohibit_S_IS_definition): Likewise.
34164         (sc_redundant_const): Likewise.
34165         (sc_makefile_TAB_only_indentation): Likewise.
34166         (sc_m4_quote_check): Likewise.
34167         (sc_makefile_path_separator_check): Likewise.
34168         (sc_copyright_check): Likewise.
34169         (sc_Wundef_boolean): Likewise.
34170         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
34171
34172         maint.mk: match 0 or more whitespace-before-function-call '('
34173         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
34174         that have zero or two-and-more spaces between the function name
34175         and the open parenthesis.
34176         (sc_error_message_warn_fatal): Likewise.
34177         (sc_error_message_uppercase): Likewise.
34178         (sc_error_message_period): Likewise.
34179
34180 2010-03-31  Eric Blake  <eblake@redhat.com>
34181
34182         maint.mk: check for [ as well as test
34183         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
34184         Based on a libvirt report by Matthias Bolte.
34185
34186         gnumakefile: don't squelch _version output
34187         * top/GNUmakefile (_version): Create one-shot dependency rather
34188         than using $(shell) when version must be regenerated.
34189         (_autoreconf): Run verbosely, by default.
34190
34191         sys_time: avoid compiler warnings
34192         * lib/sys_time.in.h (includes): Ensure gcc pragma is
34193         unconditional, fixing regression from 2010-03-29.
34194         Reported by Simon Josefsson.
34195
34196 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
34197
34198         maint.mk: s/_header_without_use/_sc_header_without_use/
34199         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
34200         (sc_prohibit_assert_without_use): Use the new name.
34201         (sc_prohibit_close_stream_without_use): Likewise.
34202         (sc_prohibit_getopt_without_use): Likewise.
34203         (sc_prohibit_quotearg_without_use): Likewise.
34204         (sc_prohibit_quote_without_use): Likewise.
34205         (sc_prohibit_long_options_without_use): Likewise.
34206         (sc_prohibit_inttostr_without_use): Likewise.
34207         (sc_prohibit_ignore_value_without_use): Likewise.
34208         (sc_prohibit_error_without_use): Likewise.
34209         (sc_prohibit_xalloc_without_use): Likewise.
34210         (sc_prohibit_hash_without_use): Likewise.
34211         (sc_prohibit_hash_pjw_without_use): Likewise.
34212         (sc_prohibit_safe_read_without_use): Likewise.
34213         (sc_prohibit_argmatch_without_use): Likewise.
34214         (sc_prohibit_canonicalize_without_use): Likewise.
34215         (sc_prohibit_root_dev_ino_without_use): Likewise.
34216         (sc_prohibit_openat_without_use): Likewise.
34217         (sc_prohibit_c_ctype_without_use): Likewise.
34218         (sc_prohibit_signal_without_use): Likewise.
34219         (sc_prohibit_intprops_without_use): Likewise.
34220
34221 2010-03-30  Eric Blake  <eblake@redhat.com>
34222
34223         maint: improve module indicators
34224         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
34225         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
34226         columns, and avoid extra macro expansion.
34227
34228         fdopendir: work around FreeBSD bug
34229         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
34230         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
34231         * modules/dirent (Makefile.am): Substitute it.
34232         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
34233         declaration.
34234         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
34235         fix.
34236         Reported by Christian Weisgerber <naddy@mips.inka.de>.
34237
34238 2010-03-29  Bruno Haible  <bruno@clisp.org>
34239
34240         Emit #pragma system_header after the inclusion guard, not before.
34241         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
34242         guard that spans the entire file, not before. This enables an
34243         optimization in GCC's preprocessor.
34244         * lib/ctype.in.h: Likewise.
34245         * lib/dirent.in.h: Likewise.
34246         * lib/errno.in.h: Likewise.
34247         * lib/float.in.h: Likewise.
34248         * lib/getopt.in.h: Likewise.
34249         * lib/iconv.in.h: Likewise.
34250         * lib/langinfo.in.h: Likewise.
34251         * lib/locale.in.h: Likewise.
34252         * lib/math.in.h: Likewise.
34253         * lib/netdb.in.h: Likewise.
34254         * lib/netinet_in.in.h: Likewise.
34255         * lib/pty.in.h: Likewise.
34256         * lib/sched.in.h: Likewise.
34257         * lib/se-selinux.in.h: Likewise.
34258         * lib/search.in.h: Likewise.
34259         * lib/spawn.in.h: Likewise.
34260         * lib/stdarg.in.h: Likewise.
34261         * lib/stdint.in.h: Likewise.
34262         * lib/string.in.h: Likewise.
34263         * lib/strings.in.h: Likewise.
34264         * lib/sys_file.in.h: Likewise.
34265         * lib/sys_ioctl.in.h: Likewise.
34266         * lib/sys_time.in.h: Likewise.
34267         * lib/sys_times.in.h: Likewise.
34268         * lib/sys_utsname.in.h: Likewise.
34269         * lib/sys_wait.in.h: Likewise.
34270         * lib/sysexits.in.h: Likewise.
34271         * lib/wctype.in.h: Likewise.
34272
34273 2010-03-28  James Youngman  <jay@gnu.org>
34274
34275         save-cwd: don't leak a file descriptor when the caller execs.
34276         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
34277         saved file descriptor.
34278         * modules/save-cwd (Depends-on): Depend on cloexec.
34279
34280 2010-03-29  Bruno Haible  <bruno@clisp.org>
34281
34282         Remove vestiges of fts-lgpl module.
34283         * lib/fts_.h: Assume GNULIB_FTS is 1.
34284         * lib/fts.c: Likewise.
34285         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
34286
34287 2010-03-28  Bruno Haible  <bruno@clisp.org>
34288
34289         Fix definition of tests witness macro.
34290         * gnulib-tool (func_import): Fix definition of witness macro.
34291
34292 2010-03-28  Bruno Haible  <bruno@clisp.org>
34293
34294         Fix ioctl's protoype on glibc systems.
34295         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
34296         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
34297         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
34298         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
34299         signature. If not, arrange to replace the ioctl function.
34300         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
34301         REPLACE_IOCTL.
34302         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
34303         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
34304         Reported by Ludovic Courtès <ludo@gnu.org>.
34305
34306 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
34307
34308         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
34309         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
34310         made it so grep -r --include=GLOB* ... did not work.
34311
34312 2010-03-26  Jim Meyering  <meyering@redhat.com>
34313             Eric Blake  <eblake@redhat.com>
34314
34315         maint.mk: prohibit use of test's -o and -a operators
34316         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
34317
34318 2010-03-28  Bruno Haible  <bruno@clisp.org>
34319
34320         Remove unused GNULIB_XYZ macro definitions.
34321         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
34322         invocation.
34323
34324 2010-03-28  Bruno Haible  <bruno@clisp.org>
34325
34326         Mark privileged tests modules.
34327         * modules/idpriv-drop-tests (Status): New section.
34328         * modules/idpriv-droptemp-tests (Status): New section.
34329
34330 2010-03-28  Bruno Haible  <bruno@clisp.org>
34331
34332         Split C++ tests into separate tests modules.
34333         * modules/dirent-c++-tests: New file, extracted from
34334         modules/dirent-tests.
34335         * modules/dirent-tests: Depend on it.
34336         * modules/fcntl-h-c++-tests: New file, extracted from
34337         modules/fcntl-h-tests.
34338         * modules/fcntl-h-tests: Depend on it.
34339         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
34340         * modules/glob-tests: Depend on it.
34341         * modules/iconv-h-c++-tests: New file, extracted from
34342         modules/iconv-h-tests.
34343         * modules/iconv-h-tests: Depend on it.
34344         * modules/langinfo-c++-tests: New file, extracted from
34345         modules/langinfo-tests.
34346         * modules/langinfo-tests: Depend on it.
34347         * modules/locale-c++-tests: New file, extracted from
34348         modules/locale-tests.
34349         * modules/locale-tests: Depend on it.
34350         * modules/math-c++-tests: New file, extracted from modules/math-tests.
34351         * modules/math-tests: Depend on it.
34352         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
34353         * modules/pty-tests: Depend on it.
34354         * modules/search-c++-tests: New file, extracted from
34355         modules/search-tests.
34356         * modules/search-tests: Depend on it.
34357         * modules/signal-c++-tests: New file, extracted from
34358         modules/signal-tests.
34359         * modules/signal-tests: Depend on it.
34360         * modules/spawn-c++-tests: New file, extracted from
34361         modules/spawn-tests.
34362         * modules/spawn-tests: Depend on it.
34363         * modules/stdio-c++-tests: New file, extracted from
34364         modules/stdio-tests.
34365         * modules/stdio-tests: Depend on it.
34366         * modules/stdlib-c++-tests: New file, extracted from
34367         modules/stdlib-tests.
34368         * modules/stdlib-tests: Depend on it.
34369         * modules/string-c++-tests: New file, extracted from
34370         modules/string-tests.
34371         * modules/string-tests: Depend on it.
34372         * modules/sys_ioctl-c++-tests: New file, extracted from
34373         modules/sys_ioctl-tests.
34374         * modules/sys_ioctl-tests: Depend on it.
34375         * modules/sys_select-c++-tests: New file, extracted from
34376         modules/sys_select-tests.
34377         * modules/sys_select-tests: Depend on it.
34378         * modules/sys_socket-c++-tests: New file, extracted from
34379         modules/sys_socket-tests.
34380         * modules/sys_socket-tests: Depend on it.
34381         * modules/sys_stat-c++-tests: New file, extracted from
34382         modules/sys_stat-tests.
34383         * modules/sys_stat-tests: Depend on it.
34384         * modules/sys_time-c++-tests: New file, extracted from
34385         modules/sys_time-tests.
34386         * modules/sys_time-tests: Depend on it.
34387         * modules/time-c++-tests: New file, extracted from modules/time-tests.
34388         * modules/time-tests: Depend on it.
34389         * modules/unistd-c++-tests: New file, extracted from
34390         modules/unistd-tests.
34391         * modules/unistd-tests: Depend on it.
34392         * modules/wchar-c++-tests: New file, extracted from
34393         modules/wchar-tests.
34394         * modules/wchar-tests: Depend on it.
34395         * modules/wctype-c++-tests: New file, extracted from
34396         modules/wctype-tests.
34397         * modules/wctype-tests: Depend on it.
34398         Reported by Simon Josefsson.
34399
34400 2010-03-28  Bruno Haible  <bruno@clisp.org>
34401
34402         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
34403         * gnulib-tool (func_exists_module): New function, extracted from
34404         func_verify_module.
34405         (func_verify_module): Use it.
34406         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
34407         'foo' only if 'foo' exists.
34408         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
34409         module.
34410
34411 2010-03-28  Bruno Haible  <bruno@clisp.org>
34412
34413         gnulib-tool: Add support for special categories of tests.
34414         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
34415         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
34416         (func_usage): Document them.
34417         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
34418         inc_unportable_tests, inc_all_tests): New variables.
34419         (func_acceptable): Consider these variables.
34420         (func_modules_transitive_closure): Make it work when the 'Status' field
34421         consists of multiple words.
34422         (func_import): Store and restore the values of inc_cxx_tests,
34423         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
34424         inc_all_tests in gnulib-comp.m4.
34425         (func_create_testdir): Set inc_all_tests to true.
34426         * doc/gnulib.texi (Extra tests modules): New section.
34427         Suggested by Jim Meyering.
34428
34429 2010-03-28  Bruno Haible  <bruno@clisp.org>
34430
34431         ansi-c++-opt: Allow turning off the C++ build by default.
34432         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
34433         gl_CXX_CHOICE_DEFAULT_NO is defined.
34434         Requested by Eric Blake.
34435
34436 2010-03-28  Bruno Haible  <bruno@clisp.org>
34437
34438         unistd: Avoid #define replacements in C++ mode.
34439         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
34440         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
34441         setsockopt, shutdown, select): In C++, attach a warning to the function
34442         if possible, rather than #defining the symbol to a dysfunctional alias.
34443         Reported by John W. Eaton <jwe@gnu.org>.
34444
34445 2010-03-28  Bruno Haible  <bruno@clisp.org>
34446
34447         Fix link errors on mingw.
34448         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
34449         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
34450         $(LIBSOCKET).
34451         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
34452         $(LIBSOCKET).
34453
34454 2010-03-28  Bruno Haible  <bruno@clisp.org>
34455             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34456
34457         lib-ignore: Determine different options for different compilers.
34458         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
34459         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
34460         Add comments.
34461         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
34462         * NEWS: Mention the change.
34463
34464 2010-03-27  Bruno Haible  <bruno@clisp.org>
34465
34466         Remove unused GNULIB_XYZ macro definitions.
34467         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
34468         * modules/fseek (configure.ac): Likewise.
34469         * modules/ioctl (configure.ac): Likewise.
34470         * modules/open (configure.ac): Likewise.
34471         * modules/stdlib-safer (configure.ac): Likewise.
34472
34473 2010-03-27  Bruno Haible  <bruno@clisp.org>
34474
34475         Add a remark about certain modules.
34476         * modules/malloc (Comment): New section.
34477         * modules/realloc (Comment): Likewise.
34478         * modules/sigpipe (Comment): Likewise.
34479
34480 2010-03-27  Bruno Haible  <bruno@clisp.org>
34481
34482         Resolve conflict between the two kinds of module indicators.
34483         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
34484         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
34485         * modules/canonicalize (configure.ac): Invoke
34486         gl_MODULE_INDICATOR_FOR_TESTS.
34487         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
34488         GNULIB_XYZ.
34489         * tests/test-dirent-c++.cc: Likewise.
34490         * tests/test-dirent-safer.c: Likewise.
34491         * tests/test-dup2.c: Likewise.
34492         * tests/test-fchdir.c: Likewise.
34493         * tests/test-fcntl-h-c++.cc: Likewise.
34494         * tests/test-getopt.c: Likewise.
34495         * tests/test-getopt.h: Likewise.
34496         * tests/test-langinfo-c++.cc: Likewise.
34497         * tests/test-locale-c++.cc: Likewise.
34498         * tests/test-math-c++.cc: Likewise.
34499         * tests/test-pty-c++.cc: Likewise.
34500         * tests/test-search-c++.cc: Likewise.
34501         * tests/test-signal-c++.cc: Likewise.
34502         * tests/test-spawn-c++.cc: Likewise.
34503         * tests/test-stdio-c++.cc: Likewise.
34504         * tests/test-stdlib-c++.cc: Likewise.
34505         * tests/test-string-c++.cc: Likewise.
34506         * tests/test-sys_ioctl-c++.cc: Likewise.
34507         * tests/test-sys_select-c++.cc: Likewise.
34508         * tests/test-sys_socket-c++.cc: Likewise.
34509         * tests/test-sys_stat-c++.cc: Likewise.
34510         * tests/test-sys_time-c++.cc: Likewise.
34511         * tests/test-time-c++.cc: Likewise.
34512         * tests/test-unistd-c++.cc: Likewise.
34513         * tests/test-wchar-c++.cc: Likewise.
34514         * tests/uninorm/test-u8-nfc.c: Likewise.
34515         * tests/uninorm/test-u8-nfd.c: Likewise.
34516         * tests/uninorm/test-u8-nfkc.c: Likewise.
34517         * tests/uninorm/test-u8-nfkd.c: Likewise.
34518         * tests/uninorm/test-u16-nfc.c: Likewise.
34519         * tests/uninorm/test-u16-nfd.c: Likewise.
34520         * tests/uninorm/test-u16-nfkc.c: Likewise.
34521         * tests/uninorm/test-u16-nfkd.c: Likewise.
34522         * tests/uninorm/test-u32-nfc.c: Likewise.
34523         * tests/uninorm/test-u32-nfc-big.c: Likewise.
34524         * tests/uninorm/test-u32-nfd.c: Likewise.
34525         * tests/uninorm/test-u32-nfd-big.c: Likewise.
34526         * tests/uninorm/test-u32-nfkc.c: Likewise.
34527         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
34528         * tests/uninorm/test-u32-nfkd.c: Likewise.
34529         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
34530         * tests/uninorm/test-u32-normalize-big.c: Likewise.
34531
34532 2010-03-27  Bruno Haible  <bruno@clisp.org>
34533
34534         Distinguish two kinds of module indicators.
34535         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
34536         gl_MODULE_INDICATOR.
34537         (gl_MODULE_INDICATOR): New macro.
34538         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
34539         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
34540         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
34541         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
34542         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
34543         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
34544         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
34545         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
34546         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
34547         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
34548         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
34549         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
34550         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
34551         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
34552         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
34553         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
34554         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
34555         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
34556         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
34557         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
34558         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
34559         * modules/cloexec (configure.ac): Likewise.
34560         * modules/getopt-gnu (configure.ac): Likewise.
34561         * modules/uninorm/u8-normalize (configure.ac): Likewise.
34562         * modules/uninorm/u16-normalize (configure.ac): Likewise.
34563         * modules/uninorm/u32-normalize (configure.ac): Likewise.
34564         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
34565
34566 2010-03-27  Bruno Haible  <bruno@clisp.org>
34567
34568         New module description field 'Comment'.
34569         * gnulib-tool: New option --extract-comment.
34570         (func_usage): Document it.
34571         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
34572         (func_get_comment): New function.
34573         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
34574
34575 2010-03-27  Bruno Haible  <bruno@clisp.org>
34576
34577         Addendum to 2010-02-07 commit.
34578         * gnulib-tool (func_usage): Document --extract-applicability option.
34579
34580 2010-03-27  Bruno Haible  <bruno@clisp.org>
34581
34582         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
34583         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
34584         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
34585         rather than link errors.
34586
34587 2010-03-27  Bruno Haible  <bruno@clisp.org>
34588
34589         Avoid side effects from tests-related modules on the compilation of lib.
34590         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
34591         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
34592         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
34593         parameter. Emit into AM_CPPFLAGS a definition of the designated C
34594         macro.
34595         (func_import): Define a witness macro. Assign it a value that depends
34596         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
34597         tests-related modules.
34598         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
34599         Reported by Jim Meyering.
34600
34601 2010-03-27  Bruno Haible  <bruno@clisp.org>
34602
34603         Factorize common .m4 code.
34604         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
34605         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
34606         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
34607         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
34608         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
34609         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
34610         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
34611         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
34612         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
34613         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
34614         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
34615         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
34616         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
34617         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
34618         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
34619         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
34620         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
34621         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
34622         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
34623         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
34624         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
34625         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
34626         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
34627         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
34628         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
34629         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
34630         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
34631         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
34632         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
34633         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
34634         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
34635         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
34636
34637 2010-03-27  Bruno Haible  <bruno@clisp.org>
34638
34639         Fix a compilation error on Cygwin with g++ >= 4.3.
34640         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
34641         if it is undefined or if we alias it to chmod.
34642         (lstat): Don't warn about the use of this function if it is undefined
34643         or if we alias it to stat.
34644         Reported by Simon Josefsson.
34645
34646 2010-03-27  Bruno Haible  <bruno@clisp.org>
34647
34648         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
34649         * modules/getlogin (configure.ac): Update.
34650
34651         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
34652         * modules/getlogin_r (configure.ac): Update.
34653
34654         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
34655         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
34656         * modules/inet_ntop (configure.ac): Update.
34657
34658         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
34659         * modules/inet_pton (configure.ac): Update.
34660
34661         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
34662         * modules/mbslen (configure.ac): Update.
34663
34664         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
34665         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
34666         * modules/forkpty (configure.ac): Update.
34667         * modules/openpty (configure.ac): Update.
34668
34669 2010-03-26  Simon Josefsson  <simon@josefsson.org>
34670
34671         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
34672         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
34673
34674 2010-03-25  Eric Blake  <eblake@redhat.com>
34675
34676         maint: use pragma consistently across replacement headers
34677         * lib/ctype.in.h (system_header): Hoist for consistent placement.
34678         * lib/dirent.in.h (system_header): Likewise.
34679         * lib/errno.in.h (system_header): Likewise.
34680         * lib/float.in.h (system_header): Likewise.
34681         * lib/getopt.in.h (system_header): Likewise.
34682         * lib/iconv.in.h (system_header): Likewise.
34683         * lib/inttypes.in.h (system_header): Likewise.
34684         * lib/langinfo.in.h (system_header): Likewise.
34685         * lib/locale.in.h (system_header): Likewise.
34686         * lib/math.in.h (system_header): Likewise.
34687         * lib/netdb.in.h (system_header): Likewise.
34688         * lib/netinet_in.in.h (system_header): Likewise.
34689         * lib/pty.in.h (system_header): Likewise.
34690         * lib/sched.in.h (system_header): Likewise.
34691         * lib/se-selinux.in.h (system_header): Likewise.
34692         * lib/search.in.h (system_header): Likewise.
34693         * lib/spawn.in.h (system_header): Likewise.
34694         * lib/stdarg.in.h (system_header): Likewise.
34695         * lib/stdint.in.h (system_header): Likewise.
34696         * lib/string.in.h (system_header): Likewise.
34697         * lib/strings.in.h (system_header): Likewise.
34698         * lib/sys_file.in.h (system_header): Likewise.
34699         * lib/sys_ioctl.in.h (system_header): Likewise.
34700         * lib/sys_socket.in.h (system_header): Likewise.
34701         * lib/sys_times.in.h (system_header): Likewise.
34702         * lib/sys_utsname.in.h (system_header): Likewise.
34703         * lib/sys_wait.in.h (system_header): Likewise.
34704         * lib/sysexits.in.h (system_header): Likewise.
34705         * lib/unistd.in.h (system_header): Likewise.
34706         * lib/wctype.in.h (system_header): Likewise.
34707
34708         arpa/inet: fix mingw compilation warning
34709         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
34710         Reported by Matthew Bolte.
34711
34712 2010-03-25  Bruno Haible  <bruno@clisp.org>
34713
34714         Avoid collision between gnulib wrapper and libintl wrapper.
34715         * lib/printf.c (printf): Don't define if a printf wrapper is already
34716         defined in intl/printf.c.
34717         Reported by Michel Boaventura <michel@michelboaventura.com>.
34718
34719 2010-03-25  Bruno Haible  <bruno@clisp.org>
34720
34721         Use ANSI C.
34722         * lib/readutmp.h (getutent): Provide ANSI C prototype.
34723
34724 2010-03-25  Bruno Haible  <bruno@clisp.org>
34725
34726         Minor formatting changes.
34727         * lib/acosl.c: Insert space before function argument list.
34728         * lib/argz.c: Likewise.
34729         * lib/asinl.c: Likewise.
34730         * lib/expl.c: Likewise.
34731         * lib/gen-uni-tables.c: Likewise.
34732         * lib/gettext.h: Likewise.
34733         * lib/glthread/lock.h: Likewise.
34734         * lib/tanl.c: Likewise.
34735         * lib/uniname/uniname.c: Likewise.
34736         * tests/test-idpriv-drop.c: Likewise.
34737         * tests/test-idpriv-droptemp.c: Likewise.
34738         * tests/test-lock.c: Likewise.
34739         * tests/test-tls.c: Likewise.
34740         * lib/argp-help.c: Insert space before function-like macro argument
34741         list.
34742         * lib/memcmp.c: Likewise.
34743         * tests/test-base64.c: Likewise.
34744         * lib/localename.c: Insert space before sizeof's argument list.
34745         * lib/safe-alloc.h: Likewise.
34746         * lib/file-set.h: Insert space before macro argument list.
34747         * tests/test-argp.c: Likewise.
34748         * lib/argp-namefrob.h: Insert space before function parameter list.
34749         * lib/getaddrinfo.c: Likewise.
34750         * lib/netdb.in.h: Likewise.
34751         * lib/parse-duration.h: Likewise.
34752         * lib/parse-duration.c: Likewise.
34753         * lib/poll.c: Likewise.
34754         * lib/select.c: Likewise.
34755         * lib/trim.h: Likewise.
34756         * tests/test-usleep.c: Likewise.
34757         * lib/ldexpl.c: Insert space before function parameter list and before
34758         function argument list.
34759         * lib/logl.c: Likewise.
34760         * lib/sqrtl.c: Likewise.
34761         * lib/trim.c: Likewise.
34762         * lib/cosl.c: Use GNU style indentation. Insert space before function
34763         argument list.
34764         * lib/sinl.c: Likewise.
34765         * lib/tsearch.c: Insert space after 'for'.
34766         Reported by Jim Meyering.
34767
34768 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
34769
34770         * maint.mk (sc_Wundef_boolean): Check for the presence of the
34771         config header before grepping, as it's not present before
34772         autoreconf/configure are run.  Reported by Simon Josefsson.
34773
34774 2010-03-23  Bruno Haible  <bruno@clisp.org>
34775
34776         pt_chown: Make it work with automake < 1.11.
34777         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
34778         Reported by Simon Josefsson.
34779
34780 2010-03-23  Bruno Haible  <bruno@clisp.org>
34781
34782         pt_chown: Don't depend on GPLed modules.
34783         * lib/pt_chown.c: Don't include idpriv.h.
34784         (main): Don't drop privileges.
34785         * modules/pt_chown (Depends-on): Remove idpriv-drop.
34786         Reported by Simon Josefsson.
34787
34788 2010-03-24  Simon Josefsson  <simon@josefsson.org>
34789
34790         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
34791         suggestions from karl@freefriends.org (Karl Berry).
34792
34793 2010-03-22  Eric Blake  <eblake@redhat.com>
34794
34795         gethostname: further tweaks
34796         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
34797         are overriding gethostname.
34798         Suggested by Bruno Haible.
34799
34800 2010-03-21  Bruno Haible  <bruno@clisp.org>
34801
34802         Fix comments.
34803         * lib/forkpty.c (rpl_forkpty): Fix comment.
34804         * lib/openpty.c (rpl_openpty): Likewise.
34805         Reported by Eric Blake.
34806
34807 2010-03-22  Eric Blake  <eblake@redhat.com>
34808
34809         gethostname: fix build on mingw
34810         * lib/unistd.in.h (includes): Work around fact that mingw
34811         <winsock2.h> re-includes <unistd.h>, by avoiding any
34812         redeclarations if we are being included by <winsock2.h>.
34813         Reported by Matthias Bolte.
34814
34815 2010-03-21  Bruno Haible  <bruno@clisp.org>
34816
34817         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
34818         * lib/forkpty.c (forkpty): New replacement function, from glibc with
34819         modifications.
34820         * lib/pty.in.h (forkpty): Update declaration. Add comments.
34821         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
34822         provide the replacement.
34823         * modules/forkpty (Depends-on): Add openpty, login_tty.
34824         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
34825         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
34826         * doc/glibc-functions/forkpty.texi: More supported platforms.
34827         * config/srclist.txt: Add forkpty.c (commented).
34828
34829 2010-03-21  Bruno Haible  <bruno@clisp.org>
34830
34831         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
34832         (Makefile.am): Verify that PTY_LIB is defined.
34833
34834         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
34835
34836 2010-03-21  Bruno Haible  <bruno@clisp.org>
34837
34838         Tests for module 'login_tty'.
34839         * modules/login_tty-tests: New file.
34840         * tests/test-login_tty.c: New file.
34841
34842         New module 'login_tty'.
34843         * lib/login_tty.c: New file.
34844         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
34845         * modules/login_tty: New file.
34846         * doc/glibc-functions/login_tty.texi: Mention the new module.
34847
34848 2010-03-21  Bruno Haible  <bruno@clisp.org>
34849
34850         login_tty: Documentation.
34851         * doc/glibc-functions/login_tty.texi: New file.
34852         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
34853
34854 2010-03-21  Bruno Haible  <bruno@clisp.org>
34855
34856         pty: Consistent macro naming.
34857         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
34858         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
34859         * modules/pty (configure.ac): Update.
34860
34861 2010-03-21  Bruno Haible  <bruno@clisp.org>
34862
34863         Tests for openpty: Make stricter.
34864         * tests/test-openpty.c (main): Add test of canonical processing and
34865         erase.
34866         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
34867
34868         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
34869         * lib/openpty.c (openpty): New replacement function.
34870         * lib/pty.in.h: Include <termios.h>.
34871         (openpty): Update declaration. Add comments.
34872         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
34873         is not declared, arrange to provide the replacement. Check for _getpty
34874         and posix_openpt.
34875         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
34876         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
34877         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
34878         * modules/pty-tests (test_pty_c___LDADD): New variable.
34879         * doc/glibc-functions/openpty.texi: More supported platforms.
34880
34881 2010-03-21  Bruno Haible  <bruno@clisp.org>
34882
34883         setenv: Tweaks.
34884         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
34885         the test program.
34886         * doc/posix-functions/setenv.texi: Update platforms list.
34887
34888 2010-03-21  Bruno Haible  <bruno@clisp.org>
34889
34890         New module 'unlockpt'.
34891         * lib/unlockpt.c: New file, from glibc with modifications.
34892         * m4/unlockpt.m4: New file.
34893         * modules/unlockpt: New file.
34894         * lib/stdlib.in.h (unlockpt): New declaration.
34895         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
34896         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
34897         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
34898         HAVE_UNLOCKPT.
34899         * doc/posix-functions/unlockpt.texi: Mention the new module.
34900         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
34901         * config/srclist.txt: Add unlockpt.c (commented).
34902
34903 2010-03-21  Jim Meyering  <meyering@redhat.com>
34904
34905         maint.mk: prohibit inclusion of "intprops.h" without use
34906         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
34907
34908 2010-03-21  Bruno Haible  <bruno@clisp.org>
34909
34910         New module 'grantpt'.
34911         * lib/grantpt.c: New file, from glibc with modifications.
34912         * m4/grantpt.m4: New file.
34913         * modules/grantpt: New file.
34914         * lib/stdlib.in.h (grantpt): New declaration.
34915         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
34916         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
34917         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
34918         HAVE_GRANTPT.
34919         * doc/posix-functions/grantpt.texi: Mention the new module.
34920         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
34921         * config/srclist.txt: Add grantpt.c (commented).
34922
34923 2010-03-21  Bruno Haible  <bruno@clisp.org>
34924
34925         New module 'pt_chown'.
34926         * lib/pt_chown.c: New file, from glibc with modifications.
34927         * lib/pty-private.h: New file, from glibc with modifications.
34928         * modules/pt_chown: New file.
34929         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
34930
34931 2010-03-21  Bruno Haible  <bruno@clisp.org>
34932
34933         Tests for module 'ptsname'.
34934         * modules/ptsname-tests: New file.
34935         * tests/test-ptsname.c: New file.
34936
34937         New module 'ptsname'.
34938         * lib/ptsname.c: New file, from glibc with modifications.
34939         * m4/ptsname.m4: New file.
34940         * modules/ptsname: New file.
34941         * lib/stdlib.in.h (ptsname): New declaration.
34942         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
34943         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
34944         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
34945         HAVE_PTSNAME.
34946         * doc/posix-functions/ptsname.texi: Mention the new module.
34947         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
34948         * config/srclist.txt: Add ptsname.c (commented).
34949
34950 2010-03-21  Bruno Haible  <bruno@clisp.org>
34951
34952         Tests for module 'ttyname_r'.
34953         * modules/ttyname_r-tests: New file.
34954         * tests/test-ttyname_r.c: New file.
34955
34956         New module 'ttyname_r'.
34957         * lib/ttyname_r.c: New file.
34958         * m4/ttyname_r.m4: New file.
34959         * modules/ttyname_r: New file.
34960         * lib/unistd.in.h (ttyname_r): New declaration.
34961         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
34962         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
34963         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
34964         HAVE_TTYNAME_R.
34965         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
34966         * doc/posix-functions/ttyname_r.texi: Mention the new module.
34967
34968 2010-03-20  Bruno Haible  <bruno@clisp.org>
34969
34970         signal: Undefine macro definitions in C++ mode.
34971         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
34972         sigfillset): Undefine macro definitions from the system header in C++
34973         mode.
34974         Reported by John W. Eaton <jwe@gnu.org>.
34975
34976 2010-03-20  Bruno Haible  <bruno@clisp.org>
34977
34978         Ensure no #include statements inside extern "C" { ... }.
34979         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
34980         contain #include statements.
34981         * lib/time.in.h: Likewise.
34982
34983 2010-03-20  Bruno Haible  <bruno@clisp.org>
34984
34985         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
34986         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
34987         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
34988         Reported by John W. Eaton <jwe@gnu.org>.
34989
34990 2010-03-20  Bruno Haible  <bruno@clisp.org>
34991
34992         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
34993         Reported by Jim Meyering.
34994
34995 2010-03-20  Bruno Haible  <bruno@clisp.org>
34996
34997         pipe: Set errno upon failure.
34998         * lib/pipe.h: Specify that when -1 is returned, errno is set.
34999         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
35000         errno value in error message.
35001
35002 2010-03-20  Bruno Haible  <bruno@clisp.org>
35003             Jim Meyering  <meyering@redhat.com>
35004
35005         lchown: Avoid "unused variable" warning.
35006         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
35007
35008 2010-03-20  Bruno Haible  <bruno@clisp.org>
35009
35010         Work around unlink() bug on MacOS X 10.5.6.
35011         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
35012         attempting to unlink a parent directory.
35013         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
35014         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
35015         activate for the replacement function.
35016         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
35017
35018 2010-03-20  Bruno Haible  <bruno@clisp.org>
35019
35020         Fix link errors on Solaris 8.
35021         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
35022         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
35023
35024 2010-03-19  Jim Meyering  <meyering@redhat.com>
35025
35026         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
35027         The _LIBC implementation of build_range_exp correctly honors the
35028         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
35029         However, the non-_LIBC implementation would ignore that syntax-bit
35030         flag and return REG_ERANGE unconditionally.
35031         This change makes it honor that flag.
35032         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
35033         Make two pointer parameters "const".
35034         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
35035         (parse_bracket_exp): Update caller.
35036
35037         regex.m4: correct the reversed range endpoint ([b-a]) test
35038         * m4/regex.m4: When requiring that [b-a] evoke failure,
35039         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
35040         test pass once again for x86-based systems.
35041
35042 2010-03-19  Bruno Haible  <bruno@clisp.org>
35043
35044         scandir: Fix link error on Solaris 8.
35045         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
35046         macros.
35047
35048 2010-03-19  Bruno Haible  <bruno@clisp.org>
35049
35050         getusershell: Fix documentation.
35051         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
35052         module.
35053         * doc/glibc-functions/setusershell.texi: Likewise.
35054
35055         getusershell: Provide declaration, missing on Solaris 9.
35056         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
35057         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
35058         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
35059         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
35060         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
35061         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
35062         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
35063         HAVE_GETUSERSHELL.
35064         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
35065
35066 2010-03-19  Bruno Haible  <bruno@clisp.org>
35067
35068         wctype: Provide iswblank function.
35069         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
35070         exists and is fine.
35071         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
35072         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
35073         * tests/test-wctype.c (main): Re-enable the iswblank tests.
35074         * doc/posix-functions/iswblank.texi: Update.
35075
35076 2010-03-19  Bruno Haible  <bruno@clisp.org>
35077
35078         Tests of module 'pty' in C++ mode.
35079         * modules/pty-tests: New file.
35080         * tests/test-pty-c++.cc: New file.
35081         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
35082
35083 2010-03-19  Eric Blake  <eblake@redhat.com>
35084
35085         logb: fix documentation
35086         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
35087         1.5 declaration bug.
35088
35089         forkpty, openpty: prefer glibc's const-safe prototype
35090         * lib/forkpty.c (rpl_forkpty): New file.
35091         * lib/openpty.c (rpl_openpty): Likewise.
35092         * modules/forkpty (Files): Distribute it.
35093         * modules/openpty (Files): Likewise.
35094         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
35095         check...
35096         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
35097         replacement for for non-const BSD signature.
35098         * modules/pty (Makefile.am): Substitute witnesses.
35099         * lib/pty.in.h (forkpty, openpty): Declare replacements.
35100         * tests/test-forkpty.c: Update signature check.
35101         * tests/test-openpty.c: Likewise.
35102         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
35103         * doc/glibc-functions/openpty.texi (openpty): Likewise.
35104
35105         forkpty, openpty: split functions into new modules
35106         * modules/pty (Makefile.am): Substitute new witnesses.
35107         (Libraries): Move library detection...
35108         * modules/forkpty: ...into new module.
35109         * modules/openpty: Another new module.
35110         * modules/pty-tests: Rename and split...
35111         * modules/forkpty-tests: ...to this...
35112         * modules/openpty-tests: ...and this.
35113         * tests/test-pty.c: Rename and split...
35114         * tests/test-forkpty.c: ...to this...
35115         * tests/test-openpty.c: ...and this.
35116         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
35117         (gl_PTY): Split library searching...
35118         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
35119         (gl_FORKPTY, gl_OPENPTY): New macros.
35120         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
35121         * NEWS: Mention the split.
35122         * MODULES.html.sh (Misc): Document the modules.
35123         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
35124         * doc/glibc-functions/openpty.texi (openpty): Likewise.
35125
35126         pty: improve replacement header
35127         * lib/pty.in.h: New file.
35128         * modules/pty (Files): Ship it.
35129         (Makefile.am): Always build replacement.
35130         * m4/pty.m4: Rename...
35131         * m4/pty_h.m4: ...to this.
35132         (gl_PTY): Modernize setting of witness macros; update check of
35133         forkpty to take proper advantage of cache.
35134         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
35135
35136         getopt: avoid compiler warning
35137         * lib/getopt.c (attribute_hidden): Remove unused macro.
35138
35139 2010-03-18  Bruno Haible  <bruno@clisp.org>
35140
35141         Fix link errors on Solaris 8.
35142         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
35143         * modules/search-tests (test_search_c___LDADD): Likewise.
35144         * modules/signal-tests (test_signal_c___LDADD): Likewise.
35145         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
35146         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
35147         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
35148         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
35149         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
35150         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
35151
35152 2010-03-18  Bruno Haible  <bruno@clisp.org>
35153
35154         Fix bug introduced on 2010-03-14.
35155         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
35156         (gl_SPAWN_H): Require it.
35157         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
35158         Reported by Simon Josefsson.
35159
35160 2010-03-18  Bruno Haible  <bruno@clisp.org>
35161
35162         Fix typo introduced on 2009-12-31.
35163         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
35164         posix_spawn_file_actions_adddup2.
35165
35166 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
35167         and Eric Blake  <eblake@redhat.com>
35168
35169         test-vc-list-files-git: make more robust
35170         * tests/test-vc-list-files-git.sh: Unset problematic environment
35171         variables.  Chain commands together.
35172
35173 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
35174
35175         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
35176         `AC_CHECK_DECL' invocation.
35177
35178 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
35179
35180         * lib/inttostr.c (inttostr): Make sure the invocation of verify
35181         appears before executable statements. Suggested by Petr Sumbera
35182         <Petr.Sumbera@Sun.COM>.
35183
35184 2010-03-14  Bruno Haible  <bruno@clisp.org>
35185
35186         * tests/test-flock.c (test_exclusive): Comment out a test that causes
35187         portability problems. Instead use a simpler test.
35188         (main): Check that invalid arguments are rejected only on Linux.
35189
35190 2010-03-14  Bruno Haible  <bruno@clisp.org>
35191
35192         Fix bug introduced on 2009-12-31.
35193         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
35194         gl_PREREQ_SYS_H_WINSOCK2 always.
35195         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
35196         SYS_SOCKET_H variable.
35197         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
35198         Update comments.
35199         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
35200         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
35201         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
35202         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
35203         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
35204
35205 2010-03-14  Bruno Haible  <bruno@clisp.org>
35206
35207         Fix values returned by sinl, cosl.
35208         * lib/trigl.h: Add specification comments.
35209         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
35210         that combines the values from the precomputed table with the values of
35211         the Chebyshev polynomials.
35212
35213 2010-03-14  Bruno Haible  <bruno@clisp.org>
35214
35215         Fix compilation error when modules 'posix_spawn[p]' are not used.
35216         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
35217         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
35218
35219 2010-03-14  Bruno Haible  <bruno@clisp.org>
35220
35221         Fix compilation error on mingw when module 'time_r' is not used.
35222         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
35223         is 1.
35224         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
35225         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
35226         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
35227         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
35228
35229 2010-03-14  Bruno Haible  <bruno@clisp.org>
35230
35231         Fix compilation error with Sun C.
35232         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
35233         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
35234         instead of GCC specific ULONG_LONG_MAX.
35235         * lib/xstrtoll.c: Likewise.
35236         * lib/xstrtoull.c: Likewise.
35237
35238 2010-03-13  Bruno Haible  <bruno@clisp.org>
35239
35240         Allow the user to disable C++ code and tests.
35241         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
35242         (gl_PROG_ANSI_CXX): Require it.
35243
35244 2010-03-13  Bruno Haible  <bruno@clisp.org>
35245
35246         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
35247         cases.
35248
35249 2010-03-13  Bruno Haible  <bruno@clisp.org>
35250
35251         Test that gnulib does not break the standard C++ headers.
35252         * tests/test-locale-c++2.cc: New file.
35253         * modules/locale-tests (Files): Add it.
35254         (Makefile.am): Compile it for test-locale-c++.
35255         * tests/test-math-c++2.cc: New file.
35256         * modules/math-tests (Files): Add it.
35257         (Makefile.am): Compile it for test-math-c++.
35258         * tests/test-signal-c++2.cc: New file.
35259         * modules/signal-tests (Files): Add it.
35260         (Makefile.am): Compile it for test-signal-c++.
35261         * tests/test-stdio-c++2.cc: New file.
35262         * modules/stdio-tests (Files): Add it.
35263         (Makefile.am): Compile it for test-stdio-c++.
35264         * tests/test-stdlib-c++2.cc: New file.
35265         * modules/stdlib-tests (Files): Add it.
35266         (Makefile.am): Compile it for test-stdlib-c++.
35267         * tests/test-string-c++2.cc: New file.
35268         * modules/string-tests (Files): Add it.
35269         (Makefile.am): Compile it for test-string-c++.
35270         * tests/test-time-c++2.cc: New file.
35271         * modules/time-tests (Files): Add it.
35272         (Makefile.am): Compile it for test-time-c++.
35273         Reported by John W. Eaton <jwe@gnu.org>.
35274
35275 2010-03-13  Bruno Haible  <bruno@clisp.org>
35276
35277         * gnulib-tool (func_usage): Clarify which options are available for
35278         --create-testdir and --create-megatestdir.
35279
35280 2010-03-13  Bruno Haible  <bruno@clisp.org>
35281
35282         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
35283         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
35284         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
35285         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
35286         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
35287         when appropriate.
35288         Reported by Jim Meyering.
35289
35290 2010-03-12  Simon Josefsson  <simon@josefsson.org>
35291
35292         * gnulib-tool (func_import): Explain origin of code.
35293
35294 2010-03-12  Bruno Haible  <bruno@clisp.org>
35295
35296         Fix problem with automake's definition of CXXLINK.
35297         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
35298         Reported by Simon Josefsson and Ludovic Courtès.
35299
35300 2010-03-12  Bruno Haible  <bruno@clisp.org>
35301
35302         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
35303         stable releases.
35304
35305 2010-03-11  Bruno Haible  <bruno@clisp.org>
35306
35307         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
35308         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
35309         whether the system provides one variant or multiple variants of the
35310         function.
35311         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
35312         C++ compilers.
35313         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
35314         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
35315         Reported by Jim Meyering.
35316
35317 2010-03-09  Simon Josefsson  <simon@josefsson.org>
35318
35319         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
35320
35321 2010-03-08  Bruno Haible  <bruno@clisp.org>
35322
35323         gnulib-tool: Add support for --libtool in --create-testdir.
35324         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
35325         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
35326
35327 2010-03-08  Eric Blake  <eblake@redhat.com>
35328
35329         gnulib-tool.texi: mention possibility of git submodule
35330         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
35331         submodules.
35332         * doc/.gitignore: Ignore another generated file.
35333
35334 2010-03-08  Karl Berry  <karl@gnu.org>
35335
35336         * doc/gnulib-tool.texi (VCS Issues): Mention third option
35337         of committing gnulib files while skipping others.
35338
35339 2010-03-07  Bruno Haible  <bruno@clisp.org>
35340
35341         Tests of module 'wctype' in C++ mode.
35342         * tests/test-wctype-c++.cc: New file.
35343         * modules/wctype-tests (Files): Add it and tests/signature.h.
35344         (Depends-on): Add ansi-c++-opt.
35345         (Makefile.am): Arrange to compile and run test-wctype-c++.
35346
35347         Tests of module 'wchar' in C++ mode.
35348         * tests/test-wchar-c++.cc: New file.
35349         * modules/wchar-tests (Files): Add it and tests/signature.h.
35350         (Depends-on): Add ansi-c++-opt.
35351         (Makefile.am): Arrange to compile and run test-wchar-c++.
35352         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
35353         gl_MODULE_INDICATOR.
35354
35355         Tests of module 'unistd' in C++ mode.
35356         * tests/test-unistd-c++.cc: New file.
35357         * modules/unistd-tests (Files): Add it and tests/signature.h.
35358         (Depends-on): Add ansi-c++-opt.
35359         (Makefile.am): Arrange to compile and run test-unistd-c++.
35360         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
35361         gl_MODULE_INDICATOR.
35362
35363         Tests of module 'time' in C++ mode.
35364         * tests/test-time-c++.cc: New file.
35365         * modules/time-tests (Files): Add it and tests/signature.h.
35366         (Depends-on): Add ansi-c++-opt.
35367         (Makefile.am): Arrange to compile and run test-time-c++.
35368         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
35369
35370         Tests of module 'sys_time' in C++ mode.
35371         * tests/test-sys_time-c++.cc: New file.
35372         * modules/sys_time-tests (Files): Add it and tests/signature.h.
35373         (Depends-on): Add ansi-c++-opt.
35374         (Makefile.am): Arrange to compile and run test-sys_time-c++.
35375         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
35376         gl_MODULE_INDICATOR.
35377
35378         Tests of module 'sys_stat' in C++ mode.
35379         * tests/test-sys_stat-c++.cc: New file.
35380         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
35381         (Depends-on): Add ansi-c++-opt.
35382         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
35383         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
35384         gl_MODULE_INDICATOR.
35385
35386         Tests of module 'sys_socket' in C++ mode.
35387         * tests/test-sys_socket-c++.cc: New file.
35388         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
35389         (Depends-on): Add ansi-c++-opt.
35390         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
35391         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
35392         gl_MODULE_INDICATOR.
35393
35394         Tests of module 'sys_select' in C++ mode.
35395         * tests/test-sys_select-c++.cc: New file.
35396         * modules/sys_select-tests (Files): Add it and tests/signature.h.
35397         (Depends-on): Add ansi-c++-opt.
35398         (Makefile.am): Arrange to compile and run test-sys_select-c++.
35399         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
35400         gl_MODULE_INDICATOR.
35401
35402         Tests of module 'sys_ioctl' in C++ mode.
35403         * tests/test-sys_ioctl-c++.cc: New file.
35404         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
35405         (Depends-on): Add ansi-c++-opt.
35406         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
35407         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
35408         gl_MODULE_INDICATOR.
35409
35410         Tests of module 'string' in C++ mode.
35411         * tests/test-string-c++.cc: New file.
35412         * modules/string-tests (Files): Add it and tests/signature.h.
35413         (Depends-on): Add ansi-c++-opt.
35414         (Makefile.am): Arrange to compile and run test-string-c++.
35415         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
35416         gl_MODULE_INDICATOR.
35417
35418         Tests of module 'stdlib' in C++ mode.
35419         * tests/test-stdlib-c++.cc: New file.
35420         * modules/stdlib-tests (Files): Add it and tests/signature.h.
35421         (Depends-on): Add ansi-c++-opt.
35422         (Makefile.am): Arrange to compile and run test-stdlib-c++.
35423         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
35424         gl_MODULE_INDICATOR.
35425
35426         Tests of module 'stdio' in C++ mode.
35427         * tests/test-stdio-c++.cc: New file.
35428         * modules/stdio-tests (Files): Add it and tests/signature.h.
35429         (Depends-on): Add ansi-c++-opt.
35430         (Makefile.am): Arrange to compile and run test-stdio-c++.
35431         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
35432         gl_MODULE_INDICATOR.
35433
35434         Tests of module 'spawn' in C++ mode.
35435         * tests/test-spawn-c++.cc: New file.
35436         * modules/spawn-tests (Files): Add it and tests/signature.h.
35437         (Depends-on): Add ansi-c++-opt.
35438         (Makefile.am): Arrange to compile and run test-spawn-c++.
35439         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
35440         gl_MODULE_INDICATOR.
35441
35442         Tests of module 'signal' in C++ mode.
35443         * tests/test-signal-c++.cc: New file.
35444         * modules/signal-tests (Files): Add it and tests/signature.h.
35445         (Depends-on): Add ansi-c++-opt.
35446         (Makefile.am): Arrange to compile and run test-signal-c++.
35447         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
35448         gl_MODULE_INDICATOR.
35449
35450         Tests of module 'search' in C++ mode.
35451         * tests/test-search-c++.cc: New file.
35452         * modules/search-tests (Files): Add it and tests/signature.h.
35453         (Depends-on): Add ansi-c++-opt.
35454         (Makefile.am): Arrange to compile and run test-search-c++.
35455         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
35456         gl_MODULE_INDICATOR.
35457
35458         Tests of module 'math' in C++ mode.
35459         * tests/test-math-c++.cc: New file.
35460         * modules/math-tests (Files): Add it and tests/signature.h.
35461         (Depends-on): Add ansi-c++-opt.
35462         (Makefile.am): Arrange to compile and run test-math-c++.
35463         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
35464
35465         Tests of module 'locale' in C++ mode.
35466         * tests/test-locale-c++.cc: New file.
35467         * modules/locale-tests (Files): Add it and tests/signature.h.
35468         (Depends-on): Add ansi-c++-opt.
35469         (Makefile.am): Arrange to compile and run test-locale-c++.
35470         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
35471         gl_MODULE_INDICATOR.
35472
35473         Tests of module 'langinfo' in C++ mode.
35474         * tests/test-langinfo-c++.cc: New file.
35475         * modules/langinfo-tests (Files): Add it and tests/signature.h.
35476         (Depends-on): Add ansi-c++-opt.
35477         (Makefile.am): Arrange to compile and run test-langinfo-c++.
35478         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
35479         gl_MODULE_INDICATOR.
35480
35481         Tests of module 'iconv-h' in C++ mode.
35482         * tests/test-iconv-h-c++.cc: New file.
35483         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
35484         (Depends-on): Add ansi-c++-opt.
35485         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
35486
35487         Tests of module 'glob' in C++ mode.
35488         * tests/test-glob-c++.cc: New file.
35489         * modules/glob-tests (Files): Add it.
35490         (Depends-on): Add ansi-c++-opt.
35491         (Makefile.am): Arrange to compile and run test-glob-c++.
35492
35493         Tests of module 'fcntl-h' in C++ mode.
35494         * tests/test-fcntl-h-c++.cc: New file.
35495         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
35496         (Depends-on): Add ansi-c++-opt.
35497         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
35498         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
35499         gl_MODULE_INDICATOR.
35500
35501         Tests of module 'dirent' in C++ mode.
35502         * tests/test-dirent-c++.cc: New file.
35503         * modules/dirent-tests (Files): Add it and tests/signature.h.
35504         (Depends-on): Add ansi-c++-opt.
35505         (Makefile.am): Arrange to compile and run test-dirent-c++.
35506         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
35507         gl_MODULE_INDICATOR.
35508
35509         New module 'ansi-c++-opt'.
35510         * modules/ansi-c++-opt: New file.
35511         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
35512
35513         Document C++ namespace mode.
35514         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
35515
35516         wctype: Avoid #define replacements in C++ mode.
35517         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
35518         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
35519         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
35520         In C++, define a namespaced alias symbol.
35521         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
35522         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
35523         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
35524         rule.
35525
35526         wchar: Avoid #define replacements in C++ mode.
35527         * lib/wchar.in.h: Include c++defs.h.
35528         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
35529         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
35530         symbol.
35531         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
35532         * modules/wchar (Depends-on): Add c++defs.
35533         (Makefile.am): Update wchar.h rule.
35534
35535         unistd: Avoid #define replacements in C++ mode.
35536         * lib/unistd.in.h: Include c++defs.h.
35537         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
35538         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
35539         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
35540         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
35541         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
35542         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
35543         symbol.
35544         (environ): Update.
35545         * modules/unistd (Depends-on): Add c++defs.
35546         (Makefile.am): Update unistd.h rule.
35547
35548         time: Avoid #define replacements in C++ mode.
35549         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
35550         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
35551         define a namespaced alias symbol.
35552         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
35553         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
35554         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
35555         * modules/time (Depends-on): Add c++defs, warn-on-use.
35556         (Makefile.am): Update time.h rule.
35557         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
35558         * modules/nanosleep (configure.ac): Likewise.
35559         * modules/strptime (configure.ac): Likewise.
35560         * modules/timegm (configure.ac): Likewise.
35561
35562         sys_time: Avoid #define replacements in C++ mode.
35563         * lib/sys_time.in.h: Include c++defs.h.
35564         (gettimeofday): In C++, define a namespaced alias symbol.
35565         * modules/sys_time (Depends-on): Add c++defs.
35566         (Makefile.am): Update sys/time.h rule.
35567
35568         sys_stat: Avoid #define replacements in C++ mode.
35569         * lib/sys_stat.in.h: Include c++defs.h.
35570         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
35571         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
35572         namespaced alias symbol.
35573         In C++, define a namespaced alias symbol.
35574         * modules/sys_stat (Depends-on): Add c++defs.
35575         (Makefile.am): Update sys/stat.h rule.
35576
35577         sys_socket: Avoid #define replacements in C++ mode.
35578         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
35579         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
35580         definitions also when the system has a <sys/socket.h>.
35581         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
35582         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
35583         In C++, define a namespaced alias symbol.
35584         * modules/sys_socket (Depends-on): Add c++defs.
35585         (Makefile.am): Update sys/socket.h rule.
35586
35587         sys_select: Avoid #define replacements in C++ mode.
35588         * lib/sys_select.in.h: Include c++defs.h. Enable the function
35589         definitions also when the system has a <sys/select.h>.
35590         (select): In C++, define a namespaced alias symbol.
35591         * modules/sys_select (Depends-on): Add c++defs.
35592         (Makefile.am): Update sys/select.h rule.
35593
35594         sys_ioctl: Avoid #define replacements in C++ mode.
35595         * lib/sys_ioctl.in.h: Include c++defs.h.
35596         (ioctl): In C++, define a namespaced alias symbol.
35597         * modules/sys_ioctl (Depends-on): Add c++defs.
35598         (Makefile.am): Update sys/ioctl.h rule.
35599
35600         string: Avoid #define replacements in C++ mode.
35601         * lib/string.in.h: Include c++defs.h.
35602         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
35603         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
35604         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
35605         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
35606         strsignal, strverscmp): In C++, define a namespaced alias symbol.
35607         * modules/string (Depends-on): Add c++defs.
35608         (Makefile.am): Update string.h rule.
35609
35610         stdlib: Avoid #define replacements in C++ mode.
35611         * lib/stdlib.in.h: Include c++defs.h.
35612         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
35613         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
35614         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
35615         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
35616         symbol.
35617         * modules/stdlib (Depends-on): Add c++defs.
35618         (Makefile.am): Update stdlib.h rule.
35619
35620         stdio: Avoid #define replacements in C++ mode.
35621         * lib/stdio.in.h: Include c++defs.h.
35622         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
35623         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
35624         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
35625         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
35626         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
35627         namespaced alias symbol.
35628         * modules/stdio (Depends-on): Add c++defs.
35629         (Makefile.am): Update stdio.h rule.
35630
35631         spawn: Avoid #define replacements in C++ mode.
35632         * lib/spawn.in.h: Include c++defs.h.
35633         (posix_spawn, posix_spawnp, posix_spawnattr_init,
35634         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
35635         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
35636         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
35637         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
35638         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
35639         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
35640         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
35641         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
35642         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
35643         In C++, define a namespaced alias symbol.
35644         * modules/spawn (Depends-on): Add c++defs.
35645         (Makefile.am): Update spawn.h rule.
35646
35647         signal: Avoid #define replacements in C++ mode.
35648         * lib/signal.in.h: Include c++defs.h.
35649         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
35650         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
35651         namespaced alias symbol.
35652         * modules/signal (Depends-on): Add c++defs.
35653         (Makefile.am): Update signal.h rule.
35654
35655         search: Avoid #define replacements in C++ mode.
35656         * lib/search.in.h: Include c++defs.h.
35657         (_gl_search_compar_fn, _gl_search_action_fn): New types.
35658         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
35659         symbol.
35660         * modules/search (Depends-on): Add c++defs.
35661         (Makefile.am): Update search.h rule.
35662
35663         math: Avoid #define replacements in C++ mode.
35664         * lib/math.in.h: Include c++defs.h.
35665         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
35666         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
35667         trunc, truncl): In C++, define a namespaced alias symbol.
35668         * modules/math (Depends-on): Add c++defs.
35669         (Makefile.am): Update math.h rule.
35670
35671         locale: Avoid #define replacements in C++ mode.
35672         * lib/locale.in.h: Include c++defs.h.
35673         (duplocale): In C++, define a namespaced alias symbol.
35674         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
35675         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
35676         * modules/locale (Depends-on): Add c++defs.
35677         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
35678
35679         langinfo: Avoid #define replacements in C++ mode.
35680         * lib/langinfo.in.h: Include c++defs.h.
35681         (nl_langinfo): In C++, define a namespaced alias symbol.
35682         * modules/langinfo (Depends-on): Add c++defs.
35683         (Makefile.am): Update langinfo.h rule.
35684
35685         iconv-h: Avoid #define replacements in C++ mode.
35686         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
35687         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
35688         symbol.
35689         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
35690         whenever iconv is present.
35691         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
35692         (Makefile.am): Update iconv.h rule.
35693
35694         glob: Avoid #define replacements in C++ mode.
35695         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
35696         (_gl_glob_errfunc_fn): New type.
35697         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
35698         symbol.
35699         * modules/glob (Depends-on): Add c++defs, warn-on-use.
35700         (Makefile.am): Update glob.h rule.
35701
35702         fcntl-h: Avoid #define replacements in C++ mode.
35703         * lib/fcntl.in.h: Include c++defs.h.
35704         (fcntl, open, openat): In C++, define a namespaced alias symbol.
35705         * modules/fcntl-h (Depends-on): Add c++defs.
35706         (Makefile.am): Update fcntl.h rule.
35707
35708         dirent: Avoid #define replacements in C++ mode.
35709         * lib/dirent.in.h: Include c++defs.h.
35710         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
35711         namespaced alias symbol.
35712         (dirfd): Update declaration.
35713         * modules/dirent (Depends-on): Add c++defs.
35714         (Makefile.am): Update dirent.h rule.
35715
35716         ctype: Make it usable in C++ code.
35717         * lib/ctype.in.h: Include c++defs.h.
35718         (isblank): Declare as extern "C".
35719         * modules/ctype (Depends-on): Add c++defs.
35720         (Makefile.am): Update ctype.h rule.
35721
35722         New module 'c++defs'.
35723         * modules/c++defs: New file.
35724         * build-aux/c++defs.h: New file.
35725         Reported by John W. Eaton <jwe@gnu.org>.
35726
35727 2010-03-07  Bruno Haible  <bruno@clisp.org>
35728
35729         logb: Provide missing declaration for Cygwin.
35730         * lib/math.in.h (logb): New declaration.
35731         * m4/logb.m4: New file.
35732         * modules/logb (Files): Add m4/logb.m4.
35733         (Depends-on): Add math.
35734         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
35735         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
35736         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
35737         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
35738         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
35739
35740 2010-03-07  Bruno Haible  <bruno@clisp.org>
35741
35742         Fix test-cond link error.
35743         * tests/test-cond.c: Include <stdio.h>.
35744
35745 2010-03-07  Bruno Haible  <bruno@clisp.org>
35746
35747         Fix test-dirent-safer link error.
35748         * modules/dirent-safer-tests (Makefile.am): Define
35749         test_dirent_safer_LDADD.
35750
35751 2010-03-07  Bruno Haible  <bruno@clisp.org>
35752
35753         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
35754         among default module list.
35755
35756 2010-03-07  Bruno Haible  <bruno@clisp.org>
35757
35758         Fix link error on platforms with GNU libiconv.
35759         * modules/unistr/u8-strcoll-tests (Makefile): Define
35760         test_u8_strcoll_LDADD.
35761         * modules/unistr/u16-strcoll-tests (Makefile): Define
35762         test_u16_strcoll_LDADD.
35763         * modules/unistr/u32-strcoll-tests (Makefile): Define
35764         test_u32_strcoll_LDADD.
35765
35766 2010-03-07  Bruno Haible  <bruno@clisp.org>
35767
35768         Use POSIX declarations for socket functions.
35769         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
35770         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
35771         rpl_sendto): Change declaration to match POSIX.
35772         * lib/connect.c (rpl_connect): Likewise.
35773         * lib/accept.c (rpl_accept): Likewise.
35774         * lib/bind.c (rpl_bind): Likewise.
35775         * lib/getpeername.c (rpl_getpeername): Likewise.
35776         * lib/getsockname.c (rpl_getsockname): Likewise.
35777         * lib/recv.c (rpl_recv): Likewise.
35778         * lib/send.c (rpl_send): Likewise.
35779         * lib/recvfrom.c (rpl_recvfrom): Likewise.
35780         * lib/sendto.c (rpl_sendto): Likewise.
35781
35782 2010-03-06  Bruno Haible  <bruno@clisp.org>
35783
35784         Clarify access, euidaccess, faccessat.
35785         * doc/posix-functions/faccessat.texi: Mention security problem under
35786         "Other problems", not "Portability problems".
35787         * doc/posix-functions/access.texi: Likewise. Mention a related security
35788         problem.
35789         * doc/glibc-functions/euidaccess.texi: Mention security problems.
35790         * lib/euidaccess.c: Add comments about platforms.
35791         * lib/unistd.in.h (access, euidaccess): Add warnings.
35792
35793 2010-03-07  Bruno Haible  <bruno@clisp.org>
35794
35795         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
35796         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
35797         (POSIX_SPAWN_SETSCHEDULER): Likewise.
35798         (POSIX_SPAWN_USEVFORK): Define in a way that works when
35799         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
35800         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
35801         declare when POSIX_SPAWN_SETSCHEDULER is zero.
35802         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
35803         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
35804         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
35805         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
35806         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
35807         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
35808         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
35809         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
35810         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
35811         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
35812         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
35813         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
35814         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
35815         Likewise.
35816         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
35817         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
35818         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
35819         Likewise.
35820         * tests/test-spawn.c (main): Make it work when
35821         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
35822
35823 2010-03-07  Bruno Haible  <bruno@clisp.org>
35824
35825         Fix incorrect Makefile.am generation in German locale.
35826         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
35827         Execute sed command with character range in C locale.
35828
35829 2010-03-06  Bruno Haible  <bruno@clisp.org>
35830
35831         Tests for module 'iconv-h'.
35832         * modules/iconv-h-tests: New file.
35833         * tests/test-iconv-h.c: New file.
35834
35835         New module 'iconv-h'.
35836         * modules/iconv-h: New file.
35837         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
35838         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
35839         (configure.ac): Remove gl_ICONV_H.
35840         (Makefile.am): Remove rule for iconv.h.
35841
35842 2010-03-06  Bruno Haible  <bruno@clisp.org>
35843
35844         More consistent naming of *.m4 files.
35845         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
35846         * modules/wctype (Files): Update.
35847
35848         More consistent naming of *.m4 files.
35849         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
35850         * modules/wchar (Files): Update.
35851
35852 2010-03-06  Jim Meyering  <meyering@redhat.com>
35853
35854         euidaccess: relax license to LGPLv2+
35855         * modules/euidaccess (License): Relax to LGPLv2+.
35856
35857 2010-03-06  Bruno Haible  <bruno@clisp.org>
35858
35859         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
35860         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
35861         (Makefile.am): Augment lib_SOURCES instead.
35862
35863 2010-03-04  Jim Meyering  <meyering@redhat.com>
35864
35865         utime: remove obsolete module
35866         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
35867         unnecessary for years, and has been marked as obsolete for 10 months.
35868         * modules/utime: Remove file.
35869         * lib/utime.c: Remove file.
35870         * m4/utime.m4: Remove file.
35871         * m4/utimes-null.m4: Remove file.
35872         * doc/posix-functions/utime.texi (utime): Remove reference to
35873         the module.  Move the sole "fixed by gnulib" item into the
35874         "problems not fixed by Gnulib" list.
35875         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
35876
35877 2010-03-05  Simon Josefsson  <simon@josefsson.org>
35878
35879         * modules/exit (License): Relax license to LGPLv2+.
35880         (Status): Mark as obsolete.
35881         * NEWS: Mention deprecated 'exit' module.
35882         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
35883         of now obsolete 'exit'.
35884
35885 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35886
35887         fts-lgpl: remove unused module
35888         * modules/fts-lgpl: Remove.
35889         * MODULES.html.sh (func_all_modules): Adjust.
35890         * check-module (find_included_lib_files): Adjust.
35891         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
35892
35893 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
35894
35895         copy-acl: enhance Solaris ACL error handling
35896         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
35897         * lib/set-mode-acl.c (qset_acl): Likewise.
35898
35899 2010-03-02  Bruno Haible  <bruno@clisp.org>
35900
35901         spawn: Don't override the system defined values on FreeBSD 8.
35902         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
35903         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
35904         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
35905         if HAVE_POSIX_SPAWN is 1.
35906         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
35907
35908 2010-03-01  Bruno Haible  <bruno@clisp.org>
35909
35910         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
35911         regarding Automake.
35912
35913 2010-02-25  Bruno Haible  <bruno@clisp.org>
35914
35915         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
35916         * gnulib-tool: Define 'echo' as a function only before the ksh alias
35917         setting, not afterwards.
35918         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
35919
35920 2010-02-24  Eric Blake  <eblake@redhat.com>
35921
35922         bootstrap, git-version-gen: use timestamp
35923         * build-aux/git-version-gen (scriptversion): Force UTC.
35924         * build-aux/bootstrap (scriptversion): New variable.
35925
35926         bootstrap: allow older git
35927         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
35928         older than 1.6.4.  Requested by the libvirt project.
35929
35930 2010-02-23  Eric Blake  <eblake@redhat.com>
35931
35932         warn-on-use: work with old autoconf
35933         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
35934         AS_VAR semantics of autoconf 2.60.
35935         Reported by Bruno Haible.
35936
35937         bootstrap: improve some comments
35938         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
35939         clarification comments.
35940
35941         gettimeofday: provide correct function
35942         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
35943         when replacement is declared, otherwise provide gettimeofday.
35944         Reported by Michael Goffioul.
35945
35946 2010-02-23  Jim Meyering  <meyering@redhat.com>
35947
35948         lib-ignore: relax license to "unlimited", not LGPLv2+
35949         * modules/lib-ignore (License): Relax to "unlimited".
35950
35951 2010-02-23  Jim Meyering  <meyering@redhat.com>
35952
35953         lib-ignore: relax license to LGPLv2+
35954         * modules/lib-ignore (License): Relax to LGPLv2+.
35955
35956 2010-02-22  Eric Blake  <eblake@redhat.com>
35957
35958         lseek: avoid bash 3.2 broken pipe bug
35959         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
35960         warning from bash 3.2.
35961         Reported by Ben Pfaff, with analysis from Bruno Haible.
35962
35963         bootstrap: support non-FSF copyright holder
35964         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
35965         bootstrap.conf override of COPYRIGHT_HOLDER.
35966         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
35967
35968         bootstrap: interoperate with gettext 0.14.1
35969         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
35970
35971         bootstrap: allow for alternate submodule location
35972         * build-aux/bootstrap (gnulib_path): New variable; use instead of
35973         hardcoding submodule location.
35974         (gnulib_mk): Allow direct use of Makefile.am.
35975
35976         bootstrap: use GNULIB_SRCDIR to reduce disk usage
35977         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
35978         rather than reconfiguring where the submodule points.
35979
35980         gettimeofday: restore support for platforms that lack function
35981         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
35982         replacement if function is missing.
35983         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
35984         * modules/sys_time (Makefile.am): Substitute it.
35985         * lib/sys_time.in.h (gettimeofday): Check it.
35986         Reported by Michael Goffioul.
35987
35988 2010-02-21  Bruno Haible  <bruno@clisp.org>
35989
35990         * lib/stdio.in.h (obstack_printf): Fix typo.
35991
35992 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
35993
35994         vc-list-files: use bzr ls's -R option
35995         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
35996         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
35997
35998 2010-02-21  Jim Meyering  <meyering@redhat.com>
35999
36000         init.sh: fix EXEEXT shims to work also for names like test-prog
36001         * tests/init.sh: Re-exec a better shell, when needed.
36002         If the current shell lacks support for posix $(...), an init.sh-using
36003         test will now try to find a shell that supports that.  If EXEEXT is
36004         nonempty, we also require support for hyphen-in-alias-name and shell
36005         substitutions like ${var#glob}.  Failure to find such a shell results
36006         in a skipped test.
36007
36008 2010-02-21  Bruno Haible  <bruno@clisp.org>
36009
36010         Really work around around "broken pipe" error message from bash 3.2.
36011         * gnulib-tool (func_reset_sigpipe): Remove function.
36012         (echo): In bash 3.2, define to a function that uses printf.
36013         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
36014
36015 2010-02-20  Bruno Haible  <bruno@clisp.org>
36016
36017         Restore support for automake 1.9.6 with autoconf 2.61.
36018         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
36019         Reported by James Youngman <jay@gnu.org>.
36020
36021 2010-02-20  Bruno Haible  <bruno@clisp.org>
36022
36023         Improve *printf warning condition.
36024         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
36025         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
36026         and the function is overridden due to SIGPIPE emulation.
36027
36028 2010-02-20  Bruno Haible  <bruno@clisp.org>
36029
36030         * lib/stdio.in.h: Tweak comments.
36031
36032 2010-02-19  Bruno Haible  <bruno@clisp.org>
36033
36034         Make it easier to find modules. New gnulib-tool option '--find'.
36035         * gnulib-tool: New option --find.
36036         (func_usage): Document it.
36037         (func_sanitize_modulelist): New function, extracted from
36038         func_all_modules.
36039         (func_all_modules): Invoke it.
36040         * doc/gnulib-tool.texi (Which modules?): New node.
36041
36042 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
36043
36044         * lib/sys_select.in.h: Provide select replacement even if
36045         sys/select.h exists on a system, for Interix.
36046
36047 2010-02-18  Jim Meyering  <meyering@redhat.com>
36048
36049         init.sh: don't use $(...) just yet
36050         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
36051         to accommodate e.g., Solaris' /bin/sh.
36052
36053 2010-02-17  Bruno Haible  <bruno@clisp.org>
36054
36055         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
36056         Reported by Ludovic Courtès <ludo@gnu.org>.
36057
36058 2010-02-16  Simon Josefsson  <simon@josefsson.org>
36059
36060         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
36061         linking with -lintl.
36062
36063 2010-02-17  Simon Josefsson  <simon@josefsson.org>
36064
36065         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
36066         if not provided by the system's netdb.h.  Reported by
36067         ludo@gnu.org (Ludovic Courtès).
36068
36069 2010-02-15  Jim Meyering  <meyering@redhat.com>
36070
36071         init.sh: improve portability and efficiency
36072         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
36073         "dummy" in a for loop.
36074         Use '!', not '^' to select the complement of a character set used
36075         in a "case" statement.
36076         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
36077         Suggestions from Eric Blake.
36078
36079         init.sh: automatically accommodate programs with the .exe suffix
36080         Automatically arrange for an invocation of "prog" to execute the
36081         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
36082         may use the simpler "prog", yet still work when built on a system
36083         that requires specifying the added suffix.
36084         Do this by constructing a function named "prog" that invokes
36085         "prog.exe" for each .exe file in selected directories.
36086         * tests/init.sh (find_exe_basenames_): New function.
36087         (create_exe_shim_functions_): New function.
36088         (path_prepend_): Use it.
36089
36090         maint.mk: mark syntax-check sc_*.m rules as .PHONY
36091         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
36092         "make -t syntax-check" doesn't create a ton of sc_*.m files.
36093
36094 2010-02-14  Jim Meyering  <meyering@redhat.com>
36095
36096         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
36097         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
36098         (sc_prohibit_hash_pjw_without_use): New rule.
36099
36100         maint.mk: allow the default upload destination dir to be overridden
36101         * top/maint.mk (upload_dest_dir_): Define with a default that
36102         preserves the status quo.
36103         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
36104         Reported by Peter Simons.
36105
36106         maint.mk: prohibit inclusion of "hash.h" without_use
36107         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
36108
36109 2010-02-10  Jim Meyering  <meyering@redhat.com>
36110
36111         maint.mk: prohibit inclusion of "ignore-value.h" without_use
36112         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
36113
36114 2010-02-09  Eric Blake  <ebb9@byu.net>
36115         and Bruno Haible  <bruno@clisp.org>
36116
36117         obstack-printf-posix: ensure declaration
36118         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
36119         extracted from gl_FUNC_OBSTACK_PRINTF.
36120         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
36121         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
36122         Likewise.
36123         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
36124         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
36125         0.
36126
36127 2010-02-08  Bruno Haible  <bruno@clisp.org>
36128
36129         gnulib-tool: Fix typo in 2010-02-07 commit.
36130         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
36131         Reported by Eric Blake.
36132
36133 2010-02-07  Bruno Haible  <bruno@clisp.org>
36134
36135         gnulib-tool: Fix up caching patches.
36136         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
36137         option --no-cache. Use associative arrays when supported by the shell.
36138         (sed_comments): New variable.
36139         (modcache): Renamed from do_cache.
36140         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
36141         abbreviate unnecessarily.
36142         (have_associative): New variable.
36143         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
36144         way also for ksh and zsh.
36145         (func_init_sed_convert_to_cache_statements): New function, extracted
36146         from func_cache_lookup_module. Add support for associative arrays.
36147         Don't set the c_MODULE_cached variable here. Ignore all lines before
36148         the first field header. Remove only the final newline, not all trailing
36149         newlines. Support empty fields correctly. Limit the use of 'eval' to
36150         assignments.
36151         (func_get_description, func_get_status, func_get_notice,
36152         func_get_applicability, func_get_filelist, func_get_dependencies,
36153         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
36154         func_get_automake_snippet, func_get_include_directive,
36155         func_get_link_directive, func_get_license, func_get_maintainer):
36156         Update documentation. List the unoptimized code first. Add support for
36157         associative arrays. Limit the use of 'eval' to assignments.
36158         (func_get_applicability): Undo stylistic pessimisations.
36159         (func_get_automake_snippet, func_get_include_directive): Reduce code
36160         duplication.
36161         (func_modules_transitive_closure, func_modules_add_dummy,
36162         func_modules_notice, func_modules_to_filelist, func_add_file,
36163         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
36164         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
36165         func_create_testdir, func_create_megatestdir): Update documentation.
36166
36167 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36168
36169         * gnulib-tool (func_cache_lookup_module): Store the module name
36170         belonging to the cache variable; error out if two different
36171         module names map to the same cache variable name.
36172
36173 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36174
36175         gnulib-tool: Make caching optional.
36176         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
36177         Update matching short versions of --no-changelog.
36178         (func_usage): Update.
36179         (sed_extract_cache_prog): Renamed from ...
36180         (sed_extract_prog): ... this; revert to old extraction script.
36181         (func_get_description, func_get_status)
36182         (func_get_notice, func_get_applicability, func_get_filelist)
36183         (func_get_dependencies, func_get_autoconf_early_snippet)
36184         (func_get_autoconf_snippet, func_get_automake_snippet)
36185         (func_get_include_directive, func_get_link_directive)
36186         (func_get_license, func_get_maintainer): If $do_cache is false,
36187         use old, non-caching extraction scripts.
36188         Suggestion by Bruno Haible.
36189
36190 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36191
36192         gnulib-tool: cache module metainformation.
36193         * gnulib-tool (sed_extract_prog): Match newline before each
36194         header, and rewrite header to a shell variable suffix.
36195         (func_cache_var, func_cache_lookup_module): New functions,
36196         to turn a module name into a cache variable prefix, and to
36197         look up and cache module metainformation.
36198         (func_get_description, func_get_status)
36199         (func_get_notice, func_get_applicability, func_get_filelist)
36200         (func_get_dependencies, func_get_autoconf_early_snippet)
36201         (func_get_autoconf_snippet, func_get_automake_snippet)
36202         (func_get_include_directive, func_get_link_directive)
36203         (func_get_license, func_get_maintainer): Use
36204         func_cache_lookup_module.
36205
36206 2010-02-07  Bruno Haible  <bruno@clisp.org>
36207
36208         fnctl: Fix missing dependency.
36209         * modules/fcntl (Depends-on): Add getdtablesize.
36210         Reported by John W. Eaton <jwe@gnu.org>.
36211
36212 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
36213
36214         Argp: fix recognition of short alias options.
36215
36216         * lib/argp-parse.c (convert_options): Fix improper use of
36217         `|' between character values.
36218         * tests/test-argp.c (group1_option): New alias option
36219         --read (-r).
36220         (group1_parser): Special handling for 'r'.
36221         (test15): New test case.
36222         (test_fun): Add test15.
36223         * tests/test-argp-2.sh: Update expected --help and --usage
36224         outputs.
36225
36226 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
36227
36228         * tests/test-argp.c: Fix indentation.
36229
36230 2010-02-04  Eric Blake  <ebb9@byu.net>
36231
36232         gettimeofday: expose type of second argument
36233         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
36234         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
36235         * tests/test-gettimeofday.c: Use it to silence warning.
36236         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
36237         the issue.
36238
36239 2010-02-03  Jim Meyering  <meyering@redhat.com>
36240
36241         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
36242         * lib/regcomp.c (TYPE_SIGNED): Define.
36243         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
36244
36245         regcomp.c: avoid a new -Wshadow warning
36246         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
36247
36248 2010-02-01  Jim Meyering  <meyering@redhat.com>
36249
36250         removing useless parentheses in cpp #define directives
36251         For motivation, see commit c0221df4, "define STREQ(a,b)
36252         consistently, removing useless parentheses"
36253         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
36254         * lib/mountlist.c (MNT_IGNORE): Likewise.
36255         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
36256
36257 2010-02-01  Eric Blake  <ebb9@byu.net>
36258
36259         sys_time: use link-warning
36260         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
36261         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
36262         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
36263         * modules/sys_time (Depends-on): Add warn-on-use.
36264         (Makefile.am): Always build replacement.
36265         (configure.ac): Update substitutions.
36266         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
36267         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
36268         bother with SYS_TIME_H.
36269         * modules/gettimeofday (configure.ac): Declare indicator.
36270         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
36271         in use.
36272
36273         closein-tests: silence compiler warning
36274         * tests/test-closein.c (main): Ignore fread result.
36275         * modules/closein-tests (Depends-on): Add ignore-value.
36276
36277         tests: silence warning about system return
36278         * tests/test-areadlink-with-size.c (main): Ignore system result.
36279         * tests/test-areadlink.c (main): Likewise.
36280         * tests/test-areadlinkat-with-size.c (main): Likewise.
36281         * tests/test-areadlinkat.c (main): Likewise.
36282         * tests/test-canonicalize-lgpl.c (main): Likewise.
36283         * tests/test-canonicalize.c (main): Likewise.
36284         * tests/test-chown.c (main): Likewise.
36285         * tests/test-fchownat.c (main): Likewise.
36286         * tests/test-fdutimensat.c (main): Likewise.
36287         * tests/test-fstatat.c (main): Likewise.
36288         * tests/test-futimens.c (main): Likewise.
36289         * tests/test-lchown.c (main): Likewise.
36290         * tests/test-link.c (main): Likewise.
36291         * tests/test-linkat.c (main): Likewise.
36292         * tests/test-lstat.c (main): Likewise.
36293         * tests/test-mkdir.c (main): Likewise.
36294         * tests/test-mkdirat.c (main): Likewise.
36295         * tests/test-mkfifo.c (main): Likewise.
36296         * tests/test-mkfifoat.c (main): Likewise.
36297         * tests/test-mknod.c (main): Likewise.
36298         * tests/test-readlink.c (main): Likewise.
36299         * tests/test-remove.c (main): Likewise.
36300         * tests/test-rename.c (main): Likewise.
36301         * tests/test-renameat.c (main): Likewise.
36302         * tests/test-rmdir.c (main): Likewise.
36303         * tests/test-symlink.c (main): Likewise.
36304         * tests/test-symlinkat.c (main): Likewise.
36305         * tests/test-unlink.c (main): Likewise.
36306         * tests/test-unlinkat.c (main): Likewise.
36307         * tests/test-utimens.c (main): Likewise.
36308         * tests/test-utimensat.c (main): Likewise.
36309         * modules/areadlink-tests (Depends-on): Add ignore-value.
36310         * modules/areadlink-with-size-tests (Depends-on): Likewise.
36311         * modules/areadlinkat-tests (Depends-on): Likewise.
36312         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
36313         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
36314         * modules/canonicalize-tests (Depends-on): Likewise.
36315         * modules/chown-tests (Depends-on): Likewise.
36316         * modules/fdutimensat-tests (Depends-on): Likewise.
36317         * modules/futimens-tests (Depends-on): Likewise.
36318         * modules/lchown-tests (Depends-on): Likewise.
36319         * modules/link-tests (Depends-on): Likewise.
36320         * modules/linkat-tests (Depends-on): Likewise.
36321         * modules/lstat-tests (Depends-on): Likewise.
36322         * modules/mkdir-tests (Depends-on): Likewise.
36323         * modules/mkfifo-tests (Depends-on): Likewise.
36324         * modules/mkfifoat-tests (Depends-on): Likewise.
36325         * modules/mknod-tests (Depends-on): Likewise.
36326         * modules/openat-tests (Depends-on): Likewise.
36327         * modules/readlink-tests (Depends-on): Likewise.
36328         * modules/remove-tests (Depends-on): Likewise.
36329         * modules/rename-tests (Depends-on): Likewise.
36330         * modules/renameat-tests (Depends-on): Likewise.
36331         * modules/rmdir-tests (Depends-on): Likewise.
36332         * modules/symlink-tests (Depends-on): Likewise.
36333         * modules/symlinkat-tests (Depends-on): Likewise.
36334         * modules/unlink-tests (Depends-on): Likewise.
36335         * modules/utimens-tests (Depends-on): Likewise.
36336         * modules/utimensat-tests (Depends-on): Likewise.
36337
36338 2010-01-31  Bruno Haible  <bruno@clisp.org>
36339
36340         Perform the same test for many <math.h> functions.
36341         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
36342         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
36343         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
36344         of gl_MATHFUNC.
36345         * modules/acos (configure.ac): Likewise.
36346         * modules/asin (configure.ac): Likewise.
36347         * modules/atan (configure.ac): Likewise.
36348         * modules/atan2 (configure.ac): Likewise.
36349         * modules/cbrt (configure.ac): Likewise.
36350         * modules/copysign (configure.ac): Likewise.
36351         * modules/cos (configure.ac): Likewise.
36352         * modules/cosh (configure.ac): Likewise.
36353         * modules/erf (configure.ac): Likewise.
36354         * modules/erfc (configure.ac): Likewise.
36355         * modules/exp (configure.ac): Likewise.
36356         * modules/fmod (configure.ac): Likewise.
36357         * modules/hypot (configure.ac): Likewise.
36358         * modules/j0 (configure.ac): Likewise.
36359         * modules/j1 (configure.ac): Likewise.
36360         * modules/jn (configure.ac): Likewise.
36361         * modules/lgamma (configure.ac): Likewise.
36362         * modules/log (configure.ac): Likewise.
36363         * modules/log10 (configure.ac): Likewise.
36364         * modules/log1p (configure.ac): Likewise.
36365         * modules/pow (configure.ac): Likewise.
36366         * modules/remainder (configure.ac): Likewise.
36367         * modules/sin (configure.ac): Likewise.
36368         * modules/sinh (configure.ac): Likewise.
36369         * modules/tan (configure.ac): Likewise.
36370         * modules/tanh (configure.ac): Likewise.
36371         * modules/y0 (configure.ac): Likewise.
36372         * modules/y1 (configure.ac): Likewise.
36373         * modules/yn (configure.ac): Likewise.
36374         Suggested by Paolo Bonzini.
36375
36376 2010-01-31  Bruno Haible  <bruno@clisp.org>
36377
36378         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
36379
36380 2010-01-31  Bruno Haible  <bruno@clisp.org>
36381
36382         Work around getdelim() bug on FreeBSD 8.0.
36383         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
36384         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
36385         not work.
36386         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
36387         is 1.
36388         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
36389         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
36390         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
36391         a non-zero size.
36392         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
36393
36394 2010-01-31  Bruno Haible  <bruno@clisp.org>
36395
36396         Work around getline() bug on FreeBSD 8.0.
36397         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
36398         and a non-zero size.
36399         * tests/test-getline.c (main): Likewise.
36400         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
36401         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
36402
36403 2010-01-28  Eric Blake  <ebb9@byu.net>
36404
36405         regex: fix build failure
36406         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
36407         platforms.
36408
36409 2010-01-28  Jim Meyering  <meyering@redhat.com>
36410
36411         regex: do not ignore memory allocation failure
36412         * lib/regex_internal.c (create_cd_newstate): Detect
36413         re_node_set_init_copy failure.   Extracted from glibc commit
36414         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
36415
36416         regex: sync more white-space changes from libc
36417         * lib/regex_internal.c: White-space only changes.
36418         * lib/regexec.c: Likewise.
36419
36420         regex: add many uses of __attribute_warn_unused_result__
36421         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
36422         * lib/regexec.c: Likewise.
36423         Extracted from a messy glibc commit.
36424
36425         regcomp.c: spelling and merge-artifact from glibc
36426         * lib/regcomp.c: Merge remainder of glibc's
36427         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
36428
36429         regcomp.c: sync white-space changes from glibc
36430         * lib/regcomp.c: Merge to accommodate white space
36431         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
36432
36433         regcomp.c: do not ignore internal return values
36434         * lib/regcomp.c: Do not ignore internal return values.
36435         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
36436         but without its white-space changes and spelling fixes.
36437
36438         regex_internal.h: define __attribute_warn_unused_result__
36439         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
36440
36441         maint: add a syntax-check rule to check for vulnerable Makefile.in
36442         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
36443
36444 2010-01-27  Jim Meyering  <meyering@redhat.com>
36445
36446         ncftpput-ftp: clean up spaces
36447         * build-aux/ncftpput-ftp: Make Copyright line consistent.
36448         Remove trailing blanks.
36449
36450 2010-01-27  Simon Josefsson  <simon@josefsson.org>
36451
36452         * build-aux/git-version-gen: Fix copyright statement.
36453         * build-aux/gnupload: Likewise.
36454         * tests/test-arcfour.c: Likewise.
36455         * tests/test-arctwo.c: Likewise.
36456         * tests/test-count-one-bits.c: Likewise.
36457         * tests/test-crc.c: Likewise.
36458         * tests/test-des.c: Likewise.
36459         * tests/test-gc-arcfour.c: Likewise.
36460         * tests/test-gc-arctwo.c: Likewise.
36461         * tests/test-gc-des.c: Likewise.
36462         * tests/test-gc-hmac-md5.c: Likewise.
36463         * tests/test-gc-hmac-sha1.c: Likewise.
36464         * tests/test-gc-md2.c: Likewise.
36465         * tests/test-gc-md4.c: Likewise.
36466         * tests/test-gc-md5.c: Likewise.
36467         * tests/test-gc-pbkdf2-sha1.c: Likewise.
36468         * tests/test-gc-rijndael.c: Likewise.
36469         * tests/test-gc-sha1.c: Likewise.
36470         * tests/test-gc.c: Likewise.
36471         * tests/test-gethostname.c: Likewise.
36472         * tests/test-gettimeofday.c: Likewise.
36473         * tests/test-hash.c: Likewise.
36474         * tests/test-hmac-md5.c: Likewise.
36475         * tests/test-hmac-sha1.c: Likewise.
36476         * tests/test-md2.c: Likewise.
36477         * tests/test-md4.c: Likewise.
36478         * tests/test-md5.c: Likewise.
36479         * tests/test-memchr.c: Likewise.
36480         * tests/test-memchr2.c: Likewise.
36481         * tests/test-memcmp.c: Likewise.
36482         * tests/test-memmem.c: Likewise.
36483         * tests/test-memrchr.c: Likewise.
36484         * tests/test-rawmemchr.c: Likewise.
36485         * tests/test-read-file.c: Likewise.
36486         * tests/test-rijndael.c: Likewise.
36487         * tests/test-sockets.c: Likewise.
36488         * tests/test-strchrnul.c: Likewise.
36489         * tests/test-strstr.c: Likewise.
36490         * tests/test-strtod.c: Likewise.
36491         * build-aux/ncftpput-ftp: Likewise.
36492
36493 2010-01-26  Eric Blake  <ebb9@byu.net>
36494
36495         ignore-value: update recommended header name
36496         * modules/ignore-value (Include): Only use <> for headers that
36497         exist in glibc.
36498
36499 2010-01-26  Jim Meyering  <meyering@redhat.com>
36500
36501         test-userspec.c: avoid compiler warnings
36502         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
36503         and "initialization discards qualifiers..." warnings.
36504         Put the first "uid" in its own scope, and make char* members "const".
36505
36506 2010-01-25  Bruno Haible  <bruno@clisp.org>
36507
36508         gnulib-tool: Make warning diagnostics consistent.
36509         * gnulib-tool (func_warning): New function.
36510         Use it everywhere where gnulib-tool produces output to stderr and it is
36511         not a fatal error.
36512
36513 2010-01-25  Bruno Haible  <bruno@clisp.org>
36514
36515         Fix test dependencies.
36516         * modules/xstrtol-tests (Depends-on): Add inttypes.
36517         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
36518
36519 2010-01-25 Pádraig Brady <P@draigBrady.com>
36520
36521         syntax-check: detect incorrect boolean macro values in config.h
36522         * modules/maintainer-makefile (configure.ac): Parameterize the location
36523         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
36524         The logic is from Eric Blake and the location indicated by Jim Meyering.
36525         Note the more natural CONFIG_HEADER name is prohibited by automake
36526         for backwards compatibility reasons.
36527         * top/maint.mk (sc_Wundef_boolean): New rule.
36528
36529 2010-01-25  Jim Meyering  <meyering@redhat.com>
36530
36531         bootstrap: detect MacOS 10.6's shasum, too
36532         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
36533         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
36534
36535 2010-01-23  Jim Meyering  <meyering@redhat.com>
36536
36537         xstrtoll: new module
36538         * modules/xstrtoll: New file.
36539         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
36540         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
36541         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
36542         ./configure fails if you use this module and lack "long long".
36543         * modules/xstrtoll-tests: New module.
36544         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
36545         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
36546         new init.sh-based test framework.
36547
36548 2010-01-24  Bruno Haible  <bruno@clisp.org>
36549
36550         Tests for module 'yn'.
36551         * modules/yn-tests: New file.
36552         * tests/test-yn.c: New file.
36553
36554         Tests for module 'y1'.
36555         * modules/y1-tests: New file.
36556         * tests/test-y1.c: New file.
36557
36558         Tests for module 'y0'.
36559         * modules/y0-tests: New file.
36560         * tests/test-y0.c: New file.
36561
36562         Tests for module 'tanh'.
36563         * modules/tanh-tests: New file.
36564         * tests/test-tanh.c: New file.
36565
36566         Tests for module 'tan'.
36567         * modules/tan-tests: New file.
36568         * tests/test-tan.c: New file.
36569
36570         Tests for module 'sqrt'.
36571         * modules/sqrt-tests: New file.
36572         * tests/test-sqrt.c: New file.
36573
36574         Tests for module 'sinh'.
36575         * modules/sinh-tests: New file.
36576         * tests/test-sinh.c: New file.
36577
36578         Tests for module 'sin'.
36579         * modules/sin-tests: New file.
36580         * tests/test-sin.c: New file.
36581
36582         Tests for module 'rint'.
36583         * modules/rint-tests: New file.
36584         * tests/test-rint.c: New file.
36585
36586         Tests for module 'remainder'.
36587         * modules/remainder-tests: New file.
36588         * tests/test-remainder.c: New file.
36589
36590         Tests for module 'pow'.
36591         * modules/pow-tests: New file.
36592         * tests/test-pow.c: New file.
36593
36594         Tests for module 'nextafter'.
36595         * modules/nextafter-tests: New file.
36596         * tests/test-nextafter.c: New file.
36597
36598         Tests for module 'modf'.
36599         * modules/modf-tests: New file.
36600         * tests/test-modf.c: New file.
36601
36602         Tests for module 'logb'.
36603         * modules/logb-tests: New file.
36604         * tests/test-logb.c: New file.
36605
36606         Tests for module 'log1p'.
36607         * modules/log1p-tests: New file.
36608         * tests/test-log1p.c: New file.
36609
36610         Tests for module 'log10'.
36611         * modules/log10-tests: New file.
36612         * tests/test-log10.c: New file.
36613
36614         Tests for module 'log'.
36615         * modules/log-tests: New file.
36616         * tests/test-log.c: New file.
36617
36618         Tests for module 'lgamma'.
36619         * modules/lgamma-tests: New file.
36620         * tests/test-lgamma.c: New file.
36621
36622         Tests for module 'ldexp'.
36623         * modules/ldexp-tests: New file.
36624         * tests/test-ldexp.c: New file.
36625
36626         Tests for module 'jn'.
36627         * modules/jn-tests: New file.
36628         * tests/test-jn.c: New file.
36629
36630         Tests for module 'j1'.
36631         * modules/j1-tests: New file.
36632         * tests/test-j1.c: New file.
36633
36634         Tests for module 'j0'.
36635         * modules/j0-tests: New file.
36636         * tests/test-j0.c: New file.
36637
36638         Tests for module 'hypot'.
36639         * modules/hypot-tests: New file.
36640         * tests/test-hypot.c: New file.
36641
36642         Tests for module 'fmod'.
36643         * modules/fmod-tests: New file.
36644         * tests/test-fmod.c: New file.
36645
36646         Tests for module 'fabs'.
36647         * modules/fabs-tests: New file.
36648         * tests/test-fabs.c: New file.
36649
36650         Tests for module 'exp'.
36651         * modules/exp-tests: New file.
36652         * tests/test-exp.c: New file.
36653
36654         Tests for module 'erfc'.
36655         * modules/erfc-tests: New file.
36656         * tests/test-erfc.c: New file.
36657
36658         Tests for module 'erf'.
36659         * modules/erf-tests: New file.
36660         * tests/test-erf.c: New file.
36661
36662         Tests for module 'cosh'.
36663         * modules/cosh-tests: New file.
36664         * tests/test-cosh.c: New file.
36665
36666         Tests for module 'cos'.
36667         * modules/cos-tests: New file.
36668         * tests/test-cos.c: New file.
36669
36670         Tests for module 'copysign'.
36671         * modules/copysign-tests: New file.
36672         * tests/test-copysign.c: New file.
36673
36674         Tests for module 'cbrt'.
36675         * modules/cbrt-tests: New file.
36676         * tests/test-cbrt.c: New file.
36677
36678         Tests for module 'atan2'.
36679         * modules/atan2-tests: New file.
36680         * tests/test-atan2.c: New file.
36681
36682         Tests for module 'atan'.
36683         * modules/atan-tests: New file.
36684         * tests/test-atan.c: New file.
36685
36686         Tests for module 'asin'.
36687         * modules/asin-tests: New file.
36688         * tests/test-asin.c: New file.
36689
36690         Tests for module 'acos'.
36691         * modules/acos-tests: New file.
36692         * tests/test-acos.c: New file.
36693
36694 2010-01-24  Bruno Haible  <bruno@clisp.org>
36695
36696         Fix tests for common <math.h> functions.
36697         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
36698         code snippet that references the function pointer, rather than merely
36699         calling the function. Substitute the FUNC_LIBM variable.
36700         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
36701         * modules/acos (configure.ac): Likewise.
36702         * modules/asin (configure.ac): Likewise.
36703         * modules/atan (configure.ac): Likewise.
36704         * modules/atan2 (configure.ac): Likewise.
36705         * modules/cbrt (configure.ac): Likewise.
36706         * modules/copysign (configure.ac): Likewise.
36707         * modules/cos (configure.ac): Likewise.
36708         * modules/cosh (configure.ac): Likewise.
36709         * modules/erf (configure.ac): Likewise.
36710         * modules/erfc (configure.ac): Likewise.
36711         * modules/exp (configure.ac): Likewise.
36712         * modules/fabs (configure.ac): Likewise.
36713         * modules/fmod (configure.ac): Likewise.
36714         * modules/hypot (configure.ac): Likewise.
36715         * modules/j0 (configure.ac): Likewise.
36716         * modules/j1 (configure.ac): Likewise.
36717         * modules/jn (configure.ac): Likewise.
36718         * modules/ldexp (configure.ac): Likewise.
36719         * modules/lgamma (configure.ac): Likewise.
36720         * modules/log (configure.ac): Likewise.
36721         * modules/log10 (configure.ac): Likewise.
36722         * modules/log1p (configure.ac): Likewise.
36723         * modules/logb (configure.ac): Likewise.
36724         * modules/modf (configure.ac): Likewise.
36725         * modules/nextafter (configure.ac): Likewise.
36726         * modules/pow (configure.ac): Likewise.
36727         * modules/remainder (configure.ac): Likewise.
36728         * modules/rint (configure.ac): Likewise.
36729         * modules/sin (configure.ac): Likewise.
36730         * modules/sinh (configure.ac): Likewise.
36731         * modules/tan (configure.ac): Likewise.
36732         * modules/tanh (configure.ac): Likewise.
36733         * modules/y0 (configure.ac): Likewise.
36734         * modules/y1 (configure.ac): Likewise.
36735         * modules/yn (configure.ac): Likewise.
36736
36737 2010-01-24  Bruno Haible  <bruno@clisp.org>
36738
36739         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
36740         * tests/test-acosl.c (x): New variable.
36741         (main): Store argument in x and fetch it from x.
36742         * tests/test-asinl.c (x): New variable.
36743         (main): Store argument in x and fetch it from x.
36744         * tests/test-atanl.c (x): New variable.
36745         (main): Store argument in x and fetch it from x.
36746         * tests/test-cosl.c (x): New variable.
36747         (main): Store argument in x and fetch it from x.
36748         * tests/test-expl.c (x): New variable.
36749         (main): Store argument in x and fetch it from x.
36750         * tests/test-logl.c (x): New variable.
36751         (main): Store argument in x and fetch it from x.
36752         * tests/test-sinl.c (x): New variable.
36753         (main): Store argument in x and fetch it from x.
36754         * tests/test-sqrtl.c (x): New variable.
36755         (main): Store argument in x and fetch it from x.
36756         * tests/test-tanl.c (x): New variable.
36757         (main): Store argument in x and fetch it from x.
36758
36759 2010-01-24  Bruno Haible  <bruno@clisp.org>
36760
36761         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
36762         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
36763         assignments to the initial TESTS_ENVIRONMENT.
36764         * doc/gnulib.texi (Unit test modules): Document it.
36765         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
36766         TESTS_ENVIRONMENT.
36767         * modules/btowc-tests (Makefile.am): Likewise.
36768         * modules/c-stack-tests (Makefile.am): Likewise.
36769         * modules/c-strcase-tests (Makefile.am): Likewise.
36770         * modules/copy-file-tests (Makefile.am): Likewise.
36771         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
36772         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
36773         * modules/mbrtowc-tests (Makefile.am): Likewise.
36774         * modules/mbscasecmp-tests (Makefile.am): Likewise.
36775         * modules/mbscasestr-tests (Makefile.am): Likewise.
36776         * modules/mbschr-tests (Makefile.am): Likewise.
36777         * modules/mbscspn-tests (Makefile.am): Likewise.
36778         * modules/mbsinit-tests (Makefile.am): Likewise.
36779         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
36780         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
36781         * modules/mbspbrk-tests (Makefile.am): Likewise.
36782         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
36783         * modules/mbsrchr-tests (Makefile.am): Likewise.
36784         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
36785         * modules/mbsspn-tests (Makefile.am): Likewise.
36786         * modules/mbsstr-tests (Makefile.am): Likewise.
36787         * modules/nl_langinfo-tests (Makefile.am): Likewise.
36788         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
36789         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
36790         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
36791         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
36792         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
36793         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
36794         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
36795         * modules/wcrtomb-tests (Makefile.am): Likewise.
36796         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
36797         * modules/wcsrtombs-tests (Makefile.am): Likewise.
36798         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
36799         assignments from TESTS_ENVIRONMENT.
36800         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
36801         augmentation.
36802         * modules/argp-version-etc-tests (Makefile.am): Likewise.
36803         * modules/atexit-tests (Makefile.am): Likewise.
36804         * modules/binary-io-tests (Makefile.am): Likewise.
36805         * modules/closein-tests (Makefile.am): Likewise.
36806         * modules/dprintf-posix-tests (Makefile.am): Likewise.
36807         * modules/exclude-tests (Makefile.am): Likewise.
36808         * modules/fflush-tests (Makefile.am): Likewise.
36809         * modules/fpending-tests (Makefile.am): Likewise.
36810         * modules/fprintf-posix-tests (Makefile.am): Likewise.
36811         * modules/freadahead-tests (Makefile.am): Likewise.
36812         * modules/freadptr-tests (Makefile.am): Likewise.
36813         * modules/freadseek-tests (Makefile.am): Likewise.
36814         * modules/fseek-tests (Makefile.am): Likewise.
36815         * modules/fseeko-tests (Makefile.am): Likewise.
36816         * modules/ftell-tests (Makefile.am): Likewise.
36817         * modules/ftello-tests (Makefile.am): Likewise.
36818         * modules/idpriv-drop-tests (Makefile.am): Likewise.
36819         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
36820         * modules/lseek-tests (Makefile.am): Likewise.
36821         * modules/parse-duration-tests (Makefile.am): Likewise.
36822         * modules/perror-tests (Makefile.am): Likewise.
36823         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
36824         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
36825         * modules/pipe-tests (Makefile.am): Likewise.
36826         * modules/pread-tests (Makefile.am): Likewise.
36827         * modules/printf-posix-tests (Makefile.am): Likewise.
36828         * modules/select-tests (Makefile.am): Likewise.
36829         * modules/sigpipe-tests (Makefile.am): Likewise.
36830         * modules/tsearch-tests (Makefile.am): Likewise.
36831         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
36832         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
36833         * modules/uniname/uniname-tests (Makefile.am): Likewise.
36834         * modules/uniwidth/width-tests (Makefile.am): Likewise.
36835         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
36836         * modules/version-etc-tests (Makefile.am): Likewise.
36837         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
36838         * modules/vprintf-posix-tests (Makefile.am): Likewise.
36839         * modules/xalloc-die-tests (Makefile.am): Likewise.
36840         * modules/xprintf-posix-tests (Makefile.am): Likewise.
36841         * modules/xstrtoimax-tests (Makefile.am): Likewise.
36842         * modules/xstrtol-tests (Makefile.am): Likewise.
36843         * modules/xstrtoumax-tests (Makefile.am): Likewise.
36844         * modules/yesno-tests (Makefile.am): Likewise.
36845         Suggested by Jim Meyering.
36846
36847 2010-01-24  Bruno Haible  <bruno@clisp.org>
36848
36849         More documentation.
36850         * doc/gnulib.texi (Writing modules): New chapter.
36851         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
36852         the new chapter.
36853
36854 2010-01-24  Jim Meyering  <meyering@redhat.com>
36855
36856         maint.mk: do not prepend "./" after filtering
36857         * top/maint.mk (_prepend_srcdir_prefix): New variable
36858         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
36859         "./" when $(srcdir) is ".".
36860
36861         define STREQ(a,b) consistently, removing useless parentheses
36862         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
36863         since the only risk is that "a" or "b" contains an unparenthesized
36864         comma, but if either did that, STREQ would have 3 or more arguments.
36865         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
36866         * lib/fts.c (STREQ): Remove unnecessary parentheses.
36867         * lib/hash-triple.c (STREQ): Likewise.
36868         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
36869         * lib/getugroups.c (STREQ): Likewise.
36870
36871 2010-01-23  Jim Meyering  <meyering@redhat.com>
36872
36873         maint.mk: fix syntax-check in a non-srcdir build directory
36874         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
36875         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
36876
36877 2010-01-22  Jim Meyering  <meyering@redhat.com>
36878
36879         userspec: add unit tests
36880         * tests/test-userspec.c: New file.
36881         * modules/userspec-tests: Likewise.
36882
36883 2010-01-21  Jim Meyering  <meyering@redhat.com>
36884
36885         maint.mk: handle source file names containing "." robustly
36886         * top/maint.mk (_dot_escaped_srcdir): Define.
36887         (VC_LIST): Use it in LHS of sed substitution.
36888
36889 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
36890
36891         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
36892         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
36893         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
36894         from a non-srcdir build.
36895
36896 2010-01-20  Eric Blake  <ebb9@byu.net>
36897
36898         warn-on-use: use instead of link-warning
36899         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
36900         * modules/unistd (Depends-on, Makefile.am): Likewise.
36901         * modules/arpa_inet (Depends-on): Replace link-warning with
36902         warn-on-use.
36903         (Makefile.am): Update rules accordingly.
36904         * modules/ctype (Depends-on, Makefile.am): Likewise.
36905         * modules/dirent (Depends-on, Makefile.am): Likewise.
36906         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
36907         * modules/inttypes (Depends-on, Makefile.am): Likewise.
36908         * modules/langinfo (Depends-on, Makefile.am): Likewise.
36909         * modules/locale (Depends-on, Makefile.am): Likewise.
36910         * modules/math (Depends-on, Makefile.am): Likewise.
36911         * modules/search (Depends-on, Makefile.am): Likewise.
36912         * modules/signal (Depends-on, Makefile.am): Likewise.
36913         * modules/spawn (Depends-on, Makefile.am): Likewise.
36914         * modules/stdlib (Depends-on, Makefile.am): Likewise.
36915         * modules/string (Depends-on, Makefile.am): Likewise.
36916         * modules/strings (Depends-on, Makefile.am): Likewise.
36917         * modules/sys_file (Depends-on, Makefile.am): Likewise.
36918         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
36919         * modules/sys_select (Depends-on, Makefile.am): Likewise.
36920         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
36921         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
36922         * modules/sys_times (Depends-on, Makefile.am): Likewise.
36923         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
36924         * modules/wchar (Depends-on, Makefile.am): Likewise.
36925         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
36926         should be poisoned.
36927         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
36928         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
36929         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
36930         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
36931         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
36932         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
36933         * m4/math_h.m4 (gl_MATH_H): Likewise.
36934         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
36935         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
36936         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
36937         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
36938         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
36939         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
36940         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
36941         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
36942         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
36943         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
36944         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
36945         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
36946         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
36947         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
36948         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
36949         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
36950         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
36951         GL_LINK_WARNING.
36952         * lib/ctype.in.h: Likewise.
36953         * lib/dirent.in.h: Likewise.
36954         * lib/fcntl.in.h: Likewise.
36955         * lib/inttypes.in.h: Likewise.
36956         * lib/langinfo.in.h: Likewise.
36957         * lib/locale.in.h: Likewise.
36958         * lib/math.in.h: Likewise.
36959         * lib/search.in.h: Likewise.
36960         * lib/signal.in.h: Likewise.
36961         * lib/spawn.in.h: Likewise.
36962         * lib/stdio.in.h: Likewise.
36963         * lib/stdlib.in.h: Likewise.
36964         * lib/string.in.h: Likewise.
36965         * lib/strings.in.h: Likewise.
36966         * lib/sys_file.in.h: Likewise.
36967         * lib/sys_ioctl.in.h: Likewise.
36968         * lib/sys_select.in.h: Likewise.
36969         * lib/sys_socket.in.h: Likewise.
36970         * lib/sys_stat.in.h: Likewise.
36971         * lib/sys_times.in.h: Likewise.
36972         * lib/sys_utsname.in.h: Likewise.
36973         * lib/unistd.in.h: Likewise.
36974         * lib/wchar.in.h: Likewise.
36975
36976 2010-01-20  Bruno Haible  <bruno@clisp.org>
36977
36978         Avoid duplicate -lm.
36979         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
36980         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
36981         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
36982         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
36983         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
36984         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
36985         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
36986         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
36987         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
36988         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
36989         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
36990         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
36991         Reported by Paolo Bonzini.
36992
36993 2010-01-19  Bruno Haible  <bruno@clisp.org>
36994
36995         langinfo, nl_langinfo: Relicense under LGPLv2+.
36996         * modules/langinfo (License): Change to LGPLv2+.
36997         * modules/nl_langinfo (License): Likewise.
36998         Patch by David Lutterkort <lutter@redhat.com>.
36999
37000 2010-01-19  Bruno Haible  <bruno@clisp.org>
37001
37002         Avoid compilation error with cc on OSF/1 5.1.
37003         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
37004         statement, not before.
37005         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
37006
37007 2010-01-18  Bruno Haible  <bruno@clisp.org>
37008
37009         Avoid a link error due to the __printf__ symbol.
37010         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
37011         and 2.6.x.
37012         (__format__, __printf__): Remove definitions.
37013         * lib/argp-fmtstream.h: Likewise.
37014         * lib/argp.h: Likewise.
37015         * lib/error.h: Likewise.
37016         * lib/vasnprintf.h: Likewise.
37017         * lib/xprintf.h: Likewise.
37018         * lib/xvasprintf.h: Likewise.
37019         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
37020
37021 2010-01-18  Bruno Haible  <bruno@clisp.org>
37022
37023         Tests for module 'tanl'.
37024         * modules/tanl-tests: New file.
37025         * tests/test-tanl.c: New file.
37026
37027         Tests for module 'sqrtl'.
37028         * modules/sqrtl-tests: New file.
37029         * tests/test-sqrtl.c: New file.
37030
37031         Tests for module 'sinl'.
37032         * modules/sinl-tests: New file.
37033         * tests/test-sinl.c: New file.
37034
37035         Tests for module 'logl'.
37036         * modules/logl-tests: New file.
37037         * tests/test-logl.c: New file.
37038
37039         Tests for module 'expl'.
37040         * modules/expl-tests: New file.
37041         * tests/test-expl.c: New file.
37042
37043         Tests for module 'cosl'.
37044         * modules/cosl-tests: New file.
37045         * tests/test-cosl.c: New file.
37046
37047         Tests for module 'atanl'.
37048         * modules/atanl-tests: New file.
37049         * tests/test-atanl.c: New file.
37050
37051         Tests for module 'asinl'.
37052         * modules/asinl-tests: New file.
37053         * tests/test-asinl.c: New file.
37054
37055         Tests for module 'acosl'.
37056         * modules/acosl-tests: New file.
37057         * tests/test-acosl.c: New file.
37058
37059         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
37060         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
37061         tanl): Use the standard gnulib idiom.
37062         * lib/cosl.c: Don't include trigl.c and sincosl.c.
37063         * lib/sinl.c: Likewise.
37064         * lib/tanl.c: Don't include trigl.c.
37065         (kernel_tanl): Make static.
37066         * lib/sincosl.c: Include trigl.h first.
37067         * lib/trigl.c: Likewise.
37068         * m4/acosl.m4: New file.
37069         * m4/asinl.m4: New file.
37070         * m4/atanl.m4: New file.
37071         * m4/cosl.m4: New file.
37072         * m4/expl.m4: New file.
37073         * m4/logl.m4: New file.
37074         * m4/sinl.m4: New file.
37075         * m4/sqrtl.m4: New file.
37076         * m4/tanl.m4: New file.
37077         * m4/mathl.m4: Remove file.
37078         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
37079         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
37080         Don't initialize GNULIB_MATHL.
37081         * modules/acosl: New file.
37082         * modules/asinl: New file.
37083         * modules/atanl: New file.
37084         * modules/cosl: New file.
37085         * modules/expl: New file.
37086         * modules/logl: New file.
37087         * modules/sinl: New file.
37088         * modules/sqrtl: New file.
37089         * modules/tanl: New file.
37090         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
37091         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
37092         substitute GNULIB_MATHL.
37093         * modules/mathl: Rewritten.
37094         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
37095         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
37096         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
37097         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
37098         * doc/posix-functions/expl.texi: Mention the 'expl' module.
37099         * doc/posix-functions/logl.texi: Mention the 'logl' module.
37100         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
37101         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
37102         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
37103
37104 2010-01-18  Bruno Haible  <bruno@clisp.org>
37105
37106         sqrt: Make gl_FUNC_SQRT requirable.
37107         * m4/sqrt.m4: New file.
37108         * modules/sqrt (Files): Add it.
37109         (configure.ac): Invoke gl_FUNC_SQRT.
37110
37111 2010-01-18  Bruno Haible  <bruno@clisp.org>
37112
37113         New modules for common <math.h> functions.
37114         * m4/mathfunc.m4: New file.
37115         * modules/acos: New file.
37116         * modules/asin: New file.
37117         * modules/atan: New file.
37118         * modules/atan2: New file.
37119         * modules/cbrt: New file.
37120         * modules/copysign: New file.
37121         * modules/cos: New file.
37122         * modules/cosh: New file.
37123         * modules/erf: New file.
37124         * modules/erfc: New file.
37125         * modules/exp: New file.
37126         * modules/fabs: New file.
37127         * modules/fmod: New file.
37128         * modules/hypot: New file.
37129         * modules/j0: New file.
37130         * modules/j1: New file.
37131         * modules/jn: New file.
37132         * modules/ldexp: New file.
37133         * modules/lgamma: New file.
37134         * modules/log: New file.
37135         * modules/log10: New file.
37136         * modules/log1p: New file.
37137         * modules/logb: New file.
37138         * modules/modf: New file.
37139         * modules/nextafter: New file.
37140         * modules/pow: New file.
37141         * modules/remainder: New file.
37142         * modules/rint: New file.
37143         * modules/sin: New file.
37144         * modules/sinh: New file.
37145         * modules/sqrt: New file.
37146         * modules/tan: New file.
37147         * modules/tanh: New file.
37148         * modules/y0: New file.
37149         * modules/y1: New file.
37150         * modules/yn: New file.
37151         * doc/posix-functions/acos.texi: Mention the 'acos' module.
37152         * doc/posix-functions/asin.texi: Mention the 'asin' module.
37153         * doc/posix-functions/atan.texi: Mention the 'atan' module.
37154         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
37155         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
37156         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
37157         * doc/posix-functions/cos.texi: Mention the 'cos' module.
37158         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
37159         * doc/posix-functions/erf.texi: Mention the 'erf' module.
37160         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
37161         * doc/posix-functions/exp.texi: Mention the 'exp' module.
37162         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
37163         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
37164         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
37165         * doc/posix-functions/j0.texi: Mention the 'j0' module.
37166         * doc/posix-functions/j1.texi: Mention the 'j1' module.
37167         * doc/posix-functions/jn.texi: Mention the 'jn' module.
37168         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
37169         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
37170         * doc/posix-functions/log.texi: Mention the 'log' module.
37171         * doc/posix-functions/log10.texi: Mention the 'log10' module.
37172         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
37173         * doc/posix-functions/logb.texi: Mention the 'logb' module.
37174         * doc/posix-functions/modf.texi: Mention the 'modf' module.
37175         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
37176         * doc/posix-functions/pow.texi: Mention the 'pow' module.
37177         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
37178         * doc/posix-functions/rint.texi: Mention the 'rint' module.
37179         * doc/posix-functions/sin.texi: Mention the 'sin' module.
37180         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
37181         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
37182         * doc/posix-functions/tan.texi: Mention the 'tan' module.
37183         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
37184         * doc/posix-functions/y0.texi: Mention the 'y0' module.
37185         * doc/posix-functions/y1.texi: Mention the 'y1' module.
37186         * doc/posix-functions/yn.texi: Mention the 'yn' module.
37187
37188 2010-01-18  Jim Meyering  <meyering@redhat.com>
37189
37190         ignore-value: relax license to LGPLv2+
37191         * modules/ignore-value (License): Relax to LGPLv2+.
37192
37193         getdate: don't leak when TZ contains two or more '"'s
37194         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
37195         double quote in TZ after the first one.
37196
37197         readtokens: do not leak internal token_lengths buffer
37198         * lib/readtokens.c (readtokens): Free the local, lengths,
37199         when the supplied "token_lengths" parameter is NULL.
37200
37201 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37202
37203         Fix a couple of missing LIBTHREAD link failures on AIX.
37204         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
37205         $(LIBTHREAD).
37206         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
37207
37208         Link test-poll against INET_PTON_LIB.
37209         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
37210         for inet_pton on Solaris 10.
37211
37212 2010-01-17  Bruno Haible  <bruno@clisp.org>
37213
37214         unistdio/*-sprintf: Fix typo in module description.
37215         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
37216         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
37217         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
37218         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
37219         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
37220         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
37221         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
37222         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
37223
37224 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37225
37226         gnulib-tool: fix filelist for AIX, HP-UX ksh.
37227         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
37228         variables in shell case patterns, for AIX and HP-UX ksh.
37229
37230         Split large sed scripts, for HP-UX sed.
37231         * modules/stdio: Split sed scripts around 50 sed commands,
37232         to avoid HP-UX limit of 99 commands, in the near future.
37233         * modules/string: Likewise.
37234         * modules/unistd: Likewise.
37235
37236         gnulib-tool: avoid writing in the current directory.
37237         * gnulib-tool (func_emit_lib_Makefile_am)
37238         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
37239         not in the current directory, so concurrent gnulib-tool
37240         instances do not interfere.
37241
37242 2010-01-16  Jim Meyering  <meyering@redhat.com>
37243
37244         doc: update users.txt
37245         * users.txt: Add grep.
37246         (diffutils, gzip): Update URLs.
37247
37248 2010-01-12  Bruno Haible  <bruno@clisp.org>
37249
37250         posix_spawn: Avoid test failure on Cygwin.
37251         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
37252         characters.
37253         Reported by Simon Josefsson.
37254
37255 2010-01-12  Bruno Haible  <bruno@clisp.org>
37256
37257         * tests/test-cond.c (main): When skipping the test, show the reason.
37258
37259 2010-01-12  Simon Josefsson  <simon@josefsson.org>
37260
37261         * lib/striconv.c (str_cd_iconv): Avoid if before free.
37262
37263 2010-01-12  Simon Josefsson  <simon@josefsson.org>
37264
37265         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
37266         VC_LIST_ALWAYS_EXCLUDE_REGEX.
37267
37268 2010-01-12  Eric Blake  <ebb9@byu.net>
37269
37270         build: guarantee AS_VAR_IF
37271         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
37272         (gl_AS_VAR_IF): Move...
37273         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
37274         Reported by Simon Josefsson.
37275
37276 2010-01-12  Simon Josefsson  <simon@josefsson.org>
37277
37278         * lib/stdio.in.h: Fix typo.
37279
37280 2010-01-12  Simon Josefsson  <simon@josefsson.org>
37281
37282         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
37283         libgpg-error.
37284
37285 2010-01-12  Simon Josefsson  <simon@josefsson.org>
37286
37287         * tests/test-xalloc-die.sh: Use $EXEEXT.
37288
37289 2010-01-12  Simon Josefsson  <simon@josefsson.org>
37290             Bruno Haible  <bruno@clisp.org>
37291
37292         getlogin, getlogin_r: Avoid test failure.
37293         * tests/test-getlogin.c: Include <stdio.h>.
37294         (main): Skip the test when the function fails because stdin is not a
37295         tty.
37296         * tests/test-getlogin_r.c: Include <stdio.h>.
37297         (main): Skip the test when the function fails because stdin is not a
37298         tty.
37299
37300 2010-01-11  Eric Blake  <ebb9@byu.net>
37301
37302         tests: avoid more large file warnings
37303         * tests/test-fflush.c: Avoid warning about ftell use.
37304         * tests/test-fseek.c: Avoid warning about fseek use.
37305
37306 2010-01-10  Bruno Haible  <bruno@clisp.org>
37307
37308         nproc: Work better on Linux when /proc and /sys are not mounted.
37309         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
37310         as lower bound when, on glibc/Linux systems,
37311         sysconf (_SC_NPROCESSORS_CONF) returns 1.
37312         Suggested by Pádraig Brady <P@draigbrady.com>.
37313         Reported by Dmitry V. Levin <ldv@altlinux.org>.
37314
37315         nproc: Refactor.
37316         * lib/nproc.c (num_processors_via_affinity_mask): New function,
37317         extracted from num_processors.
37318         (num_processors): Call it.
37319
37320 2010-01-11  Jim Meyering  <meyering@redhat.com>
37321
37322         utimecmp: avoid new warning from upcoming gcc-4.5.0
37323         * lib/utimecmp.c (BILLION): Define using #define rather than an
37324         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
37325
37326 2010-01-11  Eric Blake  <ebb9@byu.net>
37327
37328         math: add portability warnings for classification macros
37329         * modules/math (Depends-on): Add warn-on-use.
37330         (Makefile.am): Provide new substitutions.
37331         * m4/math_h.m4 (gl_MATH_H): Require inline.
37332         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
37333         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
37334         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
37335         implement warnings.
37336
37337         unistd: warn on use of environ without module
37338         * modules/unistd (Depends-on): Add warn-on-use.
37339         (Makefile.am): Provide new substitutions.
37340         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
37341         * lib/unistd.in.h (environ): Wrap with a warning helper function.
37342
37343         stdio: warn on suspicious uses
37344         * modules/stdio (Depends-on): Add warn-on-use.
37345         (Makefile.am): Provide new substitutions.
37346         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
37347         fseeko.
37348         * lib/stdio.in.h (gets): Always warn on use.
37349         (fseek, ftell): Adjust when warnings are issued, and honor
37350         _GL_NO_LARGE_FILES as a way to silence the warning.
37351         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
37352         any warning about large file offsets.
37353         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
37354         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
37355         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
37356         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
37357         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
37358         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
37359         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
37360         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
37361
37362         warn-on-use: new module
37363         * modules/warn-on-use: New file.
37364         * build-aux/warn-on-use.h: Likewise.
37365         * m4/warn-on-use.m4: Likewise.
37366         * MODULES.html.sh (Support for building): Mention it.
37367
37368 2010-01-10  Bruno Haible  <bruno@clisp.org>
37369
37370         Tests for module 'unistr/u32-strdup'.
37371         * modules/unistr/u32-strdup-tests: New file.
37372         * tests/unistr/test-u32-strdup.c: New file.
37373
37374         Tests for module 'unistr/u16-strdup'.
37375         * modules/unistr/u16-strdup-tests: New file.
37376         * tests/unistr/test-u16-strdup.c: New file.
37377
37378         Tests for module 'unistr/u8-strdup'.
37379         * modules/unistr/u8-strdup-tests: New file.
37380         * tests/unistr/test-u8-strdup.c: New file.
37381         * tests/unistr/test-strdup.h: New file.
37382
37383         Tests for module 'unistr/u32-strncmp'.
37384         * modules/unistr/u32-strncmp-tests: New file.
37385         * tests/unistr/test-u32-strncmp.c: New file.
37386
37387         Tests for module 'unistr/u16-strncmp'.
37388         * modules/unistr/u16-strncmp-tests: New file.
37389         * tests/unistr/test-u16-strncmp.c: New file.
37390
37391         Tests for module 'unistr/u8-strncmp'.
37392         * modules/unistr/u8-strncmp-tests: New file.
37393         * tests/unistr/test-u8-strncmp.c: New file.
37394         * tests/unistr/test-strncmp.h: New file.
37395
37396         Tests for module 'unistr/u32-strcoll'.
37397         * modules/unistr/u32-strcoll-tests: New file.
37398         * tests/unistr/test-u32-strcoll.c: New file.
37399
37400         Tests for module 'unistr/u16-strcoll'.
37401         * modules/unistr/u16-strcoll-tests: New file.
37402         * tests/unistr/test-u16-strcoll.c: New file.
37403
37404         Tests for module 'unistr/u8-strcoll'.
37405         * modules/unistr/u8-strcoll-tests: New file.
37406         * tests/unistr/test-u8-strcoll.c: New file.
37407
37408         Tests for module 'unistr/u32-strcmp'.
37409         * modules/unistr/u32-strcmp-tests: New file.
37410         * tests/unistr/test-u32-strcmp.c: New file.
37411         * tests/unistr/test-u32-strcmp.h: New file.
37412
37413         Tests for module 'unistr/u16-strcmp'.
37414         * modules/unistr/u16-strcmp-tests: New file.
37415         * tests/unistr/test-u16-strcmp.c: New file.
37416         * tests/unistr/test-u16-strcmp.h: New file.
37417
37418         Tests for module 'unistr/u8-strcmp'.
37419         * modules/unistr/u8-strcmp-tests: New file.
37420         * tests/unistr/test-u8-strcmp.c: New file.
37421         * tests/unistr/test-u8-strcmp.h: New file.
37422         * tests/unistr/test-strcmp.h: New file.
37423
37424         Tests for module 'unistr/u32-strncat'.
37425         * modules/unistr/u32-strncat-tests: New file.
37426         * tests/unistr/test-u32-strncat.c: New file.
37427
37428         Tests for module 'unistr/u16-strncat'.
37429         * modules/unistr/u16-strncat-tests: New file.
37430         * tests/unistr/test-u16-strncat.c: New file.
37431
37432         Tests for module 'unistr/u8-strncat'.
37433         * modules/unistr/u8-strncat-tests: New file.
37434         * tests/unistr/test-u8-strncat.c: New file.
37435         * tests/unistr/test-strncat.h: New file.
37436
37437         Tests for module 'unistr/u32-strcat'.
37438         * modules/unistr/u32-strcat-tests: New file.
37439         * tests/unistr/test-u32-strcat.c: New file.
37440
37441         Tests for module 'unistr/u16-strcat'.
37442         * modules/unistr/u16-strcat-tests: New file.
37443         * tests/unistr/test-u16-strcat.c: New file.
37444
37445         Tests for module 'unistr/u8-strcat'.
37446         * modules/unistr/u8-strcat-tests: New file.
37447         * tests/unistr/test-u8-strcat.c: New file.
37448         * tests/unistr/test-strcat.h: New file.
37449
37450         Tests for module 'unistr/u32-stpncpy'.
37451         * modules/unistr/u32-stpncpy-tests: New file.
37452         * tests/unistr/test-u32-stpncpy.c: New file.
37453
37454         Tests for module 'unistr/u16-stpncpy'.
37455         * modules/unistr/u16-stpncpy-tests: New file.
37456         * tests/unistr/test-u16-stpncpy.c: New file.
37457
37458         Tests for module 'unistr/u8-stpncpy'.
37459         * modules/unistr/u8-stpncpy-tests: New file.
37460         * tests/unistr/test-u8-stpncpy.c: New file.
37461         * tests/unistr/test-stpncpy.h: New file.
37462
37463         Tests for module 'unistr/u32-strncpy'.
37464         * modules/unistr/u32-strncpy-tests: New file.
37465         * tests/unistr/test-u32-strncpy.c: New file.
37466
37467         Tests for module 'unistr/u16-strncpy'.
37468         * modules/unistr/u16-strncpy-tests: New file.
37469         * tests/unistr/test-u16-strncpy.c: New file.
37470
37471         Tests for module 'unistr/u8-strncpy'.
37472         * modules/unistr/u8-strncpy-tests: New file.
37473         * tests/unistr/test-u8-strncpy.c: New file.
37474         * tests/unistr/test-strncpy.h: New file.
37475
37476         Tests for module 'unistr/u32-stpcpy'.
37477         * modules/unistr/u32-stpcpy-tests: New file.
37478         * tests/unistr/test-u32-stpcpy.c: New file.
37479
37480         Tests for module 'unistr/u16-stpcpy'.
37481         * modules/unistr/u16-stpcpy-tests: New file.
37482         * tests/unistr/test-u16-stpcpy.c: New file.
37483
37484         Tests for module 'unistr/u8-stpcpy'.
37485         * modules/unistr/u8-stpcpy-tests: New file.
37486         * tests/unistr/test-u8-stpcpy.c: New file.
37487         * tests/unistr/test-stpcpy.h: New file.
37488
37489         Tests for module 'unistr/u32-strcpy'.
37490         * modules/unistr/u32-strcpy-tests: New file.
37491         * tests/unistr/test-u32-strcpy.c: New file.
37492
37493         Tests for module 'unistr/u16-strcpy'.
37494         * modules/unistr/u16-strcpy-tests: New file.
37495         * tests/unistr/test-u16-strcpy.c: New file.
37496
37497         Tests for module 'unistr/u8-strcpy'.
37498         * modules/unistr/u8-strcpy-tests: New file.
37499         * tests/unistr/test-u8-strcpy.c: New file.
37500         * tests/unistr/test-strcpy.h: New file.
37501
37502         Tests for module 'unistr/u32-strnlen'.
37503         * modules/unistr/u32-strnlen-tests: New file.
37504         * tests/unistr/test-u32-strnlen.c: New file.
37505
37506         Tests for module 'unistr/u16-strnlen'.
37507         * modules/unistr/u16-strnlen-tests: New file.
37508         * tests/unistr/test-u16-strnlen.c: New file.
37509
37510         Tests for module 'unistr/u8-strnlen'.
37511         * modules/unistr/u8-strnlen-tests: New file.
37512         * tests/unistr/test-u8-strnlen.c: New file.
37513         * tests/unistr/test-strnlen.h: New file.
37514
37515         Tests for module 'unistr/u32-strlen'.
37516         * modules/unistr/u32-strlen-tests: New file.
37517         * tests/unistr/test-u32-strlen.c: New file.
37518
37519         Tests for module 'unistr/u16-strlen'.
37520         * modules/unistr/u16-strlen-tests: New file.
37521         * tests/unistr/test-u16-strlen.c: New file.
37522
37523         Tests for module 'unistr/u8-strlen'.
37524         * modules/unistr/u8-strlen-tests: New file.
37525         * tests/unistr/test-u8-strlen.c: New file.
37526
37527         Tests for module 'unistr/u32-prev'.
37528         * modules/unistr/u32-prev-tests: New file.
37529         * tests/unistr/test-u32-prev.c: New file.
37530
37531         Tests for module 'unistr/u16-prev'.
37532         * modules/unistr/u16-prev-tests: New file.
37533         * tests/unistr/test-u16-prev.c: New file.
37534
37535         Tests for module 'unistr/u8-prev'.
37536         * modules/unistr/u8-prev-tests: New file.
37537         * tests/unistr/test-u8-prev.c: New file.
37538
37539         Tests for module 'unistr/u32-next'.
37540         * modules/unistr/u32-next-tests: New file.
37541         * tests/unistr/test-u32-next.c: New file.
37542
37543         Tests for module 'unistr/u16-next'.
37544         * modules/unistr/u16-next-tests: New file.
37545         * tests/unistr/test-u16-next.c: New file.
37546
37547         Tests for module 'unistr/u8-next'.
37548         * modules/unistr/u8-next-tests: New file.
37549         * tests/unistr/test-u8-next.c: New file.
37550
37551         Tests for module 'unistr/u32-strmbtouc'.
37552         * modules/unistr/u32-strmbtouc-tests: New file.
37553         * tests/unistr/test-u32-strmbtouc.c: New file.
37554
37555         Tests for module 'unistr/u16-strmbtouc'.
37556         * modules/unistr/u16-strmbtouc-tests: New file.
37557         * tests/unistr/test-u16-strmbtouc.c: New file.
37558
37559         Tests for module 'unistr/u8-strmbtouc'.
37560         * modules/unistr/u8-strmbtouc-tests: New file.
37561         * tests/unistr/test-u8-strmbtouc.c: New file.
37562
37563         Tests for module 'unistr/u32-strmblen'.
37564         * modules/unistr/u32-strmblen-tests: New file.
37565         * tests/unistr/test-u32-strmblen.c: New file.
37566
37567         Tests for module 'unistr/u16-strmblen'.
37568         * modules/unistr/u16-strmblen-tests: New file.
37569         * tests/unistr/test-u16-strmblen.c: New file.
37570
37571         Tests for module 'unistr/u8-strmblen'.
37572         * modules/unistr/u8-strmblen-tests: New file.
37573         * tests/unistr/test-u8-strmblen.c: New file.
37574
37575         Tests for module 'unistr/u32-cpy-alloc'.
37576         * modules/unistr/u32-cpy-alloc-tests: New file.
37577         * tests/unistr/test-u32-cpy-alloc.c: New file.
37578
37579         Tests for module 'unistr/u16-cpy-alloc'.
37580         * modules/unistr/u16-cpy-alloc-tests: New file.
37581         * tests/unistr/test-u16-cpy-alloc.c: New file.
37582
37583         Tests for module 'unistr/u8-cpy-alloc'.
37584         * modules/unistr/u8-cpy-alloc-tests: New file.
37585         * tests/unistr/test-u8-cpy-alloc.c: New file.
37586         * tests/unistr/test-cpy-alloc.h: New file.
37587
37588         Tests for module 'unistr/u32-mbsnlen'.
37589         * modules/unistr/u32-mbsnlen-tests: New file.
37590         * tests/unistr/test-u32-mbsnlen.c: New file.
37591
37592         Tests for module 'unistr/u16-mbsnlen'.
37593         * modules/unistr/u16-mbsnlen-tests: New file.
37594         * tests/unistr/test-u16-mbsnlen.c: New file.
37595
37596         Tests for module 'unistr/u8-mbsnlen'.
37597         * modules/unistr/u8-mbsnlen-tests: New file.
37598         * tests/unistr/test-u8-mbsnlen.c: New file.
37599
37600         Tests for module 'unistr/u32-chr'.
37601         * modules/unistr/u32-chr-tests: New file.
37602         * tests/unistr/test-u32-chr.c: New file.
37603
37604         Tests for module 'unistr/u16-chr'.
37605         * modules/unistr/u16-chr-tests: New file.
37606         * tests/unistr/test-u16-chr.c: New file.
37607
37608         Tests for module 'unistr/u8-chr'.
37609         * modules/unistr/u8-chr-tests: New file.
37610         * tests/unistr/test-u8-chr.c: New file.
37611         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
37612
37613         Tests for module 'unistr/u32-cmp2'.
37614         * modules/unistr/u32-cmp2-tests: New file.
37615         * tests/unistr/test-u32-cmp2.c: New file.
37616
37617         Tests for module 'unistr/u16-cmp2'.
37618         * modules/unistr/u16-cmp2-tests: New file.
37619         * tests/unistr/test-u16-cmp2.c: New file.
37620
37621         Tests for module 'unistr/u8-cmp2'.
37622         * modules/unistr/u8-cmp2-tests: New file.
37623         * tests/unistr/test-u8-cmp2.c: New file.
37624         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
37625
37626         Tests for module 'unistr/u32-cmp'.
37627         * modules/unistr/u32-cmp-tests: New file.
37628         * tests/unistr/test-u32-cmp.c: New file.
37629
37630         Tests for module 'unistr/u16-cmp'.
37631         * modules/unistr/u16-cmp-tests: New file.
37632         * tests/unistr/test-u16-cmp.c: New file.
37633
37634         Tests for module 'unistr/u8-cmp'.
37635         * modules/unistr/u8-cmp-tests: New file.
37636         * tests/unistr/test-u8-cmp.c: New file.
37637         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
37638
37639         Tests for module 'unistr/u32-set'.
37640         * modules/unistr/u32-set-tests: New file.
37641         * tests/unistr/test-u32-set.c: New file.
37642
37643         Tests for module 'unistr/u16-set'.
37644         * modules/unistr/u16-set-tests: New file.
37645         * tests/unistr/test-u16-set.c: New file.
37646
37647         Tests for module 'unistr/u8-set'.
37648         * modules/unistr/u8-set-tests: New file.
37649         * tests/unistr/test-u8-set.c: New file.
37650         * tests/unistr/test-set.h: New file.
37651
37652         Tests for module 'unistr/u32-move'.
37653         * modules/unistr/u32-move-tests: New file.
37654         * tests/unistr/test-u32-move.c: New file.
37655
37656         Tests for module 'unistr/u16-move'.
37657         * modules/unistr/u16-move-tests: New file.
37658         * tests/unistr/test-u16-move.c: New file.
37659
37660         Tests for module 'unistr/u8-move'.
37661         * modules/unistr/u8-move-tests: New file.
37662         * tests/unistr/test-u8-move.c: New file.
37663         * tests/unistr/test-move.h: New file.
37664
37665         Tests for module 'unistr/u32-cpy'.
37666         * modules/unistr/u32-cpy-tests: New file.
37667         * tests/unistr/test-u32-cpy.c: New file.
37668
37669         Tests for module 'unistr/u16-cpy'.
37670         * modules/unistr/u16-cpy-tests: New file.
37671         * tests/unistr/test-u16-cpy.c: New file.
37672
37673         Tests for module 'unistr/u8-cpy'.
37674         * modules/unistr/u8-cpy-tests: New file.
37675         * tests/unistr/test-u8-cpy.c: New file.
37676         * tests/unistr/test-cpy.h: New file.
37677
37678 2010-01-09  Bruno Haible  <bruno@clisp.org>
37679
37680         Tests for module 'unistr/u32-uctomb'.
37681         * modules/unistr/u32-uctomb-tests: New file.
37682         * tests/unistr/test-u32-uctomb.c: New file.
37683
37684         Tests for module 'unistr/u16-uctomb'.
37685         * modules/unistr/u16-uctomb-tests: New file.
37686         * tests/unistr/test-u16-uctomb.c: New file.
37687
37688         Tests for module 'unistr/u8-uctomb'.
37689         * modules/unistr/u8-uctomb-tests: New file.
37690         * tests/unistr/test-u8-uctomb.c: New file.
37691
37692         Tests for module 'unistr/u32-mbtoucr'.
37693         * modules/unistr/u32-mbtoucr-tests: New file.
37694         * tests/unistr/test-u32-mbtoucr.c: New file.
37695
37696         Tests for module 'unistr/u16-mbtoucr'.
37697         * modules/unistr/u16-mbtoucr-tests: New file.
37698         * tests/unistr/test-u16-mbtoucr.c: New file.
37699
37700         Tests for module 'unistr/u8-mbtoucr'.
37701         * modules/unistr/u8-mbtoucr-tests: New file.
37702         * tests/unistr/test-u8-mbtoucr.c: New file.
37703
37704         Tests for module 'unistr/u32-mbtouc'.
37705         * modules/unistr/u32-mbtouc-tests: New file.
37706         * tests/unistr/test-u32-mbtouc.c: New file.
37707
37708         Tests for module 'unistr/u16-mbtouc'.
37709         * modules/unistr/u16-mbtouc-tests: New file.
37710         * tests/unistr/test-u16-mbtouc.c: New file.
37711
37712         Tests for module 'unistr/u8-mbtouc'.
37713         * modules/unistr/u8-mbtouc-tests: New file.
37714         * tests/unistr/test-u8-mbtouc.c: New file.
37715
37716         Tests for module 'unistr/u32-mbtouc-unsafe'.
37717         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
37718         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
37719         * tests/unistr/test-u32-mbtouc.h: New file.
37720
37721         Tests for module 'unistr/u16-mbtouc-unsafe'.
37722         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
37723         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
37724         * tests/unistr/test-u16-mbtouc.h: New file.
37725
37726         Tests for module 'unistr/u8-mbtouc-unsafe'.
37727         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
37728         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
37729         * tests/unistr/test-u8-mbtouc.h: New file.
37730
37731         Tests for module 'unistr/u32-mblen'.
37732         * modules/unistr/u32-mblen-tests: New file.
37733         * tests/unistr/test-u32-mblen.c: New file.
37734
37735         Tests for module 'unistr/u16-mblen'.
37736         * modules/unistr/u16-mblen-tests: New file.
37737         * tests/unistr/test-u16-mblen.c: New file.
37738
37739         Tests for module 'unistr/u8-mblen'.
37740         * modules/unistr/u8-mblen-tests: New file.
37741         * tests/unistr/test-u8-mblen.c: New file.
37742
37743         Tests for module 'unistr/u32-to-u16'.
37744         * modules/unistr/u32-to-u16-tests: New file.
37745         * tests/unistr/test-u32-to-u16.c: New file.
37746
37747         Tests for module 'unistr/u32-to-u8'.
37748         * modules/unistr/u32-to-u8-tests: New file.
37749         * tests/unistr/test-u32-to-u8.c: New file.
37750
37751         Tests for module 'unistr/u16-to-u32'.
37752         * modules/unistr/u16-to-u32-tests: New file.
37753         * tests/unistr/test-u16-to-u32.c: New file.
37754
37755         Tests for module 'unistr/u16-to-u8'.
37756         * modules/unistr/u16-to-u8-tests: New file.
37757         * tests/unistr/test-u16-to-u8.c: New file.
37758
37759         Tests for module 'unistr/u8-to-u32'.
37760         * modules/unistr/u8-to-u32-tests: New file.
37761         * tests/unistr/test-u8-to-u32.c: New file.
37762
37763         Tests for module 'unistr/u8-to-u16'.
37764         * modules/unistr/u8-to-u16-tests: New file.
37765         * tests/unistr/test-u8-to-u16.c: New file.
37766
37767         Tests for module 'unistr/u32-check'.
37768         * modules/unistr/u32-check-tests: New file.
37769         * tests/unistr/test-u32-check.c: New file.
37770
37771         Tests for module 'unistr/u16-check'.
37772         * modules/unistr/u16-check-tests: New file.
37773         * tests/unistr/test-u16-check.c: New file.
37774
37775         Tests for module 'unistr/u8-check'.
37776         * modules/unistr/u8-check-tests: New file.
37777         * tests/unistr/test-u8-check.c: New file.
37778
37779         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
37780         (category_equals): New function.
37781         (main): Add more tests.
37782         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
37783
37784         * tests/unictype/test-bidi_byname.c (main): Add more tests.
37785
37786 2010-01-10  Bruno Haible  <bruno@clisp.org>
37787
37788         unistr/u*-strcoll: Try harder to distinguish different strings.
37789         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
37790         compare s1 and s2 to see if they are different.
37791
37792 2010-01-10  Bruno Haible  <bruno@clisp.org>
37793
37794         unistr/u*-stpncpy: Fix the return value.
37795         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
37796         description of the return value consistent with stpncpy in glibc.
37797         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
37798         written non-NUL unit.
37799
37800 2010-01-10  Bruno Haible  <bruno@clisp.org>
37801
37802         unistr/u*-next: Add missing dependencies.
37803         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
37804         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
37805         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
37806
37807 2010-01-10  Bruno Haible  <bruno@clisp.org>
37808
37809         unistr/u8-mbsnlen: Fix return value for incomplete character.
37810         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
37811         u8_mblen.
37812         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
37813         Remove unistr/u8-mblen.
37814         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
37815         u16_mblen.
37816         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
37817         Remove unistr/u16-mblen.
37818
37819 2010-01-10  Bruno Haible  <bruno@clisp.org>
37820
37821         wchar: Fix compilation error when <wchar.h> is used from coreutils.
37822         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
37823         Reported by Brian Gough <bjg@gnu.org> and
37824         Chris Clayton <chris2553@googlemail.com> via
37825         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
37826
37827 2010-01-09  Bruno Haible  <bruno@clisp.org>
37828
37829         unistr/u16-to-u32: Reject invalid input.
37830         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
37831         u16_mbtouc.
37832         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
37833         Remove unistr/u16-mbtouc.
37834
37835         unistr/u16-to-u8: Reject invalid input.
37836         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
37837         u16_mbtouc.
37838         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
37839         Remove unistr/u16-mbtouc.
37840
37841         unistr/u8-to-u32: Reject invalid input.
37842         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
37843         u8_mbtouc.
37844         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
37845         Remove unistr/u8-mbtouc.
37846
37847         unistr/u8-to-u16: Reject invalid input.
37848         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
37849         u8_mbtouc.
37850         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
37851         Remove unistr/u8-mbtouc.
37852
37853 2010-01-09  Bruno Haible  <bruno@clisp.org>
37854
37855         Tests for module 'getlogin'.
37856         * modules/getlogin-tests: New file.
37857         * tests/test-getlogin.c: New file.
37858
37859         New module 'getlogin'.
37860         * lib/unistd.in.h (getlogin): New declaration.
37861         * lib/getlogin.c: New file.
37862         * m4/getlogin.m4: New file.
37863         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
37864         HAVE_GETLOGIN.
37865         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
37866         HAVE_GETLOGIN.
37867         * modules/getlogin: New file.
37868         * doc/posix-functions/getlogin.texi: Mention the new module.
37869         Reported by John W. Eaton <jwe@gnu.org>.
37870
37871 2010-01-09  Bruno Haible  <bruno@clisp.org>
37872
37873         getlogin_r: Support for native Windows.
37874         * lib/getlogin_r.c: Include <windows.h>
37875         (getlogin_r): Implement for native Windows.
37876         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
37877         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
37878         via John W. Eaton <jwe@gnu.org>.
37879
37880 2010-01-09  Bruno Haible  <bruno@clisp.org>
37881
37882         getlogin_r: Small fixes.
37883         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
37884         succeeds.
37885         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
37886         before testing whether getlogin_r is declared. No need to set
37887         HAVE_DECL_GETLOGIN_R to 1.
37888         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
37889
37890 2010-01-09  Bruno Haible  <bruno@clisp.org>
37891
37892         * lib/unistd.in.h (getlogin_r): Add comment.
37893
37894 2010-01-09  Bruno Haible  <bruno@clisp.org>
37895
37896         Tests for module 'getlogin_r'.
37897         * modules/getlogin_r-tests: New file.
37898         * tests/test-getlogin_r.c: New file.
37899
37900 2010-01-09  Jim Meyering  <meyering@redhat.com>
37901
37902         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
37903         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
37904         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
37905
37906 2010-01-08  Simon Josefsson  <simon@josefsson.org>
37907
37908         * lib/dup2.c (rpl_dup2): Improve comment.
37909
37910 2010-01-08  Eric Blake  <ebb9@byu.net>
37911
37912         maint.mk: allow packages to add makefile @@ exceptions
37913         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
37914         (sc_makefile_check): Rename...
37915         (sc_makefile_at_at_check): ...to this, and use hook.
37916
37917         dup2: work around mingw bug
37918         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
37919         Reported by Simon Josefsson.
37920
37921 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
37922
37923         glob: Fix C++ compilation.
37924         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
37925         C++.
37926
37927 2010-01-07  Bruno Haible  <bruno@clisp.org>
37928
37929         Fix indentation of wctype.in.h, broken since 2007-01-06.
37930         * lib/wctype.in.h: Fix indentation of preprocessor directives.
37931
37932 2010-01-07  Bruno Haible  <bruno@clisp.org>
37933
37934         mbslen: Avoid collision with system function.
37935         * lib/string.in.h [MirBSD]: Include <wchar.h>.
37936         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
37937         * m4/mbslen.m4: New file.
37938         * modules/mbslen (Files): Add it.
37939         (configure.ac): Invoke gl_MBSLEN.
37940         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
37941         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
37942         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
37943         via Ian Beckwith <ianb@erislabs.net>.
37944
37945 2010-01-07  Bruno Haible  <bruno@clisp.org>
37946
37947         dirent: Document the last fix.
37948         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
37949
37950 2010-01-07  Bruno Haible  <bruno@clisp.org>
37951
37952         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
37953         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
37954         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
37955         va_list are defined.
37956         * doc/posix-headers/stdio.texi: Document the bug of missing types.
37957         Reported by Eric Blake.
37958
37959 2010-01-07  Bruno Haible  <bruno@clisp.org>
37960
37961         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
37962         * modules/xlist (Depends-on): Add 'list',
37963         * modules/xoset (Depends-on): Add 'oset'.
37964         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
37965
37966 2010-01-07  Bruno Haible  <bruno@clisp.org>
37967
37968         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
37969         * doc/posix-functions/strncasecmp.texi: Likewise.
37970
37971 2010-01-07  Bruno Haible  <bruno@clisp.org>
37972
37973         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
37974
37975 2010-01-07  John W. Eaton  <jwe@octave.org>
37976
37977         wctype: allow C++ use
37978         * lib/wctype.in.h: Add extern "C" block for C++.
37979
37980 2010-01-06  Eric Blake  <ebb9@byu.net>
37981
37982         maint.mk: detect incorrect GFDL usage
37983         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
37984
37985 2010-01-06  Jim Meyering  <meyering@redhat.com>
37986         and Eric Blake  <ebb9@byu.net>
37987
37988         maint.mk: ignore multi-line copyright in NEWS
37989         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
37990
37991 2010-01-06  Eric Blake  <ebb9@byu.net>
37992
37993         select: add missing dependency
37994         * modules/select-tests (Depends-on): Move sockets dependency...
37995         * modules/select (Depends-on): ...here.
37996         Reported by Ian Beckwith.
37997
37998         doc: regenerate INSTALL
37999         * doc/INSTALL: Reflect recent autoconf update.
38000         * doc/INSTALL.ISO: Likewise.
38001         * doc/INSTALL.UTF-8: Likewise.
38002
38003         pread: fix compilation on glibc
38004         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
38005         Reported by Ralf Wildenhues.
38006
38007         dirent: fix test failure
38008         * lib/dirent.in.h (includes): Guarantee ino_t.
38009         Reported by Ralf Wildenhues.
38010
38011 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
38012
38013         linkat, renameat: avoid bad free
38014         * lib/at-func2.c (at_func2): Fix typo.
38015         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
38016
38017 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38018
38019         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
38020         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
38021         to avoid failure of symlink test later.
38022
38023 2010-01-06  Eric Blake  <ebb9@byu.net>
38024
38025         stdio, unistd: guarantee ssize_t
38026         * lib/unistd.in.h (includes): Ensure that types required by POSIX
38027         2008 are exposed when needed.
38028         * lib/stdio.in.h (includes): Likewise.
38029         Reported by Ralf Wildenhues.
38030
38031 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
38032
38033         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
38034         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
38035         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
38036
38037 2010-01-06  Jim Meyering  <meyering@redhat.com>
38038
38039         readtokens: this module *does* require xalloc.h
38040         It uses only functions that were omitted by the old syntax-check rule.
38041         * lib/readtokens.c: Include "xalloc.h" once again.
38042         * modules/readtokens (Depends-on): Add xalloc.
38043         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
38044
38045 2010-01-05  Eric Blake  <ebb9@byu.net>
38046
38047         maint: support 'make announcement' from a VPATH build
38048         * top/maint.mk (announcement): Look for correct NEWS file.
38049
38050 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
38051
38052         utimens (fdutimens): ignore a negative FD, per contract
38053         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
38054         when we have a valid file descriptor.  Otherwise, using a brand
38055         new glibc (with just-patched futimens that now fails with EBADF)
38056         would cause this function to fail with ENOSYS.
38057         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
38058         See also http://bugzilla.redhat.com/552320.
38059
38060 2010-01-05  Eric Blake  <ebb9@byu.net>
38061
38062         strcase: document what it provides
38063         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
38064         gnulib module.
38065         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
38066         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
38067
38068 2010-01-05  Jim Meyering  <meyering@redhat.com>
38069
38070         maint: remove useless inclusions of "xalloc.h"
38071         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
38072         * lib/readtokens.c: Likewise.
38073         * lib/same.c: Likewise.
38074         * modules/getloadavg (Depends-on): Remove xalloc.
38075         * modules/readtokens: Likewise.
38076         * modules/same: Likewise.
38077
38078         maint.mk: include 4 more function names in alloca.h-checking regexp
38079         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
38080         regexp.  Before, we would give a false-positive (saying alloca.h
38081         is included unnecessarily) when the only uses involved omitted symbols.
38082
38083         xalloc.h: use consistent formatting
38084         * lib/xalloc.h: Move declarations to start in the first column.
38085
38086 2010-01-05  Eric Blake  <ebb9@byu.net>
38087
38088         mkdir: avoid xalloc
38089         * lib/mkdir.c (includes): Drop unused header.
38090         Reported by John W. Eaton.
38091
38092 2010-01-04  Jim Meyering  <meyering@redhat.com>
38093
38094         nl_langinfo: avoid configure-time syntax error
38095         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
38096         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
38097         the empty string.  Don't let that provoke a shell syntax error.
38098
38099         regcomp, regexec, fnmatch: avoid array bounds read error
38100         * lib/regcomp.c (build_equiv_class): From glibc:
38101         Use only the low 24 bits of a findidx return value as an index
38102         into the weights array.  Patch by Ulrich Drepper:
38103         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
38104         * lib/regexec.c (check_node_accept_bytes): Likewise.
38105         * lib/fnmatch_loop.c (FCT): Likewise.
38106
38107         regcomp: skip collseq lookup when there are no rules
38108         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
38109         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
38110
38111         regcomp: recognize ill-formed { } expressions
38112         * lib/regcomp.c (parse_dup_op): From glibc:
38113         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
38114
38115         regcomp: fix typo in comment
38116         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
38117         s/satisfy/satisfies/.
38118
38119         regcomp: sync from glibc: remove dead store
38120         * lib/regcomp.c (duplicate_node_closure): Remove useless
38121         search_duplicated_node call and dead store.
38122
38123         regcomp: sync from glibc; always use nl_langinfo
38124         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
38125         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
38126         * modules/regex (Depends-on): Add nl_langinfo.
38127
38128 2010-01-04  Eric Blake  <ebb9@byu.net>
38129
38130         fdopendir: fix configure test
38131         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
38132
38133 2010-01-01  Bruno Haible  <bruno@clisp.org>
38134
38135         wchar: Remove unused configure check.
38136         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
38137
38138 2010-01-01  Eric Blake  <ebb9@byu.net>
38139
38140         headers: make check of system header explicit
38141         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
38142         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
38143         ourselves.
38144         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
38145         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
38146         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
38147         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
38148         internals.
38149         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
38150         missing.
38151         Suggested by Bruno Haible.
38152
38153 2010-01-01  Jim Meyering  <meyering@redhat.com>
38154
38155         ChangeLog: tweak to eliminate unnecessary copyright line
38156         * ChangeLog: Remove a copyright line that was mistakenly updated
38157         by today's update-copyright run.  Reported by Eric Blake.
38158
38159         test-update-copyright: don't let envvar setting cause test failure
38160         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
38161
38162 2010-01-01  Bruno Haible  <bruno@clisp.org>
38163
38164         localename: Avoid gcc warning.
38165         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
38166         function if it is not used.
38167
38168 2010-01-01  Jim Meyering  <meyering@redhat.com>
38169
38170         update nearly all FSF copyright year lists to include 2010
38171         Use the same procedure as for 2009, outlined in
38172         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
38173
38174         version-etc: set COPYRIGHT_YEAR to 2010
38175         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
38176
38177 2009-12-31  Eric Blake  <ebb9@byu.net>
38178
38179         doc: correct availability of cygwin 1.5.x getopt
38180         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
38181         variables.
38182         * doc/posix-functions/opterr.texi (opterr): Likewise.
38183         * doc/posix-functions/optind.texi (optind): Likewise.
38184         * doc/posix-functions/optopt.texi (optopt): Likewise.
38185         * doc/posix-functions/tzname.texi (tzname): Likewise.
38186
38187         openat: update maintainer
38188         * modules/openat (Maintainer): Add myself.
38189
38190         utimens: avoid shadowing warning
38191         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
38192         buffers into one, to avoid shadowing, as well as avoiding a
38193         redundant stat.
38194         Reported by Jim Meyering.
38195
38196         test-dup2: avoid compiler warning
38197         * tests/test-dup2.c (is_inheritable): Only define if used.
38198
38199 2010-01-01  Bruno Haible  <bruno@clisp.org>
38200
38201         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
38202         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
38203         defined, use wctomb instead of wcrtomb.
38204
38205 2010-01-01  Bruno Haible  <bruno@clisp.org>
38206
38207         iconv: Reject native Solaris iconv.
38208         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
38209         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
38210
38211 2009-12-31  Bruno Haible  <bruno@clisp.org>
38212
38213         * tests/test-signal.c (main): Remove test of 'SIG'.
38214
38215 2009-12-31  Bruno Haible  <bruno@clisp.org>
38216
38217         spawn: Fix incomplete fix.
38218         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
38219         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
38220         warnings for GNULIB_POSIXCHECK again.
38221         Reported by Eric Blake.
38222
38223 2009-12-31  Bruno Haible  <bruno@clisp.org>
38224
38225         Avoid namespace pollution on glibc systems.
38226         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
38227         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
38228         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
38229         glibc systems.
38230
38231 2009-12-31  Bruno Haible  <bruno@clisp.org>
38232
38233         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
38234         (gl_REPLACE_WCHAR_H): Turn into a no-op.
38235         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
38236         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
38237         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
38238         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
38239         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
38240
38241 2009-12-31  Bruno Haible  <bruno@clisp.org>
38242
38243         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
38244         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
38245         afterwards.
38246
38247 2009-12-31  Bruno Haible  <bruno@clisp.org>
38248
38249         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
38250         SYS_UTSNAME_H.
38251
38252 2009-12-31  Bruno Haible  <bruno@clisp.org>
38253
38254         spawn: Fix misapplied patch.
38255         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
38256         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
38257         warnings for GNULIB_POSIXCHECK.
38258
38259 2009-12-31  Bruno Haible  <bruno@clisp.org>
38260
38261         times: Update after sys_times changed.
38262         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
38263         * modules/times (Files): Add it.
38264         (configure.ac): Invoke gl_FUNC_TIMES.
38265
38266 2009-12-31  Bruno Haible  <bruno@clisp.org>
38267
38268         Use AC_C_INLINE where necessary.
38269         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
38270         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
38271         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
38272         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
38273         * m4/mbfile.m4 (gl_MBFILE): Likewise.
38274         * m4/mbiter.m4 (gl_MBITER): Likewise.
38275         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
38276         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
38277         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
38278         * modules/u64 (configure.ac): Likewise.
38279
38280 2009-12-31  Bruno Haible  <bruno@clisp.org>
38281
38282         Use AC_C_INLINE instead of module 'inline' where possible.
38283         * modules/inline (Description): Clarify purpose.
38284         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
38285         * modules/count-one-bits (Depends-on): Remove inline.
38286         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
38287         * modules/openat (Depends-on): Remove inline.
38288         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
38289         instead of depending on module 'inline'.
38290         * modules/filevercmp (Depends-on, configure.ac): Likewise.
38291         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
38292         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
38293         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
38294         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
38295         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
38296         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
38297         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
38298         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
38299         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
38300         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
38301         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
38302         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
38303         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
38304         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
38305         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
38306         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
38307         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
38308         Likewise.
38309         * modules/unictype/property-ascii-hex-digit (Depends-on,
38310         configure.ac): Likewise.
38311         * modules/unictype/property-bidi-arabic-digit (Depends-on,
38312         configure.ac): Likewise.
38313         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
38314         configure.ac): Likewise.
38315         * modules/unictype/property-bidi-block-separator (Depends-on,
38316         configure.ac): Likewise.
38317         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
38318         configure.ac): Likewise.
38319         * modules/unictype/property-bidi-common-separator (Depends-on,
38320         configure.ac): Likewise.
38321         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
38322         Likewise.
38323         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
38324         configure.ac): Likewise.
38325         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
38326         configure.ac): Likewise.
38327         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
38328         configure.ac): Likewise.
38329         * modules/unictype/property-bidi-european-digit (Depends-on,
38330         configure.ac): Likewise.
38331         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
38332         configure.ac): Likewise.
38333         * modules/unictype/property-bidi-left-to-right (Depends-on,
38334         configure.ac): Likewise.
38335         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
38336         configure.ac): Likewise.
38337         * modules/unictype/property-bidi-other-neutral (Depends-on,
38338         configure.ac): Likewise.
38339         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
38340         Likewise.
38341         * modules/unictype/property-bidi-segment-separator (Depends-on,
38342         configure.ac): Likewise.
38343         * modules/unictype/property-bidi-whitespace (Depends-on,
38344         configure.ac): Likewise.
38345         * modules/unictype/property-combining (Depends-on, configure.ac):
38346         Likewise.
38347         * modules/unictype/property-composite (Depends-on, configure.ac):
38348         Likewise.
38349         * modules/unictype/property-currency-symbol (Depends-on,
38350         configure.ac): Likewise.
38351         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
38352         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
38353         Likewise.
38354         * modules/unictype/property-default-ignorable-code-point (Depends-on,
38355         configure.ac): Likewise.
38356         * modules/unictype/property-deprecated (Depends-on, configure.ac):
38357         Likewise.
38358         * modules/unictype/property-diacritic (Depends-on, configure.ac):
38359         Likewise.
38360         * modules/unictype/property-extender (Depends-on, configure.ac):
38361         Likewise.
38362         * modules/unictype/property-format-control (Depends-on, configure.ac):
38363         Likewise.
38364         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
38365         Likewise.
38366         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
38367         Likewise.
38368         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
38369         Likewise.
38370         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
38371         Likewise.
38372         * modules/unictype/property-hyphen (Depends-on, configure.ac):
38373         Likewise.
38374         * modules/unictype/property-id-continue (Depends-on, configure.ac):
38375         Likewise.
38376         * modules/unictype/property-id-start (Depends-on, configure.ac):
38377         Likewise.
38378         * modules/unictype/property-ideographic (Depends-on, configure.ac):
38379         Likewise.
38380         * modules/unictype/property-ids-binary-operator (Depends-on,
38381         configure.ac): Likewise.
38382         * modules/unictype/property-ids-trinary-operator (Depends-on,
38383         configure.ac): Likewise.
38384         * modules/unictype/property-ignorable-control (Depends-on,
38385         configure.ac): Likewise.
38386         * modules/unictype/property-iso-control (Depends-on, configure.ac):
38387         Likewise.
38388         * modules/unictype/property-join-control (Depends-on, configure.ac):
38389         Likewise.
38390         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
38391         Likewise.
38392         * modules/unictype/property-line-separator (Depends-on, configure.ac):
38393         Likewise.
38394         * modules/unictype/property-logical-order-exception (Depends-on,
38395         configure.ac): Likewise.
38396         * modules/unictype/property-lowercase (Depends-on, configure.ac):
38397         Likewise.
38398         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
38399         * modules/unictype/property-non-break (Depends-on, configure.ac):
38400         Likewise.
38401         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
38402         Likewise.
38403         * modules/unictype/property-numeric (Depends-on, configure.ac):
38404         Likewise.
38405         * modules/unictype/property-other-alphabetic (Depends-on,
38406         configure.ac): Likewise.
38407         * modules/unictype/property-other-default-ignorable-code-point
38408         (Depends-on, configure.ac): Likewise.
38409         * modules/unictype/property-other-grapheme-extend (Depends-on,
38410         configure.ac): Likewise.
38411         * modules/unictype/property-other-id-continue (Depends-on,
38412         configure.ac): Likewise.
38413         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
38414         Likewise.
38415         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
38416         Likewise.
38417         * modules/unictype/property-other-math (Depends-on, configure.ac):
38418         Likewise.
38419         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
38420         Likewise.
38421         * modules/unictype/property-paired-punctuation (Depends-on,
38422         configure.ac): Likewise.
38423         * modules/unictype/property-paragraph-separator (Depends-on,
38424         configure.ac): Likewise.
38425         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
38426         Likewise.
38427         * modules/unictype/property-pattern-white-space (Depends-on,
38428         configure.ac): Likewise.
38429         * modules/unictype/property-private-use (Depends-on, configure.ac):
38430         Likewise.
38431         * modules/unictype/property-punctuation (Depends-on, configure.ac):
38432         Likewise.
38433         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
38434         Likewise.
38435         * modules/unictype/property-radical (Depends-on, configure.ac):
38436         Likewise.
38437         * modules/unictype/property-sentence-terminal (Depends-on,
38438         configure.ac): Likewise.
38439         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
38440         Likewise.
38441         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
38442         * modules/unictype/property-terminal-punctuation (Depends-on,
38443         configure.ac): Likewise.
38444         * modules/unictype/property-titlecase (Depends-on, configure.ac):
38445         Likewise.
38446         * modules/unictype/property-unassigned-code-value (Depends-on,
38447         configure.ac): Likewise.
38448         * modules/unictype/property-unified-ideograph (Depends-on,
38449         configure.ac): Likewise.
38450         * modules/unictype/property-uppercase (Depends-on, configure.ac):
38451         Likewise.
38452         * modules/unictype/property-variation-selector (Depends-on,
38453         configure.ac): Likewise.
38454         * modules/unictype/property-white-space (Depends-on, configure.ac):
38455         Likewise.
38456         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
38457         Likewise.
38458         * modules/unictype/property-xid-start (Depends-on, configure.ac):
38459         Likewise.
38460         * modules/unictype/property-zero-width (Depends-on, configure.ac):
38461         Likewise.
38462         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
38463         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
38464         Likewise.
38465
38466 2009-12-31  Bruno Haible  <bruno@clisp.org>
38467
38468         Remove unnecessary AC_C_INLINE invocation.
38469         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
38470         since 2009-08-21.
38471
38472 2009-12-31  Jim Meyering  <meyering@redhat.com>
38473
38474         maint.mk: don't require explicit gpg_key_ID in cfg.mk
38475         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
38476         With this change, we can all remove the gpg_key_ID = ... definition
38477         from our respective cfg.mk files.
38478
38479         maint.mk: create announcement template in ~/, not in /tmp
38480         * top/maint.mk (emit_upload_commands): Adjust.
38481         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
38482         Remove temporary file, .ci-msg.
38483
38484 2009-12-31  Eric Blake  <ebb9@byu.net>
38485
38486         link-warning: always build headers with link warnings
38487         * modules/arpa_inet (Makefile.am): Always build replacement
38488         header.
38489         * modules/ctype (Makefile.am): Likewise.
38490         * modules/dirent (Makefile.am): Likewise.
38491         * modules/inttypes (Makefile.am): Likewise.
38492         * modules/langinfo (Makefile.am): Likewise.
38493         * modules/locale (Makefile.am): Likewise.
38494         * modules/spawn (Makefile.am): Likewise.
38495         * modules/sys_file (Makefile.am): Likewise.
38496         * modules/sys_ioctl (Makefile.am): Likewise.
38497         * modules/sys_select (Makefile.am): Likewise.
38498         * modules/sys_socket (Makefile.am): Likewise.
38499         * modules/sys_times (Makefile.am): Likewise.
38500         * modules/sys_utsname (Makefile.am): Likewise.
38501         * modules/sys_wait (Makefile.am): Likewise.
38502         * modules/wchar (Makefile.am): Likewise.
38503         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
38504         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
38505         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
38506         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
38507         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
38508         Likewise.
38509         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
38510         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
38511         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
38512         Likewise.
38513         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
38514         Likewise.
38515         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
38516         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
38517         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
38518         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
38519         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
38520         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
38521         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
38522         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
38523         (gl_WCHAR_H_DEFAULTS): Likewise.
38524
38525 2009-12-31  Eric Blake  <ebb9@byu.net>
38526
38527         signal, spawn: use link warnings
38528         * lib/signal.in.h (sigset_t): Make unconditional.
38529         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
38530         (sigpending, sigprocmask, sigaction): Add link warnings.
38531         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
38532         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
38533         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
38534         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
38535         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
38536         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
38537         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
38538         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
38539         (posix_spawn_file_actions_destroy)
38540         (posix_spawn_file_actions_addopen)
38541         (posix_spawn_file_actions_addclose)
38542         (posix_spawn_file_actions_adddup2): Likewise.
38543         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
38544         * tests/test-signal.c (main): Enhance test.
38545
38546         spawn: improve wrapper support
38547         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
38548         (gl_SPAWN_H_DEFAULTS): New defaults.
38549         * modules/spawn (Makefile.am): Substitute them.
38550         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
38551         Only declare if missing or broken.
38552
38553         sys_times, sys_utsname: use include_next
38554         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
38555         header.
38556         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
38557         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
38558         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
38559         * modules/sys_times (Depends-on): Add include_next.
38560         (Makefile.am): Substitute additional values.
38561         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
38562         * lib/sys_times.in.h (includes): Include native header, if
38563         available.
38564         * lib/sys_utsname.in.h (includes): Likewise.
38565         * tests/test-sys_times.c (main): Enhance test.
38566
38567         fdutimensat: revert prior patch
38568         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
38569         utimens.h.
38570         Reported by Bruno Haible.
38571
38572 2009-12-30  Eric Blake  <ebb9@byu.net>
38573
38574         sys_wait: drop link-warning dependency
38575         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
38576         link-warning efforts.
38577         * lib/sys_wait.in.h: Likewise.
38578
38579         fdutimensat: remove bogus dependency
38580         * modules/fdutimensat (Depends-on): Drop inline.
38581
38582         unistd: fix typo
38583         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
38584
38585 2009-12-30  Bruno Haible  <bruno@clisp.org>
38586
38587         Fix compilation error with Solaris cc.
38588         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
38589         * lib/unicase/u16-is-invariant.c: Likewise.
38590         * lib/unicase/u32-is-invariant.c: Likewise.
38591         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
38592
38593 2009-12-30  Bruno Haible  <bruno@clisp.org>
38594
38595         Fix test crash.
38596         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
38597         locales.
38598         Reported by Simon Josefsson <simon@josefsson.org>.
38599
38600 2009-12-30  Bruno Haible  <bruno@clisp.org>
38601
38602         Fix compilation error on most platforms.
38603         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
38604         Reported by Simon Josefsson <simon@josefsson.org>
38605         and Nelson H. F. Beebe <beebe@math.utah.edu>.
38606
38607 2009-12-30  Eric Blake  <ebb9@byu.net>
38608
38609         futimens, utimensat: work around ntfs-3g bug
38610         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
38611         a ctime bug is present, and expand workaround to cover ntfs-3g.
38612         * lib/utimens.c (fdutimens, lutimens): Likewise.
38613         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
38614         (validate_timespec): Adjust return value.
38615         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
38616         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
38617         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
38618
38619 2009-12-29  Eric Blake  <ebb9@byu.net>
38620
38621         link-warning: make usage consistent
38622         * modules/ctype (Depends-on): Add link-warning.
38623         (Makefile.am): Update rules accordingly.
38624         * modules/langinfo (Depends-on, Makefile.am): Likewise.
38625         * modules/locale (Depends-on, Makefile.am): Likewise.
38626         * modules/sys_file (Makefile.am): Likewise.
38627         * modules/getopt-posix (Makefile.am): Delete unused link warning
38628         efforts.
38629         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
38630         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
38631         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
38632         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
38633
38634         stdio: remove unused variables
38635         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
38636         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
38637         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
38638
38639         tests: test more substitute headers
38640         * modules/ctype-tests: New file.
38641         * modules/dirent-tests: Likewise.
38642         * modules/spawn-tests: Likewise.
38643         * modules/sys_file-tests: Likewise.
38644         * modules/sys_ioctl-tests: Likewise.
38645         * modules/sys_wait-tests: Likewise.
38646         * tests/test-ctype.c: Likewise.
38647         * tests/test-dirent.c: Likewise.
38648         * tests/test-spawn.c: Likewise.
38649         * tests/test-sys_file.c: Likewise.
38650         * tests/test-sys_ioctl.c: Likewise.
38651         * tests/test-sys_wait.c: Likewise.
38652         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
38653         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
38654         whether or not flock is in use.
38655
38656         tests: remove License section from module
38657         * modules/arpa_inet-tests: Remove unneeded section.
38658         * modules/byteswap-tests: Likewise.
38659         * modules/ceilf-tests: Likewise.
38660         * modules/ceill-tests: Likewise.
38661         * modules/crypto/des-tests: Likewise.
38662         * modules/crypto/gc-arcfour-tests: Likewise.
38663         * modules/crypto/gc-arctwo-tests: Likewise.
38664         * modules/crypto/gc-des-tests: Likewise.
38665         * modules/crypto/gc-hmac-md5-tests: Likewise.
38666         * modules/crypto/gc-hmac-sha1-tests: Likewise.
38667         * modules/crypto/gc-md2-tests: Likewise.
38668         * modules/crypto/gc-md4-tests: Likewise.
38669         * modules/crypto/gc-md5-tests: Likewise.
38670         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
38671         * modules/crypto/gc-rijndael-tests: Likewise.
38672         * modules/crypto/gc-sha1-tests: Likewise.
38673         * modules/crypto/gc-tests: Likewise.
38674         * modules/crypto/md2-tests: Likewise.
38675         * modules/crypto/md4-tests: Likewise.
38676         * modules/fcntl-h-tests: Likewise.
38677         * modules/floorf-tests: Likewise.
38678         * modules/floorl-tests: Likewise.
38679         * modules/frexp-nolibm-tests: Likewise.
38680         * modules/frexp-tests: Likewise.
38681         * modules/frexpl-nolibm-tests: Likewise.
38682         * modules/frexpl-tests: Likewise.
38683         * modules/getaddrinfo-tests: Likewise.
38684         * modules/inttypes-tests: Likewise.
38685         * modules/isfinite-tests: Likewise.
38686         * modules/isinf-tests: Likewise.
38687         * modules/ldexpl-tests: Likewise.
38688         * modules/locale-tests: Likewise.
38689         * modules/math-tests: Likewise.
38690         * modules/netdb-tests: Likewise.
38691         * modules/netinet_in-tests: Likewise.
38692         * modules/printf-frexp-tests: Likewise.
38693         * modules/printf-frexpl-tests: Likewise.
38694         * modules/priv-set-tests: Likewise.
38695         * modules/random_r-tests: Likewise.
38696         * modules/round-tests: Likewise.
38697         * modules/roundf-tests: Likewise.
38698         * modules/roundl-tests: Likewise.
38699         * modules/search-tests: Likewise.
38700         * modules/select-tests: Likewise.
38701         * modules/signal-tests: Likewise.
38702         * modules/stdbool-tests: Likewise.
38703         * modules/stddef-tests: Likewise.
38704         * modules/stdint-tests: Likewise.
38705         * modules/stdio-tests: Likewise.
38706         * modules/stdlib-tests: Likewise.
38707         * modules/string-tests: Likewise.
38708         * modules/strings-tests: Likewise.
38709         * modules/sys_select-tests: Likewise.
38710         * modules/sys_socket-tests: Likewise.
38711         * modules/sys_stat-tests: Likewise.
38712         * modules/sys_time-tests: Likewise.
38713         * modules/sys_utsname-tests: Likewise.
38714         * modules/sysexits-tests: Likewise.
38715         * modules/time-tests: Likewise.
38716         * modules/trunc-tests: Likewise.
38717         * modules/truncf-tests: Likewise.
38718         * modules/truncl-tests: Likewise.
38719         * modules/tsearch-tests: Likewise.
38720         * modules/unistd-tests: Likewise.
38721         * modules/wchar-tests: Likewise.
38722         * modules/wctype-tests: Likewise.
38723
38724         tests: fix license on several tests
38725         * tests/test-des.c: Update to GPLv3+.
38726         * tests/test-flock.c: Likewise.
38727         * tests/test-fsync.c: Likewise.
38728         * tests/test-futimens.h: Likewise.
38729         * tests/test-gc-arcfour.c: Likewise.
38730         * tests/test-gc-arctwo.c: Likewise.
38731         * tests/test-gc-des.c: Likewise.
38732         * tests/test-gc-hmac-md5.c: Likewise.
38733         * tests/test-gc-hmac-sha1.c: Likewise.
38734         * tests/test-gc-md2.c: Likewise.
38735         * tests/test-gc-md4.c: Likewise.
38736         * tests/test-gc-md5.c: Likewise.
38737         * tests/test-gc-pbkdf2-sha1.c: Likewise.
38738         * tests/test-gc-rijndael.c: Likewise.
38739         * tests/test-gc-sha1.c: Likewise.
38740         * tests/test-gc.c: Likewise.
38741         * tests/test-getcwd.c: Likewise.
38742         * tests/test-link.c: Likewise.
38743         * tests/test-link.h: Likewise.
38744         * tests/test-lutimens.h: Likewise.
38745         * tests/test-md2.c: Likewise.
38746         * tests/test-md4.c: Likewise.
38747         * tests/test-mkdir.h: Likewise.
38748         * tests/test-rename.c: Likewise.
38749         * tests/test-rename.h: Likewise.
38750         * tests/test-safe-alloc.c: Likewise.
38751         * tests/test-utimens-common.h: Likewise.
38752         * tests/test-utimens.h: Likewise.
38753
38754         maint: sync license texts
38755         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
38756         * doc/gpl-3.0.texi: Revert copyright year update.
38757         * doc/lgpl-3.0.texi: Likewise.
38758
38759 2009-12-29  Jim Meyering  <meyering@redhat.com>
38760
38761         update nearly all FSF copyright year lists to include 2009
38762         The files named by the following are exempted:
38763             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
38764               test -f "$dst" && { echo "$dst"; continue; }
38765               test -d "$dst" || continue
38766               echo "$dst"/$(basename "$src")
38767             done > exempt
38768             git ls-files tests/unictype >> exempt
38769         In the remaining files, convert to all-interval notation if
38770         - there is already at least one year interval like 2000-2003
38771         - the file is maintained by me
38772         - the file is in lib/uni*/, where that style already prevails
38773         Otherwise, use update-copyright's default.
38774
38775 2009-12-29  Simon Josefsson  <simon@josefsson.org>
38776         and Eric Blake  <ebb9@byu.net>
38777
38778         tests: don't require debug system() to pass
38779         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
38780         * tests/test-rmdir.h (test_rmdir_func): Likewise.
38781         * tests/test-unlink.h (test_unlink_func): Likewise.
38782         * tests/test-fstatat.c (main): ...into callers.
38783         * tests/test-lstat.c (main): Likewise.
38784         * tests/test-rmdir.c (main): Likewise.
38785         * tests/test-unlink.c (main): Likewise.
38786         * tests/test-unlinkat.c (main): Likewise.
38787         * tests/test-areadlink-with-size.c (main): Don't require a
38788         debug-only system call to pass, aiding cross-testing to mingw.
38789         * tests/test-areadlink.c (main): Likewise.
38790         * tests/test-areadlinkat-with-size.c (main): Likewise.
38791         * tests/test-areadlinkat.c (main): Likewise.
38792         * tests/test-canonicalize-lgpl.c (main): Likewise.
38793         * tests/test-canonicalize.c (main): Likewise.
38794         * tests/test-chown.c (main): Likewise.
38795         * tests/test-fchownat.c (main): Likewise.
38796         * tests/test-lchown.c (main): Likewise.
38797         * tests/test-fdutimensat.c (main): Likewise.
38798         * tests/test-futimens.c (main): Likewise.
38799         * tests/test-link.c (main): Likewise.
38800         * tests/test-linkat.c (main): Likewise.
38801         * tests/test-mkdir.c (main): Likewise.
38802         * tests/test-mkdirat.c (main): Likewise.
38803         * tests/test-mkfifo.c (main): Likewise.
38804         * tests/test-mkfifoat.c (main): Likewise.
38805         * tests/test-mknod.c (main): Likewise.
38806         * tests/test-readlink.c (main): Likewise.
38807         * tests/test-remove.c (main): Likewise.
38808         * tests/test-rename.c (main): Likewise.
38809         * tests/test-renameat.c (main): Likewise.
38810         * tests/test-symlink.c (main): Likewise.
38811         * tests/test-symlinkat.c (main): Likewise.
38812         * tests/test-utimens.c (main): Likewise.
38813         * tests/test-utimensat.c (main): Likewise.
38814
38815 2009-12-29  Simon Josefsson  <simon@josefsson.org>
38816
38817         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
38818         on $(UNUSED_PARAMETER_H) to avoid build failure.
38819
38820 2009-12-28  Jim Meyering  <meyering@redhat.com>
38821
38822         update-copyright: you may specify a max. line length other than 72
38823         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
38824
38825         maint: use consistent FSF copyright line syntax
38826         * lib/posixtm.c: Add missing comma in FSF copyright line.
38827         * lib/posixtm.h: Likewise.
38828         * lib/getugroups.c: Add missing ", Inc.".
38829
38830         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
38831         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
38832         FSF copyright line.  Remove trailing blanks.
38833
38834 2009-12-28  Eric Blake  <ebb9@byu.net>
38835
38836         test-dup2: reduce dependencies
38837         * modules/cloexec (Configure.ac): Set witness.
38838         * modules/dup2-tests (Depends-on): Drop cloexec.
38839         * tests/test-dup2.c (main): Skip portion of test if cloexec module
38840         not present.
38841         Suggested by Bruno Haible.
38842
38843 2009-12-26  Bruno Haible  <bruno@clisp.org>
38844
38845         Remove an unneeded dependency.
38846         * modules/fseterr (Depends-on): Remove dup2.
38847
38848 2009-12-26  Eric Blake  <ebb9@byu.net>
38849
38850         tests: use macros.h in more places
38851         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
38852         (ASSERT_STREAM): Provide default of stderr.
38853         * tests/test-dirent-safer.c: Include macros.h, using alternate
38854         stream for assertions.
38855         * tests/test-dup-safer.c: Likewise.
38856         * tests/test-freopen-safer.c: Likewise.
38857         * tests/test-getopt.c: Likewise.
38858         * tests/test-openat-safer.c: Likewise.
38859         * tests/test-pipe.c: Likewise.
38860         * tests/test-popen-safer.c: Likewise.
38861         * modules/dirent-safer-tests (Files): Include macros.h.
38862         * modules/unistd-safer-tests (Files): Likewise.
38863         * modules/freopen-safer-tests (Files): Likewise.
38864         * modules/getopt-posix-tests (Files): Likewise.
38865         * modules/openat-safer-tests (Files): Likewise.
38866         * modules/pipe-tests (Files): Likewise.
38867
38868 2009-12-26  Bruno Haible  <bruno@clisp.org>
38869
38870         javacomp: Portability fix.
38871         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
38872         that it also works on Solaris.
38873
38874 2009-12-26  Bruno Haible  <bruno@clisp.org>
38875
38876         localename: Fix storage allocation of gl_locale_name_thread's result.
38877         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
38878         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
38879         all platforms that have 'uselocale'.
38880         (gl_locale_name_thread_unsafe): New function, extracted from
38881         gl_locale_name_thread.
38882         (gl_locale_name_thread): Call struniq on all platforms that have
38883         'uselocale'.
38884         * tests/test-localename.c (test_locale_name_thread): Check that the
38885         resulting strings are permanently allocated.
38886         * modules/localename-tests (Depends-on): Add strdup.
38887
38888 2009-12-26  Bruno Haible  <bruno@clisp.org>
38889
38890         * tests/test-localename.c (categories): Fill in the strings.
38891
38892 2009-12-26  Jim Meyering  <meyering@redhat.com>
38893
38894         isdir: complete the removal of m4/isdir.m4
38895         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
38896
38897         isdir: clean up, since at least grep still uses it
38898         * lib/isdir.c: Include "isdir.h".
38899         (S_ISDIR): Remove now-unneeded definition.
38900         * modules/isdir (Files): Add lib/isdir.h.
38901         * lib/isdir.h: New file, with declaration.
38902         * m4/isdir.m4: Remove file -- unneeded.
38903
38904 2009-12-25  Bruno Haible  <bruno@clisp.org>
38905
38906         selinux-h: Make generated .h files standalone.
38907         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
38908         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
38909         * lib/se-selinux.in.h: Likewise.
38910         * modules/selinux-h (Depends-on): Add unused-parameter.
38911         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
38912         selinux/selinux.h and selinux/context.h.
38913         Suggested by Eric Blake.
38914
38915 2009-12-25  Bruno Haible  <bruno@clisp.org>
38916
38917         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
38918         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
38919         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
38920         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
38921         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
38922
38923 2009-12-24  Bruno Haible  <bruno@clisp.org>
38924
38925         openat: Fix warning.
38926         * lib/openat-proc.c: Include <unistd.h>.
38927
38928 2009-12-24  Bruno Haible  <bruno@clisp.org>
38929
38930         New module 'unused-parameter'.
38931         * build-aux/unused-parameter.h: New file, extracted from earlier
38932         gnulib-common.m4.
38933         * modules/unused-parameter: New file.
38934         * lib/unistr.h: Include unused-parameter.h.
38935         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
38936         _GL_UNUSED.
38937         * modules/unistr/base (Depends-on): Add unused-parameter.
38938
38939 2009-12-24  Bruno Haible  <bruno@clisp.org>
38940
38941         Add missing dependencies to 'extensions' module.
38942         * m4/extensions.m4: Add comment.
38943         * modules/accept4 (Depends-on): Add extensions.
38944         * modules/dup3 (Depends-on): Likewise.
38945         * modules/fcntl (Depends-on): Likewise.
38946         * modules/futimens (Depends-on): Likewise.
38947         * modules/mknod (Depends-on): Likewise.
38948         * modules/pipe2 (Depends-on): Likewise.
38949         * modules/stat-time (Depends-on): Likewise.
38950         * modules/strcasestr-simple (Depends-on): Likewise.
38951         * modules/strsignal (Depends-on): Likewise.
38952         * modules/utimensat (Depends-on): Likewise.
38953         * modules/localcharset (Depends-on): Likewise. Needed because of
38954         gl_FCNTL_O_FLAGS.
38955         * modules/wcrtomb (Depends-on): Likewise. Needed because of
38956         AC_TYPE_MBSTATE_T.
38957         * modules/wcsnrtombs (Depends-on): Likewise.
38958         * modules/wcsrtombs (Depends-on): Likewise.
38959
38960 2009-12-24  Bruno Haible  <bruno@clisp.org>
38961
38962         binary-io: Avoid gcc warning due to SET_BINARY.
38963         * lib/binary-io.h (SET_BINARY): Cast the result to void.
38964         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
38965
38966 2009-12-24  Bruno Haible  <bruno@clisp.org>
38967
38968         Avoid future namespace pollution on glibc systems.
38969         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
38970         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
38971         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
38972         glibc systems.
38973
38974 2009-12-24  Bruno Haible  <bruno@clisp.org>
38975
38976         Refactor common macros used in tests.
38977         * tests/macros.h: New file.
38978         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
38979         and/or <stdlib.h>, if appropriate.
38980         (ASSERT, SIZEOF): Remove macros.
38981         * tests/test-areadlink-with-size.c: Likewise.
38982         * tests/test-areadlinkat.c: Likewise.
38983         * tests/test-areadlinkat-with-size.c: Likewise.
38984         * tests/test-argmatch.c: Likewise.
38985         * tests/test-argv-iter.c: Likewise.
38986         * tests/test-array-mergesort.c: Likewise.
38987         * tests/test-array_list.c: Likewise.
38988         * tests/test-array_oset.c: Likewise.
38989         * tests/test-avltree_list.c: Likewise.
38990         * tests/test-avltree_oset.c: Likewise.
38991         * tests/test-avltreehash_list.c: Likewise.
38992         * tests/test-base64.c: Likewise.
38993         * tests/test-binary-io.c: Likewise.
38994         * tests/test-bitrotate.c: Likewise.
38995         * tests/test-btowc.c: Likewise.
38996         * tests/test-byteswap.c: Likewise.
38997         * tests/test-c-ctype.c: Likewise.
38998         * tests/test-c-stack.c: Likewise.
38999         * tests/test-c-strcasecmp.c: Likewise.
39000         * tests/test-c-strcasestr.c: Likewise.
39001         * tests/test-c-strncasecmp.c: Likewise.
39002         * tests/test-c-strstr.c: Likewise.
39003         * tests/test-canonicalize-lgpl.c: Likewise.
39004         * tests/test-canonicalize.c: Likewise.
39005         * tests/test-carray_list.c: Likewise.
39006         * tests/test-ceilf1.c: Likewise.
39007         * tests/test-ceilf2.c: Likewise.
39008         * tests/test-ceill.c: Likewise.
39009         * tests/test-chown.c: Likewise.
39010         * tests/test-cloexec.c: Likewise.
39011         * tests/test-copy-acl.c: Likewise.
39012         * tests/test-copy-file.c: Likewise.
39013         * tests/test-count-one-bits.c: Likewise.
39014         * tests/test-dprintf-posix.c: Likewise.
39015         * tests/test-dup2.c: Likewise.
39016         * tests/test-dup3.c: Likewise.
39017         * tests/test-duplocale.c: Likewise.
39018         * tests/test-fbufmode.c: Likewise.
39019         * tests/test-fchdir.c: Likewise.
39020         * tests/test-fchownat.c: Likewise.
39021         * tests/test-fcntl-safer.c: Likewise.
39022         * tests/test-fcntl.c: Likewise.
39023         * tests/test-fdopendir.c: Likewise.
39024         * tests/test-fdutimensat.c: Likewise.
39025         * tests/test-fflush2.c: Likewise.
39026         * tests/test-file-has-acl.c: Likewise.
39027         * tests/test-filevercmp.c: Likewise.
39028         * tests/test-flock.c: Likewise.
39029         * tests/test-floorf1.c: Likewise.
39030         * tests/test-floorf2.c: Likewise.
39031         * tests/test-floorl.c: Likewise.
39032         * tests/test-fnmatch.c: Likewise.
39033         * tests/test-fopen.h: Likewise.
39034         * tests/test-fpending.c: Likewise.
39035         * tests/test-fprintf-posix.c: Likewise.
39036         * tests/test-fpurge.c: Likewise.
39037         * tests/test-freadable.c: Likewise.
39038         * tests/test-freadahead.c: Likewise.
39039         * tests/test-freading.c: Likewise.
39040         * tests/test-freadptr.c: Likewise.
39041         * tests/test-freadptr2.c: Likewise.
39042         * tests/test-freadseek.c: Likewise.
39043         * tests/test-freopen.c: Likewise.
39044         * tests/test-frexp.c: Likewise.
39045         * tests/test-frexpl.c: Likewise.
39046         * tests/test-fseek.c: Likewise.
39047         * tests/test-fseeko.c: Likewise.
39048         * tests/test-fstatat.c: Likewise.
39049         * tests/test-fstrcmp.c: Likewise.
39050         * tests/test-fsync.c: Likewise.
39051         * tests/test-ftell.c: Likewise.
39052         * tests/test-ftello.c: Likewise.
39053         * tests/test-func.c: Likewise.
39054         * tests/test-futimens.c: Likewise.
39055         * tests/test-fwritable.c: Likewise.
39056         * tests/test-fwriting.c: Likewise.
39057         * tests/test-getcwd.c: Likewise.
39058         * tests/test-getdate.c: Likewise.
39059         * tests/test-getdelim.c: Likewise.
39060         * tests/test-getdtablesize.c: Likewise.
39061         * tests/test-getgroups.c: Likewise.
39062         * tests/test-getline.c: Likewise.
39063         * tests/test-getndelim2.c: Likewise.
39064         * tests/test-glob.c: Likewise.
39065         * tests/test-hash.c: Likewise.
39066         * tests/test-i-ring.c: Likewise.
39067         * tests/test-iconv-utf.c: Likewise.
39068         * tests/test-iconv.c: Likewise.
39069         * tests/test-idpriv-drop.c: Likewise.
39070         * tests/test-idpriv-droptemp.c: Likewise.
39071         * tests/test-inet_ntop.c: Likewise.
39072         * tests/test-inet_pton.c: Likewise.
39073         * tests/test-isblank.c: Likewise.
39074         * tests/test-isfinite.c: Likewise.
39075         * tests/test-isinf.c: Likewise.
39076         * tests/test-isnan.c: Likewise.
39077         * tests/test-isnand.h: Likewise.
39078         * tests/test-isnanf.h: Likewise.
39079         * tests/test-isnanl.h: Likewise.
39080         * tests/test-lchown.c: Likewise.
39081         * tests/test-ldexpl.c: Likewise.
39082         * tests/test-link.c: Likewise.
39083         * tests/test-linkat.c: Likewise.
39084         * tests/test-linked_list.c: Likewise.
39085         * tests/test-linkedhash_list.c: Likewise.
39086         * tests/test-localename.c: Likewise.
39087         * tests/test-lseek.c: Likewise.
39088         * tests/test-lstat.c: Likewise.
39089         * tests/test-mbmemcasecmp.c: Likewise.
39090         * tests/test-mbmemcasecoll.c: Likewise.
39091         * tests/test-mbrtowc.c: Likewise.
39092         * tests/test-mbscasecmp.c: Likewise.
39093         * tests/test-mbscasestr1.c: Likewise.
39094         * tests/test-mbscasestr2.c: Likewise.
39095         * tests/test-mbscasestr3.c: Likewise.
39096         * tests/test-mbscasestr4.c: Likewise.
39097         * tests/test-mbschr.c: Likewise.
39098         * tests/test-mbscspn.c: Likewise.
39099         * tests/test-mbsinit.c: Likewise.
39100         * tests/test-mbsncasecmp.c: Likewise.
39101         * tests/test-mbsnrtowcs.c: Likewise.
39102         * tests/test-mbspbrk.c: Likewise.
39103         * tests/test-mbspcasecmp.c: Likewise.
39104         * tests/test-mbsrchr.c: Likewise.
39105         * tests/test-mbsrtowcs.c: Likewise.
39106         * tests/test-mbsspn.c: Likewise.
39107         * tests/test-mbsstr1.c: Likewise.
39108         * tests/test-mbsstr2.c: Likewise.
39109         * tests/test-mbsstr3.c: Likewise.
39110         * tests/test-memchr.c: Likewise.
39111         * tests/test-memchr2.c: Likewise.
39112         * tests/test-memcmp.c: Likewise.
39113         * tests/test-memmem.c: Likewise.
39114         * tests/test-memrchr.c: Likewise.
39115         * tests/test-mkdir.c: Likewise.
39116         * tests/test-mkdirat.c: Likewise.
39117         * tests/test-mkfifo.c: Likewise.
39118         * tests/test-mkfifoat.c: Likewise.
39119         * tests/test-mknod.c: Likewise.
39120         * tests/test-nanosleep.c: Likewise.
39121         * tests/test-nl_langinfo.c: Likewise.
39122         * tests/test-obstack-printf.c: Likewise.
39123         * tests/test-open.c: Likewise.
39124         * tests/test-openat.c: Likewise.
39125         * tests/test-pipe-filter-gi1.c: Likewise.
39126         * tests/test-pipe-filter-gi2-main.c: Likewise.
39127         * tests/test-pipe-filter-ii1.c: Likewise.
39128         * tests/test-pipe-filter-ii2-main.c: Likewise.
39129         * tests/test-pipe2.c: Likewise.
39130         * tests/test-popen.h: Likewise.
39131         * tests/test-posixtm.c: Likewise.
39132         * tests/test-pread.c: Likewise.
39133         * tests/test-printf-frexp.c: Likewise.
39134         * tests/test-printf-frexpl.c: Likewise.
39135         * tests/test-printf-posix.c: Likewise.
39136         * tests/test-priv-set.c: Likewise.
39137         * tests/test-quotearg.c: Likewise.
39138         * tests/test-random_r.c: Likewise.
39139         * tests/test-rawmemchr.c: Likewise.
39140         * tests/test-rbtree_list.c: Likewise.
39141         * tests/test-rbtree_oset.c: Likewise.
39142         * tests/test-rbtreehash_list.c: Likewise.
39143         * tests/test-readlink.c: Likewise.
39144         * tests/test-remove.c: Likewise.
39145         * tests/test-rename.c: Likewise.
39146         * tests/test-renameat.c: Likewise.
39147         * tests/test-rmdir.c: Likewise.
39148         * tests/test-round1.c: Likewise.
39149         * tests/test-roundf1.c: Likewise.
39150         * tests/test-roundl.c: Likewise.
39151         * tests/test-safe-alloc.c: Likewise.
39152         * tests/test-sameacls.c: Likewise.
39153         * tests/test-set-mode-acl.c: Likewise.
39154         * tests/test-setenv.c: Likewise.
39155         * tests/test-sigaction.c: Likewise.
39156         * tests/test-signbit.c: Likewise.
39157         * tests/test-sleep.c: Likewise.
39158         * tests/test-snprintf-posix.c: Likewise.
39159         * tests/test-snprintf.c: Likewise.
39160         * tests/test-sprintf-posix.c: Likewise.
39161         * tests/test-stat-time.c: Likewise.
39162         * tests/test-stat.c: Likewise.
39163         * tests/test-strcasestr.c: Likewise.
39164         * tests/test-strchrnul.c: Likewise.
39165         * tests/test-strerror.c: Likewise.
39166         * tests/test-striconv.c: Likewise.
39167         * tests/test-striconveh.c: Likewise.
39168         * tests/test-striconveha.c: Likewise.
39169         * tests/test-strsignal.c: Likewise.
39170         * tests/test-strstr.c: Likewise.
39171         * tests/test-strtod.c: Likewise.
39172         * tests/test-strverscmp.c: Likewise.
39173         * tests/test-symlink.c: Likewise.
39174         * tests/test-symlinkat.c: Likewise.
39175         * tests/test-trunc1.c: Likewise.
39176         * tests/test-trunc2.c: Likewise.
39177         * tests/test-truncf1.c: Likewise.
39178         * tests/test-truncf2.c: Likewise.
39179         * tests/test-truncl.c: Likewise.
39180         * tests/test-uname.c: Likewise.
39181         * tests/test-unlink.c: Likewise.
39182         * tests/test-unlinkat.c: Likewise.
39183         * tests/test-unsetenv.c: Likewise.
39184         * tests/test-usleep.c: Likewise.
39185         * tests/test-utimens.c: Likewise.
39186         * tests/test-utimensat.c: Likewise.
39187         * tests/test-vasnprintf-posix.c: Likewise.
39188         * tests/test-vasnprintf-posix2.c: Likewise.
39189         * tests/test-vasnprintf.c: Likewise.
39190         * tests/test-vasprintf-posix.c: Likewise.
39191         * tests/test-vasprintf.c: Likewise.
39192         * tests/test-vdprintf-posix.c: Likewise.
39193         * tests/test-vfprintf-posix.c: Likewise.
39194         * tests/test-vprintf-posix.c: Likewise.
39195         * tests/test-vsnprintf-posix.c: Likewise.
39196         * tests/test-vsnprintf.c: Likewise.
39197         * tests/test-vsprintf-posix.c: Likewise.
39198         * tests/test-wcrtomb.c: Likewise.
39199         * tests/test-wcsnrtombs.c: Likewise.
39200         * tests/test-wcsrtombs.c: Likewise.
39201         * tests/test-wctype.c: Likewise.
39202         * tests/test-wcwidth.c: Likewise.
39203         * tests/test-xfprintf-posix.c: Likewise.
39204         * tests/test-xmemdup0.c: Likewise.
39205         * tests/test-xprintf-posix.c: Likewise.
39206         * tests/test-xvasprintf.c: Likewise.
39207         * tests/unicase/test-locale-language.c: Likewise.
39208         * tests/unicase/test-mapping-part1.h: Likewise.
39209         * tests/unicase/test-predicate-part1.h: Likewise.
39210         * tests/unicase/test-u8-casecmp.c: Likewise.
39211         * tests/unicase/test-u8-casecoll.c: Likewise.
39212         * tests/unicase/test-u8-casefold.c: Likewise.
39213         * tests/unicase/test-u8-is-cased.c: Likewise.
39214         * tests/unicase/test-u8-is-casefolded.c: Likewise.
39215         * tests/unicase/test-u8-is-lowercase.c: Likewise.
39216         * tests/unicase/test-u8-is-titlecase.c: Likewise.
39217         * tests/unicase/test-u8-is-uppercase.c: Likewise.
39218         * tests/unicase/test-u8-tolower.c: Likewise.
39219         * tests/unicase/test-u8-totitle.c: Likewise.
39220         * tests/unicase/test-u8-toupper.c: Likewise.
39221         * tests/unicase/test-u16-casecmp.c: Likewise.
39222         * tests/unicase/test-u16-casecoll.c: Likewise.
39223         * tests/unicase/test-u16-casefold.c: Likewise.
39224         * tests/unicase/test-u16-is-cased.c: Likewise.
39225         * tests/unicase/test-u16-is-casefolded.c: Likewise.
39226         * tests/unicase/test-u16-is-lowercase.c: Likewise.
39227         * tests/unicase/test-u16-is-titlecase.c: Likewise.
39228         * tests/unicase/test-u16-is-uppercase.c: Likewise.
39229         * tests/unicase/test-u16-tolower.c: Likewise.
39230         * tests/unicase/test-u16-totitle.c: Likewise.
39231         * tests/unicase/test-u16-toupper.c: Likewise.
39232         * tests/unicase/test-u32-casecmp.c: Likewise.
39233         * tests/unicase/test-u32-casecoll.c: Likewise.
39234         * tests/unicase/test-u32-casefold.c: Likewise.
39235         * tests/unicase/test-u32-is-cased.c: Likewise.
39236         * tests/unicase/test-u32-is-casefolded.c: Likewise.
39237         * tests/unicase/test-u32-is-lowercase.c: Likewise.
39238         * tests/unicase/test-u32-is-titlecase.c: Likewise.
39239         * tests/unicase/test-u32-is-uppercase.c: Likewise.
39240         * tests/unicase/test-u32-tolower.c: Likewise.
39241         * tests/unicase/test-u32-totitle.c: Likewise.
39242         * tests/unicase/test-u32-toupper.c: Likewise.
39243         * tests/unicase/test-ulc-casecmp.c: Likewise.
39244         * tests/unicase/test-ulc-casecoll.c: Likewise.
39245         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
39246         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
39247         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
39248         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
39249         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
39250         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
39251         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
39252         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
39253         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
39254         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
39255         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
39256         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
39257         * tests/unictype/test-bidi_byname.c: Likewise.
39258         * tests/unictype/test-bidi_name.c: Likewise.
39259         * tests/unictype/test-bidi_of.c: Likewise.
39260         * tests/unictype/test-bidi_test.c: Likewise.
39261         * tests/unictype/test-block_list.c: Likewise.
39262         * tests/unictype/test-block_of.c: Likewise.
39263         * tests/unictype/test-block_test.c: Likewise.
39264         * tests/unictype/test-categ_and.c: Likewise.
39265         * tests/unictype/test-categ_and_not.c: Likewise.
39266         * tests/unictype/test-categ_byname.c: Likewise.
39267         * tests/unictype/test-categ_name.c: Likewise.
39268         * tests/unictype/test-categ_none.c: Likewise.
39269         * tests/unictype/test-categ_of.c: Likewise.
39270         * tests/unictype/test-categ_or.c: Likewise.
39271         * tests/unictype/test-categ_test_withtable.c: Likewise.
39272         * tests/unictype/test-combining.c: Likewise.
39273         * tests/unictype/test-decdigit.c: Likewise.
39274         * tests/unictype/test-digit.c: Likewise.
39275         * tests/unictype/test-mirror.c: Likewise.
39276         * tests/unictype/test-numeric.c: Likewise.
39277         * tests/unictype/test-pr_byname.c: Likewise.
39278         * tests/unictype/test-pr_test.c: Likewise.
39279         * tests/unictype/test-predicate-part1.h: Likewise.
39280         * tests/unictype/test-scripts.c: Likewise.
39281         * tests/unictype/test-sy_c_ident.c: Likewise.
39282         * tests/unictype/test-sy_java_ident.c: Likewise.
39283         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
39284         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
39285         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
39286         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
39287         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
39288         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
39289         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
39290         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
39291         * tests/uninorm/test-canonical-decomposition.c: Likewise.
39292         * tests/uninorm/test-compat-decomposition.c: Likewise.
39293         * tests/uninorm/test-composition.c: Likewise.
39294         * tests/uninorm/test-decomposing-form.c: Likewise.
39295         * tests/uninorm/test-decomposition.c: Likewise.
39296         * tests/uninorm/test-u8-nfc.c: Likewise.
39297         * tests/uninorm/test-u8-nfd.c: Likewise.
39298         * tests/uninorm/test-u8-nfkc.c: Likewise.
39299         * tests/uninorm/test-u8-nfkd.c: Likewise.
39300         * tests/uninorm/test-u8-normcmp.c: Likewise.
39301         * tests/uninorm/test-u8-normcoll.c: Likewise.
39302         * tests/uninorm/test-u16-nfc.c: Likewise.
39303         * tests/uninorm/test-u16-nfd.c: Likewise.
39304         * tests/uninorm/test-u16-nfkc.c: Likewise.
39305         * tests/uninorm/test-u16-nfkd.c: Likewise.
39306         * tests/uninorm/test-u16-normcmp.c: Likewise.
39307         * tests/uninorm/test-u16-normcoll.c: Likewise.
39308         * tests/uninorm/test-u32-nfc.c: Likewise.
39309         * tests/uninorm/test-u32-nfd.c: Likewise.
39310         * tests/uninorm/test-u32-nfkc.c: Likewise.
39311         * tests/uninorm/test-u32-nfkd.c: Likewise.
39312         * tests/uninorm/test-u32-normalize-big.c: Likewise.
39313         * tests/uninorm/test-u32-normcmp.c: Likewise.
39314         * tests/uninorm/test-u32-normcoll.c: Likewise.
39315         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
39316         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
39317         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
39318         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
39319         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
39320         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
39321         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
39322         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
39323         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
39324         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
39325         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
39326         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
39327         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
39328         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
39329         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
39330         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
39331         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
39332         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
39333         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
39334         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
39335         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
39336         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
39337         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
39338         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
39339         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
39340         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
39341         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
39342         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
39343         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
39344         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
39345         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
39346         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
39347         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
39348         * tests/uniwidth/test-u8-strwidth.c: Likewise.
39349         * tests/uniwidth/test-u8-width.c: Likewise.
39350         * tests/uniwidth/test-u16-strwidth.c: Likewise.
39351         * tests/uniwidth/test-u16-width.c: Likewise.
39352         * tests/uniwidth/test-u32-strwidth.c: Likewise.
39353         * tests/uniwidth/test-u32-width.c: Likewise.
39354         * tests/uniwidth/test-uc_width.c: Likewise.
39355         * tests/uniwidth/test-uc_width2.c: Likewise.
39356         * modules/acl-tests (Files): Add tests/macros.h.
39357         * modules/areadlink-tests (Files): Likewise.
39358         * modules/areadlink-with-size-tests (Files): Likewise.
39359         * modules/areadlinkat-tests (Files): Likewise.
39360         * modules/areadlinkat-with-size-tests (Files): Likewise.
39361         * modules/argmatch-tests (Files): Likewise.
39362         * modules/argv-iter-tests (Files): Likewise.
39363         * modules/array-list-tests (Files): Likewise.
39364         * modules/array-mergesort-tests (Files): Likewise.
39365         * modules/array-oset-tests (Files): Likewise.
39366         * modules/avltree-list-tests (Files): Likewise.
39367         * modules/avltree-oset-tests (Files): Likewise.
39368         * modules/avltreehash-list-tests (Files): Likewise.
39369         * modules/base64-tests (Files): Likewise.
39370         * modules/binary-io-tests (Files): Likewise.
39371         * modules/bitrotate-tests (Files): Likewise.
39372         * modules/btowc-tests (Files): Likewise.
39373         * modules/byteswap-tests (Files): Likewise.
39374         * modules/c-ctype-tests (Files): Likewise.
39375         * modules/c-stack-tests (Files): Likewise.
39376         * modules/c-strcase-tests (Files): Likewise.
39377         * modules/c-strcasestr-tests (Files): Likewise.
39378         * modules/c-strstr-tests (Files): Likewise.
39379         * modules/canonicalize-lgpl-tests (Files): Likewise.
39380         * modules/canonicalize-tests (Files): Likewise.
39381         * modules/carray-list-tests (Files): Likewise.
39382         * modules/ceilf-tests (Files): Likewise.
39383         * modules/ceill-tests (Files): Likewise.
39384         * modules/chown-tests (Files): Likewise.
39385         * modules/cloexec-tests (Files): Likewise.
39386         * modules/copy-file-tests (Files): Likewise.
39387         * modules/count-one-bits-tests (Files): Likewise.
39388         * modules/dprintf-posix-tests (Files): Likewise.
39389         * modules/dup2-tests (Files): Likewise.
39390         * modules/dup3-tests (Files): Likewise.
39391         * modules/duplocale-tests (Files): Likewise.
39392         * modules/fbufmode-tests (Files): Likewise.
39393         * modules/fchdir-tests (Files): Likewise.
39394         * modules/fcntl-safer-tests (Files): Likewise.
39395         * modules/fcntl-tests (Files): Likewise.
39396         * modules/fdopendir-tests (Files): Likewise.
39397         * modules/fdutimensat-tests (Files): Likewise.
39398         * modules/fflush-tests (Files): Likewise.
39399         * modules/filevercmp-tests (Files): Likewise.
39400         * modules/flock-tests (Files): Likewise.
39401         * modules/floorf-tests (Files): Likewise.
39402         * modules/floorl-tests (Files): Likewise.
39403         * modules/fnmatch-tests (Files): Likewise.
39404         * modules/fopen-safer-tests (Files): Likewise.
39405         * modules/fopen-tests (Files): Likewise.
39406         * modules/fpending-tests (Files): Likewise.
39407         * modules/fprintf-posix-tests (Files): Likewise.
39408         * modules/fpurge-tests (Files): Likewise.
39409         * modules/freadable-tests (Files): Likewise.
39410         * modules/freadahead-tests (Files): Likewise.
39411         * modules/freading-tests (Files): Likewise.
39412         * modules/freadptr-tests (Files): Likewise.
39413         * modules/freadseek-tests (Files): Likewise.
39414         * modules/freopen-tests (Files): Likewise.
39415         * modules/frexp-nolibm-tests (Files): Likewise.
39416         * modules/frexp-tests (Files): Likewise.
39417         * modules/frexpl-nolibm-tests (Files): Likewise.
39418         * modules/frexpl-tests (Files): Likewise.
39419         * modules/fseek-tests (Files): Likewise.
39420         * modules/fseeko-tests (Files): Likewise.
39421         * modules/fstrcmp-tests (Files): Likewise.
39422         * modules/fsync-tests (Files): Likewise.
39423         * modules/ftell-tests (Files): Likewise.
39424         * modules/ftello-tests (Files): Likewise.
39425         * modules/func-tests (Files): Likewise.
39426         * modules/futimens-tests (Files): Likewise.
39427         * modules/fwritable-tests (Files): Likewise.
39428         * modules/fwriting-tests (Files): Likewise.
39429         * modules/getcwd-tests (Files): Likewise.
39430         * modules/getdate-tests (Files): Likewise.
39431         * modules/getdelim-tests (Files): Likewise.
39432         * modules/getdtablesize-tests (Files): Likewise.
39433         * modules/getgroups-tests (Files): Likewise.
39434         * modules/getline-tests (Files): Likewise.
39435         * modules/getndelim2-tests (Files): Likewise.
39436         * modules/glob-tests (Files): Likewise.
39437         * modules/hash-tests (Files): Likewise.
39438         * modules/i-ring-tests (Files): Likewise.
39439         * modules/iconv-tests (Files): Likewise.
39440         * modules/iconv_open-utf-tests (Files): Likewise.
39441         * modules/idpriv-drop-tests (Files): Likewise.
39442         * modules/idpriv-droptemp-tests (Files): Likewise.
39443         * modules/inet_ntop-tests (Files): Likewise.
39444         * modules/inet_pton-tests (Files): Likewise.
39445         * modules/isblank-tests (Files): Likewise.
39446         * modules/isfinite-tests (Files): Likewise.
39447         * modules/isinf-tests (Files): Likewise.
39448         * modules/isnan-tests (Files): Likewise.
39449         * modules/isnand-nolibm-tests (Files): Likewise.
39450         * modules/isnand-tests (Files): Likewise.
39451         * modules/isnanf-nolibm-tests (Files): Likewise.
39452         * modules/isnanf-tests (Files): Likewise.
39453         * modules/isnanl-nolibm-tests (Files): Likewise.
39454         * modules/isnanl-tests (Files): Likewise.
39455         * modules/lchown-tests (Files): Likewise.
39456         * modules/ldexpl-tests (Files): Likewise.
39457         * modules/link-tests (Files): Likewise.
39458         * modules/linkat-tests (Files): Likewise.
39459         * modules/linked-list-tests (Files): Likewise.
39460         * modules/linkedhash-list-tests (Files): Likewise.
39461         * modules/localename-tests (Files): Likewise.
39462         * modules/lseek-tests (Files): Likewise.
39463         * modules/lstat-tests (Files): Likewise.
39464         * modules/mbmemcasecmp-tests (Files): Likewise.
39465         * modules/mbmemcasecoll-tests (Files): Likewise.
39466         * modules/mbrtowc-tests (Files): Likewise.
39467         * modules/mbscasecmp-tests (Files): Likewise.
39468         * modules/mbscasestr-tests (Files): Likewise.
39469         * modules/mbschr-tests (Files): Likewise.
39470         * modules/mbscspn-tests (Files): Likewise.
39471         * modules/mbsinit-tests (Files): Likewise.
39472         * modules/mbsncasecmp-tests (Files): Likewise.
39473         * modules/mbsnrtowcs-tests (Files): Likewise.
39474         * modules/mbspbrk-tests (Files): Likewise.
39475         * modules/mbspcasecmp-tests (Files): Likewise.
39476         * modules/mbsrchr-tests (Files): Likewise.
39477         * modules/mbsrtowcs-tests (Files): Likewise.
39478         * modules/mbsspn-tests (Files): Likewise.
39479         * modules/mbsstr-tests (Files): Likewise.
39480         * modules/memchr-tests (Files): Likewise.
39481         * modules/memchr2-tests (Files): Likewise.
39482         * modules/memcmp-tests (Files): Likewise.
39483         * modules/memmem-tests (Files): Likewise.
39484         * modules/memrchr-tests (Files): Likewise.
39485         * modules/mkdir-tests (Files): Likewise.
39486         * modules/mkfifo-tests (Files): Likewise.
39487         * modules/mkfifoat-tests (Files): Likewise.
39488         * modules/mknod-tests (Files): Likewise.
39489         * modules/nanosleep-tests (Files): Likewise.
39490         * modules/nl_langinfo-tests (Files): Likewise.
39491         * modules/obstack-printf-tests (Files): Likewise.
39492         * modules/open-tests (Files): Likewise.
39493         * modules/openat-tests (Files): Likewise.
39494         * modules/pipe-filter-gi-tests (Files): Likewise.
39495         * modules/pipe-filter-ii-tests (Files): Likewise.
39496         * modules/pipe2-tests (Files): Likewise.
39497         * modules/popen-safer-tests (Files): Likewise.
39498         * modules/popen-tests (Files): Likewise.
39499         * modules/posixtm-tests (Files): Likewise.
39500         * modules/pread-tests (Files): Likewise.
39501         * modules/printf-frexp-tests (Files): Likewise.
39502         * modules/printf-frexpl-tests (Files): Likewise.
39503         * modules/printf-posix-tests (Files): Likewise.
39504         * modules/priv-set-tests (Files): Likewise.
39505         * modules/quotearg-tests (Files): Likewise.
39506         * modules/random_r-tests (Files): Likewise.
39507         * modules/rawmemchr-tests (Files): Likewise.
39508         * modules/rbtree-list-tests (Files): Likewise.
39509         * modules/rbtree-oset-tests (Files): Likewise.
39510         * modules/rbtreehash-list-tests (Files): Likewise.
39511         * modules/readlink-tests (Files): Likewise.
39512         * modules/remove-tests (Files): Likewise.
39513         * modules/rename-tests (Files): Likewise.
39514         * modules/renameat-tests (Files): Likewise.
39515         * modules/rmdir-tests (Files): Likewise.
39516         * modules/round-tests (Files): Likewise.
39517         * modules/roundf-tests (Files): Likewise.
39518         * modules/roundl-tests (Files): Likewise.
39519         * modules/safe-alloc-tests (Files): Likewise.
39520         * modules/setenv-tests (Files): Likewise.
39521         * modules/sigaction-tests (Files): Likewise.
39522         * modules/signbit-tests (Files): Likewise.
39523         * modules/sleep-tests (Files): Likewise.
39524         * modules/snprintf-posix-tests (Files): Likewise.
39525         * modules/snprintf-tests (Files): Likewise.
39526         * modules/sprintf-posix-tests (Files): Likewise.
39527         * modules/stat-tests (Files): Likewise.
39528         * modules/stat-time-tests (Files): Likewise.
39529         * modules/strcasestr-tests (Files): Likewise.
39530         * modules/strchrnul-tests (Files): Likewise.
39531         * modules/strerror-tests (Files): Likewise.
39532         * modules/striconv-tests (Files): Likewise.
39533         * modules/striconveh-tests (Files): Likewise.
39534         * modules/striconveha-tests (Files): Likewise.
39535         * modules/strsignal-tests (Files): Likewise.
39536         * modules/strstr-tests (Files): Likewise.
39537         * modules/strtod-tests (Files): Likewise.
39538         * modules/strverscmp-tests (Files): Likewise.
39539         * modules/symlink-tests (Files): Likewise.
39540         * modules/symlinkat-tests (Files): Likewise.
39541         * modules/trunc-tests (Files): Likewise.
39542         * modules/truncf-tests (Files): Likewise.
39543         * modules/truncl-tests (Files): Likewise.
39544         * modules/uname-tests (Files): Likewise.
39545         * modules/unicase/cased-tests (Files): Likewise.
39546         * modules/unicase/ignorable-tests (Files): Likewise.
39547         * modules/unicase/locale-language-tests (Files): Likewise.
39548         * modules/unicase/tolower-tests (Files): Likewise.
39549         * modules/unicase/totitle-tests (Files): Likewise.
39550         * modules/unicase/toupper-tests (Files): Likewise.
39551         * modules/unicase/u8-casecmp-tests (Files): Likewise.
39552         * modules/unicase/u8-casecoll-tests (Files): Likewise.
39553         * modules/unicase/u8-casefold-tests (Files): Likewise.
39554         * modules/unicase/u8-is-cased-tests (Files): Likewise.
39555         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
39556         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
39557         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
39558         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
39559         * modules/unicase/u8-tolower-tests (Files): Likewise.
39560         * modules/unicase/u8-totitle-tests (Files): Likewise.
39561         * modules/unicase/u8-toupper-tests (Files): Likewise.
39562         * modules/unicase/u16-casecmp-tests (Files): Likewise.
39563         * modules/unicase/u16-casecoll-tests (Files): Likewise.
39564         * modules/unicase/u16-casefold-tests (Files): Likewise.
39565         * modules/unicase/u16-is-cased-tests (Files): Likewise.
39566         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
39567         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
39568         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
39569         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
39570         * modules/unicase/u16-tolower-tests (Files): Likewise.
39571         * modules/unicase/u16-totitle-tests (Files): Likewise.
39572         * modules/unicase/u16-toupper-tests (Files): Likewise.
39573         * modules/unicase/u32-casecmp-tests (Files): Likewise.
39574         * modules/unicase/u32-casecoll-tests (Files): Likewise.
39575         * modules/unicase/u32-casefold-tests (Files): Likewise.
39576         * modules/unicase/u32-is-cased-tests (Files): Likewise.
39577         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
39578         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
39579         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
39580         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
39581         * modules/unicase/u32-tolower-tests (Files): Likewise.
39582         * modules/unicase/u32-totitle-tests (Files): Likewise.
39583         * modules/unicase/u32-toupper-tests (Files): Likewise.
39584         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
39585         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
39586         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
39587         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
39588         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
39589         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
39590         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
39591         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
39592         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
39593         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
39594         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
39595         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
39596         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
39597         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
39598         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
39599         * modules/unictype/bidicategory-name-tests (Files): Likewise.
39600         * modules/unictype/bidicategory-of-tests (Files): Likewise.
39601         * modules/unictype/bidicategory-test-tests (Files): Likewise.
39602         * modules/unictype/block-list-tests (Files): Likewise.
39603         * modules/unictype/block-of-tests (Files): Likewise.
39604         * modules/unictype/block-test-tests (Files): Likewise.
39605         * modules/unictype/category-C-tests (Files): Likewise.
39606         * modules/unictype/category-Cc-tests (Files): Likewise.
39607         * modules/unictype/category-Cf-tests (Files): Likewise.
39608         * modules/unictype/category-Cn-tests (Files): Likewise.
39609         * modules/unictype/category-Co-tests (Files): Likewise.
39610         * modules/unictype/category-Cs-tests (Files): Likewise.
39611         * modules/unictype/category-L-tests (Files): Likewise.
39612         * modules/unictype/category-Ll-tests (Files): Likewise.
39613         * modules/unictype/category-Lm-tests (Files): Likewise.
39614         * modules/unictype/category-Lo-tests (Files): Likewise.
39615         * modules/unictype/category-Lt-tests (Files): Likewise.
39616         * modules/unictype/category-Lu-tests (Files): Likewise.
39617         * modules/unictype/category-M-tests (Files): Likewise.
39618         * modules/unictype/category-Mc-tests (Files): Likewise.
39619         * modules/unictype/category-Me-tests (Files): Likewise.
39620         * modules/unictype/category-Mn-tests (Files): Likewise.
39621         * modules/unictype/category-N-tests (Files): Likewise.
39622         * modules/unictype/category-Nd-tests (Files): Likewise.
39623         * modules/unictype/category-Nl-tests (Files): Likewise.
39624         * modules/unictype/category-No-tests (Files): Likewise.
39625         * modules/unictype/category-P-tests (Files): Likewise.
39626         * modules/unictype/category-Pc-tests (Files): Likewise.
39627         * modules/unictype/category-Pd-tests (Files): Likewise.
39628         * modules/unictype/category-Pe-tests (Files): Likewise.
39629         * modules/unictype/category-Pf-tests (Files): Likewise.
39630         * modules/unictype/category-Pi-tests (Files): Likewise.
39631         * modules/unictype/category-Po-tests (Files): Likewise.
39632         * modules/unictype/category-Ps-tests (Files): Likewise.
39633         * modules/unictype/category-S-tests (Files): Likewise.
39634         * modules/unictype/category-Sc-tests (Files): Likewise.
39635         * modules/unictype/category-Sk-tests (Files): Likewise.
39636         * modules/unictype/category-Sm-tests (Files): Likewise.
39637         * modules/unictype/category-So-tests (Files): Likewise.
39638         * modules/unictype/category-Z-tests (Files): Likewise.
39639         * modules/unictype/category-Zl-tests (Files): Likewise.
39640         * modules/unictype/category-Zp-tests (Files): Likewise.
39641         * modules/unictype/category-Zs-tests (Files): Likewise.
39642         * modules/unictype/category-and-not-tests (Files): Likewise.
39643         * modules/unictype/category-and-tests (Files): Likewise.
39644         * modules/unictype/category-byname-tests (Files): Likewise.
39645         * modules/unictype/category-name-tests (Files): Likewise.
39646         * modules/unictype/category-none-tests (Files): Likewise.
39647         * modules/unictype/category-of-tests (Files): Likewise.
39648         * modules/unictype/category-or-tests (Files): Likewise.
39649         * modules/unictype/category-test-withtable-tests (Files): Likewise.
39650         * modules/unictype/combining-class-tests (Files): Likewise.
39651         * modules/unictype/ctype-alnum-tests (Files): Likewise.
39652         * modules/unictype/ctype-alpha-tests (Files): Likewise.
39653         * modules/unictype/ctype-blank-tests (Files): Likewise.
39654         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
39655         * modules/unictype/ctype-digit-tests (Files): Likewise.
39656         * modules/unictype/ctype-graph-tests (Files): Likewise.
39657         * modules/unictype/ctype-lower-tests (Files): Likewise.
39658         * modules/unictype/ctype-print-tests (Files): Likewise.
39659         * modules/unictype/ctype-punct-tests (Files): Likewise.
39660         * modules/unictype/ctype-space-tests (Files): Likewise.
39661         * modules/unictype/ctype-upper-tests (Files): Likewise.
39662         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
39663         * modules/unictype/decimal-digit-tests (Files): Likewise.
39664         * modules/unictype/digit-tests (Files): Likewise.
39665         * modules/unictype/mirror-tests (Files): Likewise.
39666         * modules/unictype/numeric-tests (Files): Likewise.
39667         * modules/unictype/property-alphabetic-tests (Files): Likewise.
39668         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
39669         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
39670         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
39671         Likewise.
39672         * modules/unictype/property-bidi-block-separator-tests (Files):
39673         Likewise.
39674         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
39675         Likewise.
39676         * modules/unictype/property-bidi-common-separator-tests (Files):
39677         Likewise.
39678         * modules/unictype/property-bidi-control-tests (Files): Likewise.
39679         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
39680         Likewise.
39681         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
39682         Likewise.
39683         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
39684         Likewise.
39685         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
39686         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
39687         Likewise.
39688         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
39689         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
39690         Likewise.
39691         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
39692         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
39693         * modules/unictype/property-bidi-segment-separator-tests (Files):
39694         Likewise.
39695         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
39696         * modules/unictype/property-byname-tests (Files): Likewise.
39697         * modules/unictype/property-combining-tests (Files): Likewise.
39698         * modules/unictype/property-composite-tests (Files): Likewise.
39699         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
39700         * modules/unictype/property-dash-tests (Files): Likewise.
39701         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
39702         * modules/unictype/property-default-ignorable-code-point-tests (Files):
39703         Likewise.
39704         * modules/unictype/property-deprecated-tests (Files): Likewise.
39705         * modules/unictype/property-diacritic-tests (Files): Likewise.
39706         * modules/unictype/property-extender-tests (Files): Likewise.
39707         * modules/unictype/property-format-control-tests (Files): Likewise.
39708         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
39709         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
39710         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
39711         * modules/unictype/property-hex-digit-tests (Files): Likewise.
39712         * modules/unictype/property-hyphen-tests (Files): Likewise.
39713         * modules/unictype/property-id-continue-tests (Files): Likewise.
39714         * modules/unictype/property-id-start-tests (Files): Likewise.
39715         * modules/unictype/property-ideographic-tests (Files): Likewise.
39716         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
39717         * modules/unictype/property-ids-trinary-operator-tests (Files):
39718         Likewise.
39719         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
39720         * modules/unictype/property-iso-control-tests (Files): Likewise.
39721         * modules/unictype/property-join-control-tests (Files): Likewise.
39722         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
39723         * modules/unictype/property-line-separator-tests (Files): Likewise.
39724         * modules/unictype/property-logical-order-exception-tests (Files):
39725         Likewise.
39726         * modules/unictype/property-lowercase-tests (Files): Likewise.
39727         * modules/unictype/property-math-tests (Files): Likewise.
39728         * modules/unictype/property-non-break-tests (Files): Likewise.
39729         * modules/unictype/property-not-a-character-tests (Files): Likewise.
39730         * modules/unictype/property-numeric-tests (Files): Likewise.
39731         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
39732         * modules/unictype/property-other-default-ignorable-code-point-tests
39733         (Files): Likewise.
39734         * modules/unictype/property-other-grapheme-extend-tests (Files):
39735         Likewise.
39736         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
39737         * modules/unictype/property-other-id-start-tests (Files): Likewise.
39738         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
39739         * modules/unictype/property-other-math-tests (Files): Likewise.
39740         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
39741         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
39742         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
39743         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
39744         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
39745         * modules/unictype/property-private-use-tests (Files): Likewise.
39746         * modules/unictype/property-punctuation-tests (Files): Likewise.
39747         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
39748         * modules/unictype/property-radical-tests (Files): Likewise.
39749         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
39750         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
39751         * modules/unictype/property-space-tests (Files): Likewise.
39752         * modules/unictype/property-terminal-punctuation-tests (Files):
39753         Likewise.
39754         * modules/unictype/property-test-tests (Files): Likewise.
39755         * modules/unictype/property-titlecase-tests (Files): Likewise.
39756         * modules/unictype/property-unassigned-code-value-tests (Files):
39757         Likewise.
39758         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
39759         * modules/unictype/property-uppercase-tests (Files): Likewise.
39760         * modules/unictype/property-variation-selector-tests (Files): Likewise.
39761         * modules/unictype/property-white-space-tests (Files): Likewise.
39762         * modules/unictype/property-xid-continue-tests (Files): Likewise.
39763         * modules/unictype/property-xid-start-tests (Files): Likewise.
39764         * modules/unictype/property-zero-width-tests (Files): Likewise.
39765         * modules/unictype/scripts-tests (Files): Likewise.
39766         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
39767         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
39768         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
39769         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
39770         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
39771         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
39772         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
39773         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
39774         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
39775         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
39776         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
39777         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
39778         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
39779         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
39780         * modules/uninorm/composition-tests (Files): Likewise.
39781         * modules/uninorm/decomposing-form-tests (Files): Likewise.
39782         * modules/uninorm/decomposition-tests (Files): Likewise.
39783         * modules/uninorm/filter-tests (Files): Likewise.
39784         * modules/uninorm/nfc-tests (Files): Likewise.
39785         * modules/uninorm/nfd-tests (Files): Likewise.
39786         * modules/uninorm/nfkc-tests (Files): Likewise.
39787         * modules/uninorm/nfkd-tests (Files): Likewise.
39788         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
39789         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
39790         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
39791         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
39792         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
39793         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
39794         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
39795         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
39796         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
39797         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
39798         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
39799         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
39800         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
39801         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
39802         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
39803         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
39804         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
39805         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
39806         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
39807         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
39808         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
39809         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
39810         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
39811         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
39812         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
39813         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
39814         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
39815         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
39816         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
39817         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
39818         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
39819         * modules/uniwidth/u8-width-tests (Files): Likewise.
39820         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
39821         * modules/uniwidth/u16-width-tests (Files): Likewise.
39822         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
39823         * modules/uniwidth/u32-width-tests (Files): Likewise.
39824         * modules/uniwidth/width-tests (Files): Likewise.
39825         * modules/unlink-tests (Files): Likewise.
39826         * modules/unsetenv-tests (Files): Likewise.
39827         * modules/usleep-tests (Files): Likewise.
39828         * modules/utimens-tests (Files): Likewise.
39829         * modules/utimensat-tests (Files): Likewise.
39830         * modules/vasnprintf-posix-tests (Files): Likewise.
39831         * modules/vasnprintf-tests (Files): Likewise.
39832         * modules/vasprintf-posix-tests (Files): Likewise.
39833         * modules/vasprintf-tests (Files): Likewise.
39834         * modules/vdprintf-posix-tests (Files): Likewise.
39835         * modules/vfprintf-posix-tests (Files): Likewise.
39836         * modules/vprintf-posix-tests (Files): Likewise.
39837         * modules/vsnprintf-posix-tests (Files): Likewise.
39838         * modules/vsnprintf-tests (Files): Likewise.
39839         * modules/vsprintf-posix-tests (Files): Likewise.
39840         * modules/wcrtomb-tests (Files): Likewise.
39841         * modules/wcsnrtombs-tests (Files): Likewise.
39842         * modules/wcsrtombs-tests (Files): Likewise.
39843         * modules/wctype-tests (Files): Likewise.
39844         * modules/wcwidth-tests (Files): Likewise.
39845         * modules/xmemdup0-tests (Files): Likewise.
39846         * modules/xprintf-posix-tests (Files): Likewise.
39847         * modules/xvasprintf-tests (Files): Likewise.
39848
39849 2009-12-24  Eric Blake  <ebb9@byu.net>
39850
39851         test-nanosleep: fix typo
39852         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
39853         patch.
39854         Reported by Bruno Haible.
39855
39856 2009-12-24  Bruno Haible  <bruno@clisp.org>
39857
39858         Reduce namespace pollution on glibc systems.
39859         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
39860         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
39861         systems.
39862         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
39863         <getopt.h> on glibc systems.
39864         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
39865         systems.
39866         * lib/fcntl.c: Include <unistd.h> here instead.
39867
39868 2009-12-24  Bruno Haible  <bruno@clisp.org>
39869
39870         * lib/stdlib.in.h (includes): Fix typo in today's commit.
39871
39872 2009-12-24  Eric Blake  <ebb9@byu.net>
39873
39874         tests: add signature checks
39875         * tests/signature.h (SIGNATURE_CHECK): New file.
39876         * modules/atexit-tests (Files): Use it.
39877         * modules/btowc-tests (Files): Likewise.
39878         * modules/canonicalize-lgpl-tests (Files): Likewise.
39879         * modules/ceilf-tests (Files): Likewise.
39880         * modules/ceill-tests (Files): Likewise.
39881         * modules/chown-tests (Files): Likewise.
39882         * modules/dprintf-posix-tests (Files): Likewise.
39883         * modules/dup2-tests (Files): Likewise.
39884         * modules/dup3-tests (Files): Likewise.
39885         * modules/duplocale-tests (Files): Likewise.
39886         * modules/fchdir-tests (Files): Likewise.
39887         * modules/fcntl-tests (Files): Likewise.
39888         * modules/fdopendir-tests (Files): Likewise.
39889         * modules/fflush-tests (Files): Likewise.
39890         * modules/flock-tests (Files): Likewise.
39891         * modules/floorf-tests (Files): Likewise.
39892         * modules/floorl-tests (Files): Likewise.
39893         * modules/fnmatch-tests (Files): Likewise.
39894         * modules/fopen-tests (Files): Likewise.
39895         * modules/fprintf-posix-tests (Files): Likewise.
39896         * modules/freopen-tests (Files): Likewise.
39897         * modules/frexp-nolibm-tests (Files): Likewise.
39898         * modules/frexp-tests (Files): Likewise.
39899         * modules/frexpl-nolibm-tests (Files): Likewise.
39900         * modules/frexpl-tests (Files): Likewise.
39901         * modules/fseek-tests (Files): Likewise.
39902         * modules/fseeko-tests (Files): Likewise.
39903         * modules/fsync-tests (Files): Likewise.
39904         * modules/ftell-tests (Files): Likewise.
39905         * modules/ftello-tests (Files): Likewise.
39906         * modules/futimens-tests (Files): Likewise.
39907         * modules/getaddrinfo-tests (Files): Likewise.
39908         * modules/getcwd-tests (Files): Likewise.
39909         * modules/getdelim-tests (Files): Likewise.
39910         * modules/getdtablesize-tests (Files): Likewise.
39911         * modules/getgroups-tests (Files): Likewise.
39912         * modules/gethostname-tests (Files): Likewise.
39913         * modules/getline-tests (Files): Likewise.
39914         * modules/getopt-posix-tests (Files): Likewise.
39915         * modules/gettimeofday-tests (Files): Likewise.
39916         * modules/glob-tests (Files): Likewise.
39917         * modules/iconv-tests (Files): Likewise.
39918         * modules/inet_ntop-tests (Files): Likewise.
39919         * modules/inet_pton-tests (Files): Likewise.
39920         * modules/isblank-tests (Files): Likewise.
39921         * modules/lchown-tests (Files): Likewise.
39922         * modules/ldexpl-tests (Files): Likewise.
39923         * modules/link-tests (Files): Likewise.
39924         * modules/linkat-tests (Files): Likewise.
39925         * modules/lseek-tests (Files): Likewise.
39926         * modules/lstat-tests (Files): Likewise.
39927         * modules/mbrtowc-tests (Files): Likewise.
39928         * modules/mbsinit-tests (Files): Likewise.
39929         * modules/mbsnrtowcs-tests (Files): Likewise.
39930         * modules/mbsrtowcs-tests (Files): Likewise.
39931         * modules/memchr-tests (Files): Likewise.
39932         * modules/memcmp-tests (Files): Likewise.
39933         * modules/memmem-tests (Files): Likewise.
39934         * modules/memrchr-tests (Files): Likewise.
39935         * modules/mkdir-tests (Files): Likewise.
39936         * modules/mkfifo-tests (Files): Likewise.
39937         * modules/mkfifoat-tests (Files): Likewise.
39938         * modules/mknod-tests (Files): Likewise.
39939         * modules/nanosleep-tests (Files): Likewise.
39940         * modules/nl_langinfo-tests (Files): Likewise.
39941         * modules/obstack-printf-tests (Files): Likewise.
39942         * modules/open-tests (Files): Likewise.
39943         * modules/openat-tests (Files): Likewise.
39944         * modules/perror-tests (Files): Likewise.
39945         * modules/pipe2-tests (Files): Likewise.
39946         * modules/poll-tests (Files): Likewise.
39947         * modules/popen-tests (Files): Likewise.
39948         * modules/posix_spawn-tests (Files): Likewise.
39949         * modules/posix_spawnp-tests (Files): Likewise.
39950         * modules/pread-tests (Files): Likewise.
39951         * modules/printf-posix-tests (Files): Likewise.
39952         * modules/pty-tests (Files): Likewise.
39953         * modules/random_r-tests (Files): Likewise.
39954         * modules/rawmemchr-tests (Files): Likewise.
39955         * modules/readlink-tests (Files): Likewise.
39956         * modules/remove-tests (Files): Likewise.
39957         * modules/rename-tests (Files): Likewise.
39958         * modules/renameat-tests (Files): Likewise.
39959         * modules/rmdir-tests (Files): Likewise.
39960         * modules/round-tests (Files): Likewise.
39961         * modules/roundf-tests (Files): Likewise.
39962         * modules/roundl-tests (Files): Likewise.
39963         * modules/select-tests (Files): Likewise.
39964         * modules/setenv-tests (Files): Likewise.
39965         * modules/sigaction-tests (Files): Likewise.
39966         * modules/sleep-tests (Files): Likewise.
39967         * modules/snprintf-posix-tests (Files): Likewise.
39968         * modules/snprintf-tests (Files): Likewise.
39969         * modules/sprintf-posix-tests (Files): Likewise.
39970         * modules/stat-tests (Files): Likewise.
39971         * modules/strcasestr-tests (Files): Likewise.
39972         * modules/strchrnul-tests (Files): Likewise.
39973         * modules/strerror-tests (Files): Likewise.
39974         * modules/strsignal-tests (Files): Likewise.
39975         * modules/strstr-tests (Files): Likewise.
39976         * modules/strtod-tests (Files): Likewise.
39977         * modules/strverscmp-tests (Files): Likewise.
39978         * modules/symlink-tests (Files): Likewise.
39979         * modules/symlinkat-tests (Files): Likewise.
39980         * modules/times-tests (Files): Likewise.
39981         * modules/trunc-tests (Files): Likewise.
39982         * modules/truncf-tests (Files): Likewise.
39983         * modules/truncl-tests (Files): Likewise.
39984         * modules/tsearch-tests (Files): Likewise.
39985         * modules/uname-tests (Files): Likewise.
39986         * modules/unlink-tests (Files): Likewise.
39987         * modules/unsetenv-tests (Files): Likewise.
39988         * modules/usleep-tests (Files): Likewise.
39989         * modules/utimensat-tests (Files): Likewise.
39990         * modules/vasprintf-tests (Files): Likewise.
39991         * modules/vdprintf-posix-tests (Files): Likewise.
39992         * modules/vfprintf-posix-tests (Files): Likewise.
39993         * modules/vprintf-posix-tests (Files): Likewise.
39994         * modules/vsnprintf-posix-tests (Files): Likewise.
39995         * modules/vsnprintf-tests (Files): Likewise.
39996         * modules/vsprintf-posix-tests (Files): Likewise.
39997         * modules/wcrtomb-tests (Files): Likewise.
39998         * modules/wcsnrtombs-tests (Files): Likewise.
39999         * modules/wcsrtombs-tests (Files): Likewise.
40000         * modules/wcwidth-tests (Files): Likewise.
40001         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
40002         * tests/test-isinf.c (isinf): Likewise.
40003         * tests/test-isnan.c (isnan): Likewise.
40004         * tests/test-signbit.c (signbit): Likewise.
40005         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
40006         declaration, either as macro or with correct signature.
40007         (select): Ensure function under test is declared with correct
40008         signature in correct header.
40009         * tests/test-atexit.c (atexit): Likewise.
40010         * tests/test-btowc.c (btowc): Likewise.
40011         * tests/test-canonicalize-lgpl.c (realpath)
40012         (canonicalize_file_name): Likewise.
40013         * tests/test-ceilf1.c (ceilf): Likewise.
40014         * tests/test-ceill.c (ceill): Likewise.
40015         * tests/test-chown.c (chown): Likewise.
40016         * tests/test-dprintf-posix.c (dprintf): Likewise.
40017         * tests/test-dup2.c (dup2): Likewise.
40018         * tests/test-dup3.c (dup3): Likewise.
40019         * tests/test-duplocale.c (duplocale): Likewise.
40020         * tests/test-fchdir.c (fchdir): Likewise.
40021         * tests/test-fchownat.c (fchownat): Likewise.
40022         * tests/test-fcntl.c (fcntl): Likewise.
40023         * tests/test-fdopendir.c (fdopendir): Likewise.
40024         * tests/test-fflush.c (fflush): Likewise.
40025         * tests/test-flock.c (flock): Likewise.
40026         * tests/test-floorf1.c (floorf): Likewise.
40027         * tests/test-floorl.c (floorl): Likewise.
40028         * tests/test-fnmatch.c (fnmatch): Likewise.
40029         * tests/test-fopen.c (fopen): Likewise.
40030         * tests/test-fprintf-posix.c (fprintf): Likewise.
40031         * tests/test-freopen.c (freopen): Likewise.
40032         * tests/test-frexp.c (frexp): Likewise.
40033         * tests/test-frexpl.c (frexpl): Likewise.
40034         * tests/test-fseek.c (fseek): Likewise.
40035         * tests/test-fseeko.c (fseeko): Likewise.
40036         * tests/test-fstatat.c (fstatat): Likewise.
40037         * tests/test-fsync.c (fsync): Likewise.
40038         * tests/test-ftell.c (ftell): Likewise.
40039         * tests/test-ftello.c (ftello): Likewise.
40040         * tests/test-futimens.c (futimens): Likewise.
40041         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
40042         (gai_strerror): Likewise.
40043         * tests/test-getcwd.c (getcwd): Likewise.
40044         * tests/test-getdelim.c (getdelim): Likewise.
40045         * tests/test-getdtablesize.c (getdtablesize): Likewise.
40046         * tests/test-getgroups.c (getgroups): Likewise.
40047         * tests/test-gethostname.c (gethostname): Likewise.
40048         * tests/test-getline.c (getline): Likewise.
40049         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
40050         Likewise.
40051         * tests/test-gettimeofday.c (gettimeofday): Likewise.
40052         * tests/test-glob.c (glob, globfree): Likewise.
40053         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
40054         * tests/test-inet_ntop.c (inet_ntop): Likewise.
40055         * tests/test-inet_pton.c (inet_pton): Likewise.
40056         * tests/test-isblank.c (isblank): Likewise.
40057         * tests/test-lchown.c (lchown): Likewise.
40058         * tests/test-ldexpl.c (ldexpl): Likewise.
40059         * tests/test-link.c (link): Likewise.
40060         * tests/test-linkat.c (linkat): Likewise.
40061         * tests/test-lseek.c (lseek): Likewise.
40062         * tests/test-lstat.c (lstat): Likewise.
40063         * tests/test-mbrtowc.c (mbrtowc): Likewise.
40064         * tests/test-mbsinit.c (mbsinit): Likewise.
40065         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
40066         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
40067         * tests/test-memchr.c (memchr): Likewise.
40068         * tests/test-memcmp.c (memcmp): Likewise.
40069         * tests/test-memmem.c (memmem): Likewise.
40070         * tests/test-memrchr.c (memrchr): Likewise.
40071         * tests/test-mkdir.c (mkdir): Likewise.
40072         * tests/test-mkdirat.c (mkdirat): Likewise.
40073         * tests/test-mkfifo.c (mkfifo): Likewise.
40074         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
40075         * tests/test-mknod.c (mknod): Likewise.
40076         * tests/test-nanosleep.c (nanosleep): Likewise.
40077         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
40078         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
40079         Likewise.
40080         * tests/test-open.c (open): Likewise.
40081         * tests/test-openat.c (openat): Likewise.
40082         * tests/test-perror.c (perror): Likewise.
40083         * tests/test-pipe2.c (pipe2): Likewise.
40084         * tests/test-poll.c (poll): Likewise.
40085         * tests/test-popen.c (popen, pclose): Likewise.
40086         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
40087         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
40088         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
40089         (posix_spawn_file_actions_destroy)
40090         (posix_spawn_file_actions_addclose)
40091         (posix_spawn_file_actions_addopen)
40092         (posix_spawn_file_actions_adddup2): Likewise.
40093         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
40094         * tests/test-pread.c (pread): Likewise.
40095         * tests/test-printf-posix.c (printf): Likewise.
40096         * tests/test-pty.c (openpty, forkpty): Likewise.
40097         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
40098         (random_r): Likewise.
40099         * tests/test-rawmemchr.c (rawmemchr): Likewise.
40100         * tests/test-readlink.c (readlink): Likewise.
40101         * tests/test-remove.c (remove): Likewise.
40102         * tests/test-rename.c (rename): Likewise.
40103         * tests/test-renameat.c (renameat): Likewise.
40104         * tests/test-rmdir.c (rmdir): Likewise.
40105         * tests/test-round1.c (round): Likewise.
40106         * tests/test-roundf1.c (roundf): Likewise.
40107         * tests/test-roundl.c (roundl): Likewise.
40108         * tests/test-setenv.c (setenv): Likewise.
40109         * tests/test-sigaction.c (sigaction): Likewise.
40110         * tests/test-sleep.c (sleep): Likewise.
40111         * tests/test-snprintf.c (snprintf): Likewise.
40112         * tests/test-sprintf-posix.c (sprintf): Likewise.
40113         * tests/test-stat.c (stat): Likewise.
40114         * tests/test-stpncpy.c (stpncpy): Likewise.
40115         * tests/test-strcasestr.c (strcasestr): Likewise.
40116         * tests/test-strchrnul.c (strchrnul): Likewise.
40117         * tests/test-strerror.c (strerror): Likewise.
40118         * tests/test-strsignal.c (strsignal): Likewise.
40119         * tests/test-strstr.c (strstr): Likewise.
40120         * tests/test-strtod.c (strtod): Likewise.
40121         * tests/test-strverscmp.c (strverscmp): Likewise.
40122         * tests/test-symlink.c (symlink): Likewise.
40123         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
40124         * tests/test-times.c (times): Likewise.
40125         * tests/test-trunc1.c (trunc): Likewise.
40126         * tests/test-truncf1.c (truncf): Likewise.
40127         * tests/test-truncl.c (truncl): Likewise.
40128         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
40129         Likewise.
40130         * tests/test-uname.c (uname): Likewise.
40131         * tests/test-unlink.c (unlink): Likewise.
40132         * tests/test-unlinkat.c (unlinkat): Likewise.
40133         * tests/test-unsetenv.c (unsetenv): Likewise.
40134         * tests/test-usleep.c (usleep): Likewise.
40135         * tests/test-utimensat.c (utimensat): Likewise.
40136         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
40137         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
40138         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
40139         * tests/test-vprintf-posix.c (vprintf): Likewise.
40140         * tests/test-vsnprintf.c (vsnprintf): Likewise.
40141         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
40142         * tests/test-wcrtomb.c (wcrtomb): Likewise.
40143         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
40144         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
40145         * tests/test-wcwidth.c (wcwidth): Likewise.
40146
40147         build: pull in conditional headers during GNULIB_POSIXCHECK
40148         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
40149         definitions from any conditionally-included headers.
40150         * lib/stdlib.in.h (includes): Likewise.
40151         * lib/unistd.in.h (includes): Likewise.
40152
40153 2009-12-24  Bruno Haible  <bruno@clisp.org>
40154
40155         * tests/test-argv-iter.c: Include header file being tested immediately
40156         after config.h.
40157         * tests/test-base64.c: Likewise.
40158         * tests/test-flock.c: Likewise.
40159         * tests/test-fsync.c: Likewise.
40160         * tests/test-getdate.c: Likewise.
40161         * tests/test-getndelim2.c: Likewise.
40162         * tests/test-isfinite.c: Likewise.
40163         * tests/test-isinf.c: Likewise.
40164         * tests/test-strerror.c: Likewise.
40165         * tests/test-strsignal.c: Likewise.
40166
40167 2009-12-23  Eric Blake  <ebb9@byu.net>
40168
40169         unistd: work around cygwin bug
40170         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
40171         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
40172         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
40173
40174 2009-12-23  Bruno Haible  <bruno@clisp.org>
40175
40176         localename: More tests.
40177         * tests/test-localename.c (SIZEOF): New macro.
40178         (categories): New variable.
40179         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
40180         test_locale_name_default): Add test w.r.t. thread locale.
40181         (test_locale_name_thread): New function.
40182         (main): Invoke it.
40183
40184         localename: Make aware of thread locale.
40185         * lib/localename.h (gl_locale_name_thread): New declaration.
40186         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
40187         behaviour with respect to thread locale.
40188         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
40189         <langinfo.h>, glthread/lock.h.
40190         (SIZE_BITS): New macro.
40191         (string_hash): New function.
40192         (struct hash_node): New type.
40193         (HASH_TABLE_SIZE): New macro.
40194         (struniq_hash_table, struniq_lock): New variables.
40195         (struniq): New function.
40196         (gl_locale_name_thread): New function.
40197         (gl_locale_name): Invoke it.
40198         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
40199         * modules/localename (Depends-on): Add lock.
40200         Reported by Mike Gran <spk121@yahoo.com>.
40201
40202 2009-12-23  Eric Blake  <ebb9@byu.net>
40203
40204         va-args: new module
40205         * modules/va-args: New file.
40206         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
40207         * MODULES.html.sh (Core language properties): Mention it.
40208
40209         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
40210         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
40211         named alias for __attribute__((__unused__)).
40212         * lib/chown.c: Update client.
40213         * lib/fchmodat.c: Likewise.
40214         * lib/fts.c: Likewise.
40215         * lib/getdate.y: Likewise.
40216         * lib/getgroups.c: Likewise.
40217         * lib/getopt.c: Likewise.
40218         * lib/getugroups.c: Likewise.
40219         * lib/mkdir.c: Likewise.
40220         * lib/mkfifo.c: Likewise.
40221         * lib/mkfifoat.c: Likewise.
40222         * lib/mknod.c: Likewise.
40223         * lib/mknodat.c: Likewise.
40224         * lib/readlink.c: Likewise.
40225         * lib/se-context.in.h: Likewise.
40226         * lib/se-selinux.in.h: Likewise.
40227         * lib/sockets.c: Likewise.
40228         * lib/symlink.c: Likewise.
40229         * lib/symlinkat.c: Likewise.
40230         * lib/unicodeio.c: Likewise.
40231         * lib/unistr.h: Likewise.
40232         * tests/test-areadlink.c: Likewise.
40233         * tests/test-areadlinkat.c: Likewise.
40234         * tests/test-filenamecat.c: Likewise.
40235         * tests/test-fseeko.c: Likewise.
40236         * tests/test-ftello.c: Likewise.
40237         * tests/test-getdate.c: Likewise.
40238         * tests/test-getgroups.c: Likewise.
40239         * tests/test-gethostname.c: Likewise.
40240         * tests/test-quotearg.c: Likewise.
40241         * tests/test-version-etc.c: Likewise.
40242         * tests/test-xalloc-die.c: Likewise.
40243         * tests/test-xfprintf-posix.c: Likewise.
40244         * tests/test-xprintf-posix.c: Likewise.
40245         * tests/test-xvasprintf.c: Likewise.
40246
40247         tests: avoid compiler warnings
40248         * tests/test-fcntl.c (main): Delete unused parameters.
40249         * tests/test-freopen-safer.c (main): Likewise.
40250         * tests/test-xalloc-die.c (main): Mark unused parameters.
40251         * tests/test-fseeko.c (main): Likewise.
40252         * tests/test-ftello.c (main): Likewise.
40253         * tests/test-nanosleep.c (main): Avoid declaration warning.
40254         * tests/test-sleep.c (main): Likewise.
40255         * tests/test-unsetenv.c (main): Silence warning about string
40256         literal.
40257         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
40258
40259 2009-12-23  Bruno Haible  <bruno@clisp.org>
40260
40261         * tests/test-localename.c (test_locale_name): New function, extracted
40262         from main. Also test mixed situations.
40263         (test_locale_name_posix, test_locale_name_environ,
40264         test_locale_name_default): New functions.
40265         (main): Invoke them all.
40266         * modules/localename-tests (configure.ac): Test for newlocale.
40267
40268 2009-12-23  Bruno Haible  <bruno@clisp.org>
40269
40270         unistd: Ensure getcwd gets declared before being overridden.
40271         * lib/unistd.in.h: Conditionally include <io.h>.
40272
40273 2009-12-22  Bruno Haible  <bruno@clisp.org>
40274
40275         wchar: Diagnose broken combination of glibc and gcc versions and flags.
40276         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
40277         (gl_WCHAR_H): Invoke it.
40278         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
40279         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
40280         Reported by Karl Berry <karl@freefriends.org>.
40281
40282 2009-12-22  Eric Blake  <ebb9@byu.net>
40283
40284         math, unistd: avoid redundant includes
40285         * lib/math.in.h (isnan): No need to re-include <math.h>.
40286         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
40287
40288         getsubopt: work around cygwin bug
40289         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
40290         avoid conflicting with system getsubopt.
40291         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
40292         bug.
40293
40294         getopt: synchronize from glibc
40295         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
40296         parameter order.  Adjust all callers.
40297         (_getopt_internal_r, main): Adjust quoting in error messages.
40298         Drop considerations for outdated POSIX 1003.2 error message.
40299         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
40300         callers.
40301         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
40302
40303         test-getopt: test stderr behavior
40304         * modules/getopt-posix-tests (Depends-on): Add dup2.
40305         * tests/test-getopt.c (ASSERT): Avoid stderr.
40306         (main): Move stderr to a temporary file.
40307         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
40308         Instead, add parameter to inform caller if output occurred.
40309         (test_getopt): Adjust all existing tests to expect silence, and
40310         add new tests of leading ":".
40311         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
40312         glibc shortcomings with leading "-:" or "+:" in optstring.
40313         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
40314         Likewise.
40315         * doc/posix-functions/getopt.texi (getopt): Likewise.
40316
40317         test-getopt: enhance test
40318         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
40319         supports optind=0.
40320         * tests/test-getopt.c (OPTIND_MIN): Move...
40321         * tests/test-getopt.h (OPTIND_MIN): ...here.
40322         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
40323         Require that optind=0 works, since modern BSD supports it in
40324         addition to optreset, and since coreutils expects it.
40325         (test_getopt_long_only): New test.
40326         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
40327         glibc shortcomings with 'W;', and enforcement of optind=0.
40328         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
40329         Likewise.
40330
40331 2009-12-21  Bruno Haible  <bruno@clisp.org>
40332
40333         localename: Improvements for MacOS X and Cygwin.
40334         * lib/localename.h (gl_locale_name_environ): New declaration.
40335         * lib/localename.c (gl_locale_name_environ): New function, extracted from
40336         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
40337         (gl_locale_name_posix): Invoke it.
40338         (gl_locale_name_default): Add comments. Use Windows native API also on
40339         Cygwin.
40340
40341 2009-12-21  Bruno Haible  <bruno@clisp.org>
40342
40343         Update list of Win32 locale ids.
40344         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
40345         (LANG_SAMI): Renamed from LANG_SAAMI.
40346         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
40347         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
40348         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
40349         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
40350         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
40351         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
40352         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
40353         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
40354         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
40355         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
40356         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
40357         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
40358         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
40359         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
40360         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
40361         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
40362         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
40363         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
40364         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
40365         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
40366         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
40367         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
40368         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
40369         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
40370         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
40371         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
40372         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
40373         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
40374         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
40375         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
40376         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
40377         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
40378         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
40379         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
40380         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
40381         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
40382         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
40383         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
40384         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
40385         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
40386         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
40387         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
40388         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
40389         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
40390         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
40391         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
40392         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
40393         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
40394         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
40395         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
40396         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
40397         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
40398         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
40399         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
40400         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
40401         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
40402         Add more languages and countries for Sami, Sorbian. Add more countries
40403         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
40404         for Pashto. Change country for Syriac, Tswana.
40405
40406 2009-12-21  Eric Blake  <ebb9@byu.net>
40407
40408         test-utimens: avoid spurious failure
40409         * tests/test-chown.h (nap): Factor...
40410         * tests/nap.h: ...into new file.
40411         * tests/test-lchown.h (nap): Avoid duplication.
40412         * tests/test-utimens-common.h (nap): Use shared implementation,
40413         necessary on file systems with 1-second resolution.
40414         * modules/chown-tests (Files): Include new file.
40415         * modules/fdutimensat-tests (Files): Likewise.
40416         * modules/futimens-tests (Files): Likewise.
40417         * modules/lchown-tests (Files): Likewise.
40418         * modules/openat-tests (Files): Likewise.
40419         * modules/utimens-tests (Files): Likewise.
40420         * modules/utimensat-tests (Files): Likewise.
40421
40422 2009-12-19  Eric Blake  <ebb9@byu.net>
40423
40424         futimens, utimensat: work around Linux bug
40425         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
40426         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
40427         * lib/utimensat.c (rpl_utimensat): Work around it.
40428         * lib/futimens.c (rpl_futimens): Adjust comment.
40429
40430         utimens: work around Linux ctime bug
40431         * lib/utimens.c (detect_ctime_bug): New helper function.
40432         (update_timespec): Differentiate between workaround needed for
40433         this bug vs. what is needed for systems that lack utimensat.
40434         (fdutimens, lutimens): Work around bug.
40435
40436         utimens: check for ctime update
40437         * tests/test-utimens-common.h (check_ctime): Define.
40438         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
40439         * tests/test-futimens.h (test_futimens): Likewise.
40440         * tests/test-lutimens.h (test_lutimens): Likewise.
40441         * doc/posix-functions/futimens.texi (futimens): Document the bug.
40442         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
40443
40444 2009-12-19  Bruno Haible  <bruno@clisp.org>
40445
40446         dprintf-posix: Check against memory leak fixed on 2009-12-15.
40447         * tests/test-dprintf-posix2.sh: New file.
40448         * tests/test-dprintf-posix2.c: New file.
40449         * modules/dprintf-posix-tests (Files): Add them.
40450         (configure.ac): Check for getrlimit and setrlimit.
40451         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
40452
40453 2009-12-19  Bruno Haible  <bruno@clisp.org>
40454
40455         fprintf-posix: Check against memory leak fixed on 2009-12-15.
40456         * tests/test-fprintf-posix3.sh: New file.
40457         * tests/test-fprintf-posix3.c: New file.
40458         * modules/fprintf-posix-tests (Files): Add them.
40459         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
40460
40461 2009-12-19  Eric Blake  <ebb9@byu.net>
40462
40463         dirfd: fix prototype
40464         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
40465         * lib/dirfd.c (dirfd): Likewise.
40466
40467         canonicalize: reduce memory usage
40468         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
40469         allocation to size.
40470         Reported by Solar Designer <solar@openwall.com>.
40471
40472 2009-12-19  Bruno Haible  <bruno@clisp.org>
40473
40474         New module attribute 'Applicability'.
40475         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
40476         * gnulib-tool: New option --extract-applicability.
40477         (func_usage): Document it.
40478         (sed_extract_prog): Recognize it.
40479         (func_get_applicability): New function.
40480         (func_import): Generalize handling of 'link-warning' module.
40481         * modules/link-warning (Applicability): New section.
40482         * modules/arg-nonnull (Applicability): New section.
40483         Repoted by Simon Josefsson <simon@josefsson.org>.
40484
40485 2009-12-19  Bruno Haible  <bruno@clisp.org>
40486
40487         fflush: tweak
40488         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
40489         * lib/fseeko.c (rpl_fseeko): Likewise.
40490
40491 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
40492
40493         * lib/gl_list.h: Fix typo in comment.
40494
40495 2009-12-16  Eric Blake  <ebb9@byu.net>
40496
40497         fcntl: use to simplify other modules
40498         * modules/cloexec (Depends-on): Add fcntl.
40499         * modules/fchdir (Depends-on): Likewise.
40500         * modules/fd-safer-flag (Depends-on): Likewise.
40501         * modules/unistd-safer (Depends-on): Likewise.
40502         * modules/dup3 (configure.ac): Set module indicator.
40503         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
40504         missing.
40505         * lib/fchdir.c (_gl_register_dup): Fix comment.
40506         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
40507         * lib/dup-safer.c (dup_safer): Likewise.
40508         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
40509         * lib/dup3.c (dup3): Likewise.
40510         * tests/test-fchdir.c (main): Enhance test.
40511         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
40512
40513         fcntl: port portions of fcntl to mingw
40514         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
40515         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
40516         replacement for mingw.
40517         * modules/fcntl (Description): Update.
40518         (Depends-on): Add dup2.
40519         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
40520         * modules/fcntl-h (Makefile.am): Substitute it.
40521         * lib/fcntl.in.h (fcntl): Update declaration.
40522         (F_DUPFD, F_GETFD): New macros, when needed.
40523         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
40524         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
40525         * tests/test-fcntl.c (check_flags, main): Enhance test for items
40526         we now guarantee.
40527
40528         fcntl: work around cygwin bug in F_DUPFD
40529         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
40530         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
40531         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
40532         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
40533         * doc/posix-functions/fcntl.texi (fcntl): Document it.
40534
40535         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
40536         * modules/fcntl (Files): List new files.
40537         (configure.ac): Run a test.
40538         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
40539         * lib/fcntl.c (rpl_fcntl): Likewise.
40540         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
40541         (gl_FCNTL_H): Always replace fcntl.h.
40542         * modules/fcntl-h (Makefile.am): Substitute witnesses.
40543         * lib/fcntl.in.h (fcntl): Declare replacement.
40544         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
40545         needed, plus a witness.
40546         * doc/posix-functions/fcntl.texi (fcntl): Document this.
40547         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
40548         * tests/test-fcntl.c: New file.
40549         * modules/fcntl-tests: Likewise.
40550
40551         binary-io: avoid potential compilation warning
40552         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
40553         directives.
40554
40555         fflush: avoid compilation error on NetBSD
40556         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
40557         between off_t and fpos_t, since the latter is sometimes a struct.
40558         * lib/fseeko.c (rpl_fseeko): Likewise.
40559         Reported by Alexander Nasonov <alnsn@yandex.ru>.
40560
40561 2009-12-15  Eric Blake  <ebb9@byu.net>
40562
40563         fcntl-h, stdio, sys_ioctl: fix declarations
40564         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
40565         function must not take arguments.
40566         * lib/sys_ioctl.in.h (ioctl): Likewise.
40567         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
40568         (open): Add a link warning.
40569
40570 2009-12-15  Jim Meyering  <meyering@redhat.com>
40571
40572         areadlink, areadlink-with-size: relax license to LGPLv2+
40573         * modules/areadlink (License): Relax to LGPLv2+.
40574         * modules/areadlink-with-size (License): Likewise.
40575
40576 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
40577             Bruno Haible  <bruno@clisp.org>
40578
40579         *printf: Fix memory leak.
40580         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
40581         * lib/vfprintf.c (vfprintf): Likewise.
40582         * lib/dprintf.c (dprintf): Likewise.
40583         * lib/vdprintf.c (vdprintf): Likewise.
40584
40585 2009-12-14  Eric Blake  <ebb9@byu.net>
40586
40587         accept4: adjust module dependencies
40588         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
40589
40590         utimens: one more try at avoiding compiler warning
40591         * lib/utimens.c (lutimens): Lower scope of result.
40592
40593 2009-12-13  Bruno Haible  <bruno@clisp.org>
40594
40595         Move the malloc checking from module 'list' to new module 'xlist'.
40596         * modules/xlist: New file.
40597         * lib/gl_xlist.h: New file.
40598         * lib/gl_xlist.c: New file.
40599         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
40600         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
40601         gl_list_add_last, gl_list_add_before, gl_list_add_after,
40602         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
40603         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
40604         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
40605         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
40606         gl_sortedlist_nx_add): New declarations.
40607         (struct gl_list_implementation): Rename and change methods accordingly.
40608         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
40609         (gl_list_nx_create): Renamed from gl_list_create.
40610         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
40611         (gl_list_nx_set_at): Renamed from gl_list_set_at.
40612         (gl_list_nx_add_first): Renamed from gl_list_add_first.
40613         (gl_list_nx_add_last): Renamed from gl_list_add_last.
40614         (gl_list_nx_add_before): Renamed from gl_list_add_before.
40615         (gl_list_nx_add_after): Renamed from gl_list_add_after.
40616         (gl_list_nx_add_at): Renamed from gl_list_add_at.
40617         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
40618         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
40619         gl_list_create_empty.
40620         (gl_list_nx_create): Renamed from gl_list_create.
40621         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
40622         (gl_list_nx_set_at): Renamed from gl_list_set_at.
40623         (gl_list_nx_add_first): Renamed from gl_list_add_first.
40624         (gl_list_nx_add_last): Renamed from gl_list_add_last.
40625         (gl_list_nx_add_before): Renamed from gl_list_add_before.
40626         (gl_list_nx_add_after): Renamed from gl_list_add_after.
40627         (gl_list_nx_add_at): Renamed from gl_list_add_at.
40628         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
40629         * lib/gl_array_list.c: Don't include xalloc.h.
40630         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
40631         NULL upon out-of-memory.
40632         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
40633         out-of-memory.
40634         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
40635         Change return type to 'int'.
40636         (gl_array_nx_set_at): Renamed from gl_array_set_at.
40637         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
40638         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
40639         upon out-of-memory.
40640         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
40641         upon out-of-memory.
40642         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
40643         upon out-of-memory.
40644         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
40645         upon out-of-memory.
40646         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
40647         out-of-memory.
40648         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
40649         Update.
40650         (gl_array_list_implementation): Update.
40651         * lib/gl_carray_list.c: Don't include xalloc.h.
40652         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
40653         Return NULL upon out-of-memory.
40654         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
40655         out-of-memory.
40656         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
40657         Change return type to 'int'.
40658         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
40659         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
40660         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
40661         upon out-of-memory.
40662         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
40663         upon out-of-memory.
40664         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
40665         out-of-memory.
40666         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
40667         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
40668         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
40669         Update.
40670         (gl_carray_list_implementation): Update.
40671         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
40672         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
40673         gl_linked_create_empty. Return NULL upon out-of-memory.
40674         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
40675         out-of-memory.
40676         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
40677         Change return type to 'int'. Return -1 upon out-of-memory.
40678         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
40679         out-of-memory.
40680         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
40681         upon out-of-memory.
40682         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
40683         upon out-of-memory.
40684         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
40685         NULL upon out-of-memory.
40686         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
40687         upon out-of-memory.
40688         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
40689         out-of-memory.
40690         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
40691         Update.
40692         * lib/gl_linked_list.c: Don't include xalloc.h.
40693         (gl_linked_list_implementation): Update.
40694         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
40695         (add_to_bucket): Change return type to 'int'.
40696         (gl_linkedhash_list_implementation): Update.
40697         * lib/gl_anytree_list1.h (free_subtree): New function.
40698         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
40699         gl_tree_create_empty. Return NULL upon out-of-memory.
40700         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
40701         Change return type to 'int'. Return -1 upon out-of-memory.
40702         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
40703         out-of-memory.
40704         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
40705         (gl_tree_remove_node): New function, moved here from
40706         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
40707         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
40708         Update.
40709         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
40710         malloc, not xmalloc. Return NULL upon out-of-memory.
40711         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
40712         out-of-memory.
40713         (gl_tree_remove_node_from_tree): New function, extracted from
40714         gl_tree_remove_node.
40715         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
40716         upon out-of-memory.
40717         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
40718         out-of-memory.
40719         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
40720         upon out-of-memory.
40721         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
40722         upon out-of-memory.
40723         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
40724         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
40725         not xmalloc. Return NULL upon out-of-memory.
40726         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
40727         out-of-memory.
40728         (gl_tree_remove_node_from_tree): New function, extracted from
40729         gl_tree_remove_node.
40730         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
40731         upon out-of-memory.
40732         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
40733         out-of-memory.
40734         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
40735         upon out-of-memory.
40736         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
40737         upon out-of-memory.
40738         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
40739         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
40740         gl_anytree_list1.h before gl_anyavltree_list2.h.
40741         (gl_avltree_list_implementation): Update.
40742         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
40743         gl_anytree_list1.h before gl_anyavltree_list2.h.
40744         (gl_rbtree_list_implementation): Update.
40745         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
40746         Change return type to 'int'. Return -1 upon out-of-memory. Use
40747         __builtin_expect.
40748         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
40749         (gl_avltreehash_list_implementation): Update.
40750         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
40751         (gl_rbtreehash_list_implementation): Update.
40752         * modules/array-list (Depends-on): Remove xalloc.
40753         * modules/carray-list (Depends-on): Likewise.
40754         * modules/linked-list (Depends-on): Likewise.
40755         * modules/linkedhash-list (Depends-on): Likewise.
40756         * modules/avltree-list (Depends-on): Likewise.
40757         * modules/rbtree-list (Depends-on): Likewise.
40758         * modules/avltreehash-list (Depends-on): Likewise.
40759         * modules/rbtreehash-list (Depends-on): Likewise.
40760
40761         * modules/xsublist: New file.
40762         * lib/gl_xsublist.h: New file.
40763         * lib/gl_xsublist.c: New file.
40764         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
40765         (gl_sublist_nx_create): New declaration.
40766         * lib/gl_sublist.c: Don't include xalloc.h.
40767         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
40768         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
40769         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
40770         Change return type to 'int'. Return -1 upon out-of-memory.
40771         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
40772         upon out-of-memory.
40773         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
40774         NULL upon out-of-memory.
40775         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
40776         upon out-of-memory.
40777         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
40778         NULL upon out-of-memory.
40779         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
40780         NULL upon out-of-memory.
40781         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
40782         upon out-of-memory.
40783         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
40784         (gl_sublist_list_implementation): Update.
40785         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
40786         upon out-of-memory.
40787         * modules/sublist (Depends-on): Remove xalloc.
40788
40789         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
40790         * tests/test-carray_list.c: Likewise.
40791         * tests/test-linked_list.c: Likewise.
40792         * tests/test-linkedhash_list.c: Likewise.
40793         * tests/test-avltree_list.c: Likewise.
40794         * tests/test-rbtree_list.c: Likewise.
40795         * tests/test-avltreehash_list.c: Likewise.
40796         * tests/test-rbtreehash_list.c: Likewise.
40797         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
40798         * modules/carray-list-tests (Makefile.am): Likewise.
40799         * modules/linked-list-tests (Makefile.am): Likewise.
40800         * modules/linkedhash-list-tests (Makefile.am): Likewise.
40801         * modules/avltree-list-tests (Makefile.am): Likewise.
40802         * modules/rbtree-list-tests (Makefile.am): Likewise.
40803         * modules/avltreehash-list-tests (Makefile.am): Likewise.
40804         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
40805
40806         * NEWS: Mention the changes.
40807
40808         * lib/clean-temp.c: Include gl_xlist.h.
40809         * modules/clean-temp (Depends-on): Add xlist.
40810
40811         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
40812         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
40813
40814         * tests/test-array_oset.c: Include gl_xlist.h.
40815         * modules/array-oset-tests (Depends-on): Add xlist.
40816
40817         Reported by José E. Marchesi <jemarch@gnu.org>.
40818
40819 2009-12-13  Bruno Haible  <bruno@clisp.org>
40820
40821         Move the malloc checking from module 'oset' to new module 'xoset'.
40822         * modules/xoset: New file.
40823         * lib/gl_xoset.h: New file.
40824         * lib/gl_xoset.c: New file.
40825         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
40826         declarations.
40827         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
40828         (struct gl_oset_implementation): Rename and change methods accordingly.
40829         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
40830         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
40831         'int'. Mark as __warn_unused_result__.
40832         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
40833         gl_oset_create_empty.
40834         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
40835         'int'.
40836         * lib/gl_array_oset.c: Don't include xalloc.h.
40837         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
40838         malloc, not xmalloc.
40839         (grow): Change return type to 'int'. Don't call xalloc_die.
40840         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
40841         to 'int'.
40842         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
40843         'int'.
40844         (gl_array_oset_implementation): Update.
40845         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
40846         gl_tree_create_empty.
40847         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
40848         'int'.
40849         * lib/gl_avltree_oset.c: Don't include xalloc.h.
40850         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
40851         xmalloc.
40852         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
40853         not xmalloc.
40854         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
40855         xmalloc.
40856         (gl_avltree_oset_implementation): Update.
40857         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
40858         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
40859         xmalloc.
40860         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
40861         not xmalloc.
40862         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
40863         xmalloc.
40864         (gl_rbtree_oset_implementation): Update.
40865         * modules/array-oset (Depends-on): Remove xalloc.
40866         * modules/avltree-oset (Depends-on): Likewise.
40867         * modules/rbtree-oset (Depends-on): Likewise.
40868         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
40869         * tests/test-avltree_oset.c: Likewise.
40870         * tests/test-rbtree_oset.c: Likewise.
40871         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
40872         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
40873         * modules/rbtree-oset-tests (Makefile.am): Likewise.
40874         * NEWS: Mention the change.
40875
40876 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
40877
40878         maint.mk: allow a project to override release-prep commands
40879         * top/maint.mk (alpha, beta, stable): Move release-preparatory
40880         commands into a new rule.
40881         (release-prep): New rule.
40882         (release-prep-hook): New overridable variable.
40883
40884 2009-12-13  Bruno Haible  <bruno@clisp.org>
40885
40886         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
40887
40888 2009-12-13  Jim Meyering  <meyering@redhat.com>
40889
40890         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
40891         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
40892
40893 2009-12-12  Bruno Haible  <bruno@clisp.org>
40894
40895         duplocale: Tweak.
40896         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
40897
40898 2009-12-12  Karl Berry  <karl@gnu.org>
40899
40900         * config/srclist.txt (strtoll.c): tab changes, no more sync.
40901
40902 2009-12-12  Bruno Haible  <bruno@clisp.org>
40903
40904         * m4/po.m4: Undo incorrect untabification.
40905
40906 2009-12-12  Bruno Haible  <bruno@clisp.org>
40907
40908         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
40909         * modules/c-strtod (Depends-on): Add locale.
40910         * modules/c-strtold (Depends-on): Likewise.
40911
40912 2009-12-12  Bruno Haible  <bruno@clisp.org>
40913
40914         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
40915
40916 2009-12-11  Eric Blake  <ebb9@byu.net>
40917
40918         setenv: relax requirement in light of POSIX ruling
40919         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
40920         not NULL.
40921         * tests/test-setenv.c (main): Relax test.
40922         * tests/test-unsetenv.c (main): Likewise.
40923         * doc/posix-functions/setenv.texi (setenv): Document this.
40924         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
40925
40926 2009-12-11  Bruno Haible  <bruno@clisp.org>
40927
40928         New module 'fd-safer-flag'.
40929         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
40930         * lib/dup-safer.c (dup_safer_flag): Remove function.
40931         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
40932         * lib/fd-safer.c (fd_safer_flag): Remove function.
40933         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
40934         * modules/cloexec (configure.ac): Drop indicator macro.
40935         * modules/fd-safer-flag: New file.
40936         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
40937         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
40938         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
40939
40940 2009-12-11  Bruno Haible  <bruno@clisp.org>
40941
40942         Tests for module 'nl_langinfo'.
40943         * modules/nl_langinfo-tests: New file.
40944         * tests/test-nl_langinfo.sh: New file.
40945         * tests/test-nl_langinfo.c: New file.
40946
40947         New module 'nl_langinfo'.
40948         * lib/nl_langinfo.c: New file.
40949         * m4/nl_langinfo.m4: New file.
40950         * modules/nl_langinfo: New file.
40951         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
40952
40953 2009-12-11  Bruno Haible  <bruno@clisp.org>
40954
40955         Tests for module 'langinfo'.
40956         * modules/langinfo-tests: New file.
40957         * tests/test-langinfo.c: New file.
40958
40959         New module 'langinfo'.
40960         * lib/langinfo.in.h: New file.
40961         * m4/langinfo_h.m4: New file.
40962         * modules/langinfo: New file.
40963         * doc/posix-headers/langinfo.texi: Mention the new module.
40964
40965 2009-12-11  Bruno Haible  <bruno@clisp.org>
40966
40967         * lib/config.charset: Untabify.
40968
40969 2009-12-11  Bruno Haible  <bruno@clisp.org>
40970
40971         * modules/unistd-safer (configure.ac): Drop indicator macro.
40972
40973 2009-12-11  Bruno Haible  <bruno@clisp.org>
40974
40975         Move pipe2-safer code to its own file.
40976         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
40977         * lib/pipe-safer.c (pipe2_safer): Remove function.
40978         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
40979         (Makefile.am): Add it to lib_SOURCES.
40980
40981 2009-12-10  Bruno Haible  <bruno@clisp.org>
40982
40983         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
40984
40985 2009-12-10  Bruno Haible  <bruno@clisp.org>
40986
40987         Declare which arguments expect non-NULL values, for GCC and clang.
40988         * build-aux/arg-nonnull.h: New file.
40989         * modules/arg-nonnull: New file.
40990         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
40991         (inet_ntop, inet_pton): Use it.
40992         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
40993         (closedir, dirfd, opendir, scandir, alphasort): Use it.
40994         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
40995         (open, openat): Use it.
40996         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
40997         (fnmatch): Use it.
40998         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
40999         (getopt, getopt_long, getopt_long_only): Use it.
41000         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
41001         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
41002         Use it.
41003         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
41004         (iconv_open): Use it.
41005         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
41006         (strtoimax, strtoumax): Use it.
41007         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
41008         (duplocale): Use it.
41009         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
41010         (frexp, frexpl): Use it.
41011         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
41012         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
41013         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
41014         (tsearch, tfind, tdelete, twalk): Use it.
41015         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
41016         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
41017         sigpending): Use it.
41018         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
41019         (posix_spawn, posix_spawnp, posix_spawnattr_init,
41020         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
41021         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
41022         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
41023         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
41024         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
41025         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
41026         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
41027         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
41028         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
41029         Use it.
41030         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
41031         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
41032         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
41033         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
41034         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
41035         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
41036         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
41037         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
41038         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
41039         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
41040         strtoull, unsetenv): Use it.
41041         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
41042         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
41043         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
41044         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
41045         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
41046         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
41047         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
41048         (strcasecmp, strncasecmp): Use it.
41049         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
41050         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
41051         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
41052         rpl_setsockopt): Use it.
41053         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
41054         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
41055         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
41056         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
41057         (gettimeofday): Use it.
41058         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
41059         (times): Use it.
41060         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
41061         (uname): Use it.
41062         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
41063         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
41064         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
41065         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
41066         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
41067         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
41068         unlinkat, write): Use it.
41069         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
41070         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
41071         * lib/argv-iter.h: Include arg-nonnull.h.
41072         (_ATTRIBUTE_NONNULL_): Remove macro.
41073         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
41074         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
41075         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
41076         optimization.
41077         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
41078         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
41079         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
41080         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
41081         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
41082         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
41083         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
41084         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
41085         * modules/arpa_inet (Depends-on): Add arg-nonnull.
41086         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
41087         * modules/dirent (Depends-on): Add arg-nonnull.
41088         (Makefile.am): Insert arg-nonnull.h into dirent.h.
41089         * modules/fcntl-h (Depends-on): Add arg-nonnull.
41090         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
41091         * modules/fnmatch (Depends-on): Add arg-nonnull.
41092         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
41093         * modules/getopt-posix (Depends-on): Add arg-nonnull.
41094         (Makefile.am): Insert arg-nonnull.h into getopt.h.
41095         * modules/glob (Depends-on): Add arg-nonnull.
41096         (Makefile.am): Insert arg-nonnull.h into glob.h.
41097         * modules/iconv_open (Depends-on): Add arg-nonnull.
41098         (Makefile.am): Insert arg-nonnull.h into iconv.h.
41099         * modules/inttypes (Depends-on): Add arg-nonnull.
41100         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
41101         * modules/locale (Depends-on): Add arg-nonnull.
41102         (Makefile.am): Insert arg-nonnull.h into locale.h.
41103         * modules/math (Depends-on): Add arg-nonnull.
41104         (Makefile.am): Insert arg-nonnull.h into math.h.
41105         * modules/netdb (Depends-on): Add arg-nonnull.
41106         (Makefile.am): Insert arg-nonnull.h into netdb.h.
41107         * modules/search (Depends-on): Add arg-nonnull.
41108         (Makefile.am): Insert arg-nonnull.h into search.h.
41109         * modules/signal (Depends-on): Add arg-nonnull.
41110         (Makefile.am): Insert arg-nonnull.h into signal.h.
41111         * modules/spawn (Depends-on): Add arg-nonnull.
41112         (Makefile.am): Insert arg-nonnull.h into spawn.h.
41113         * modules/stdio (Depends-on): Add arg-nonnull.
41114         (Makefile.am): Insert arg-nonnull.h into stdio.h.
41115         * modules/stdlib (Depends-on): Add arg-nonnull.
41116         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
41117         * modules/string (Depends-on): Add arg-nonnull.
41118         (Makefile.am): Insert arg-nonnull.h into string.h.
41119         * modules/strings (Depends-on): Add arg-nonnull.
41120         (Makefile.am): Insert arg-nonnull.h into strings.h.
41121         * modules/sys_socket (Depends-on): Add arg-nonnull.
41122         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
41123         * modules/sys_stat (Depends-on): Add arg-nonnull.
41124         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
41125         * modules/sys_time (Depends-on): Add arg-nonnull.
41126         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
41127         * modules/sys_times (Depends-on): Add arg-nonnull.
41128         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
41129         * modules/sys_utsname (Depends-on): Add arg-nonnull.
41130         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
41131         * modules/time (Depends-on): Add arg-nonnull.
41132         (Makefile.am): Insert arg-nonnull.h into time.h.
41133         * modules/unistd (Depends-on): Add arg-nonnull.
41134         (Makefile.am): Insert arg-nonnull.h into unistd.h.
41135         * modules/wchar (Depends-on): Add arg-nonnull.
41136         (Makefile.am): Insert arg-nonnull.h into wchar.h.
41137         * modules/argv-iter (Depends-on): Add arg-nonnull.
41138         * tests/test-canonicalize.c (null_ptr): New function.
41139         (main): Use it.
41140         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
41141         (main): Use it.
41142         * tests/test-memmem.c (null_ptr): New function.
41143         (main): Use it.
41144         Reported by Jim Meyering.
41145
41146 2009-12-10  Bruno Haible  <bruno@clisp.org>
41147
41148         Use spaces for indentation, not tabs.
41149         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
41150         * m4/*.m4: Untabify.
41151         * build-aux/*.h: Untabify.
41152         * tests/**/*.[hc]: Untabify.
41153         * README: New section "Indent with spaces, not TABs", based on
41154         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
41155         * NEWS: Mention the change.
41156
41157 2009-12-10  Bruno Haible  <bruno@clisp.org>
41158
41159         pty test: Fix link error.
41160         * modules/pty-tests (Makefile.am): Add the default LDADD value to
41161         test_pty_LDADD.
41162
41163 2009-12-07  Simon Josefsson  <simon@josefsson.org>
41164
41165         * modules/pty: New file.
41166         * modules/pty-tests: New file.
41167         * m4/pty.m4: New file.
41168         * tests/test-pty.c: New file.
41169         * doc/glibc-headers/pty.texi: Modified.
41170         * doc/glibc-functions/forkpty.texi: Modified.
41171         * doc/glibc-functions/openpty.texi: Modified.
41172
41173 2009-12-10  Bruno Haible  <bruno@clisp.org>
41174
41175         Avoid syntax error in C++ mode.
41176         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
41177
41178 2009-12-10  Bruno Haible  <bruno@clisp.org>
41179
41180         Use sed with option -e.
41181         * gnulib-tool (func_version, func_emit_copyright_notice,
41182         func_emit_initmacro_end, func_import, func_create_testdir): Pass
41183         option -e to sed.
41184         * modules/link-warning (Makefile.am): Likewise.
41185
41186 2009-12-10  Jim Meyering  <meyering@redhat.com>
41187
41188         mgetgroups: do not write bytes beyond end of malloc'd buffer
41189         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
41190         username, we call getgroups with a one-element-shorter buffer,
41191         but still told it the length was original, max_n_groups.
41192
41193 2009-12-09  Eric Blake  <ebb9@byu.net>
41194
41195         cloexec: relax license
41196         * modules/cloexec (Maintainer): Add myself.
41197         (License): Use LGPL, not GPL.
41198
41199         link-warning: optimize generation
41200         * modules/link-warning (Makefile.am): Reduce process usage.
41201
41202 2009-12-09  Bruno Haible  <bruno@clisp.org>
41203
41204         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
41205         workaround was added on 2009-11-17.
41206
41207 2009-12-09  Jim Meyering  <meyering@redhat.com>
41208             Bruno Haible  <bruno@clisp.org>
41209
41210         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
41211         * modules/link-warning (Makefile.am): Make the comment-removing sed
41212         command more robust in the face of bootstrap-prepended comment lines.
41213
41214 2009-12-09  Bruno Haible  <bruno@clisp.org>
41215
41216         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
41217         most one group.
41218
41219 2009-12-09  Simon Josefsson <simon@josefsson.org>
41220             Bruno Haible  <bruno@clisp.org>
41221
41222         * build-aux/link-warning.h: Add copyright notice.
41223         * modules/link-warning (Makefile.am): Generate link-warning.h from
41224         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
41225         * NEWS: Mention change in link-warning module.
41226         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
41227         * modules/dirent (Makefile.am): Add dependency to dirent.h.
41228         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
41229         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
41230         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
41231         * modules/math (Makefile.am): Add dependency to math.h.
41232         * modules/search (Makefile.am): Add dependency to search.h.
41233         * modules/signal (Makefile.am): Add dependency to signal.h.
41234         * modules/spawn (Makefile.am): Add dependency to spawn.h.
41235         * modules/stdio (Makefile.am): Add dependency to stdio.h.
41236         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
41237         * modules/string (Makefile.am): Add dependency to string.h.
41238         * modules/strings (Makefile.am): Add dependency to strings.h.
41239         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
41240         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
41241         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
41242         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
41243         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
41244         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
41245         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
41246         * modules/unistd (Makefile.am): Add dependency to unistd.h.
41247         * modules/wchar (Makefile.am): Add dependency to wchar.h.
41248
41249 2009-12-09  Bruno Haible  <bruno@clisp.org>
41250
41251         fchdir: Optimize away rpl_fstat when possible.
41252         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
41253         REPLACE_OPEN_DIRECTORY.
41254         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
41255
41256 2009-12-09  Bruno Haible  <bruno@clisp.org>
41257
41258         * lib/fchdir.c: Update comment.
41259
41260 2009-12-09  Bruno Haible  <bruno@clisp.org>
41261
41262         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
41263
41264 2009-12-08  Eric Blake  <ebb9@byu.net>
41265
41266         fchdir: avoid memory leak on re-registration.
41267         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
41268
41269 2009-12-08  Jim Meyering  <meyering@redhat.com>
41270
41271         init.sh: avoid Solaris 10 /bin/sh portability problem
41272         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
41273         sourced script:
41274           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
41275           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
41276           bar
41277         tests/init.sh relied on that, accepting a --set-path=DIR argument,
41278         and two tests used that idiom.
41279         * tests/init.sh: Update suggested usage comments.
41280         (path_prepend_): New function, to be used in place
41281         of the --src-path=DIR option.
41282         (setup_): Move PATH-prepending code into path_prepend_.
41283         * tests/test-pread.sh: Adapt to new usage.
41284         * tests/test-xalloc-die.sh: Likewise.
41285
41286 2009-12-08  Simon Josefsson  <simon@josefsson.org>
41287
41288         * doc/gnulib.texi (Glibc pty.h): Add.
41289         * doc/glibc-functions/forkpty.texi: Add.
41290         * doc/glibc-functions/openpty.texi: Add.
41291         Suggested by Bruno Haible.
41292
41293 2009-12-08  Eric Blake  <ebb9@byu.net>
41294
41295         fchdir: fix logic bugs
41296         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
41297         * tests/test-fchdir.c (main): Enhance test.
41298         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
41299         is in use.
41300
41301         dup2: fix logic bugs
41302         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
41303         REPLACE_DUP2 to decide when rpl_dup2 is needed.
41304         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
41305         exists.
41306         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
41307
41308 2009-12-07  Eric Blake  <ebb9@byu.net>
41309
41310         unlink: fix m4 detection
41311         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
41312
41313         unistd-safer: add unit test
41314         * modules/unistd-safer-tests: New file.
41315         * tests/test-dup-safer.c: Likewise.
41316         * tests/test-cloexec.c (setmode): Avoid compiler warning.
41317         * tests/test-dup2.c (setmode): Likewise.
41318         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
41319
41320         cloexec: preserve text vs. binary across dup_cloexec
41321         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
41322         mode.
41323         * modules/dup2-tests (Depends-on): Add binary-io.
41324         * modules/cloexec-tests (Depends-on): Likewise.
41325         * tests/test-dup2.c (setmode, is_mode): New helpers.
41326         (main): Add tests that translation mode is preserved.
41327         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
41328         Reported by Bruno Haible.
41329
41330         mgetgroups: reduce duplicate listings
41331         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
41332         resulting array.
41333         * tests/test-chown.h (test_chown): Simplify client.
41334         * tests/test-lchown.h (test_lchown): Likewise.
41335
41336 2009-12-06  Bruno Haible  <bruno@clisp.org>
41337
41338         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
41339         value.
41340
41341 2009-12-06  Bruno Haible  <bruno@clisp.org>
41342
41343         * lib/progname.c: Include stdio.h, stdlib.h.
41344         (set_program_name): Reject a NULL argument.
41345
41346 2009-12-05  Eric Blake  <ebb9@byu.net>
41347
41348         pipe2-safer: new module
41349         * modules/pipe2-safer: New file.
41350         * lib/unistd-safer.h (pipe2_safer): New prototype.
41351         * lib/unistd--.h (pipe2): New wrapper.
41352         * lib/pipe-safer.c (pipe2_safer): New function.
41353         * modules/pipe (Depends-on): Add pipe2-safer.
41354         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
41355
41356         stdlib-safer: preserve cloexec flag for mkostemp[s]
41357         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
41358         fd_safer_flag.
41359
41360         unistd-safer: allow preservation of cloexec status via flag
41361         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
41362         prototypes.
41363         * lib/dup-safer.c (dup_safer_flag): New function.
41364         * lib/fd-safer.c (fd_safer_flag): Likewise.
41365         * modules/cloexec (configure.ac): Set witness.
41366
41367         test-dup2: enhance test
41368         * modules/dup2-tests (Depends-on): Add cloexec.
41369         * tests/test-dup2.c (main): Enhance test.
41370
41371         cloexec: add dup_cloexec
41372         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
41373         header and comments.
41374         * lib/cloexec.c (set_cloexec_flag): Add comments.
41375         (dup_cloexec): New function, with mingw implementation borrowed
41376         from...
41377         * lib/w32spawn.h (dup_noinherit): ...here.
41378         * modules/execute (Depends-on): Add cloexec.
41379         * modules/pipe (Depends-on): Likewise.
41380         * modules/cloexec (Depends-on): Add dup2.
41381         * modules/cloexec-tests (Files): New file.
41382         * tests/test-cloexec.c: Likewise.
41383
41384         test-xalloc-die: fix test for mingw
41385         * modules/xalloc-die-tests (Files): Add tests/init.sh.
41386         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
41387         directory and .exe suffix off argv[0] output.
41388
41389         test-fseeko: fix test for mingw
41390         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
41391         than undefining fseek, so test will pass on mingw.
41392
41393 2009-12-05  Bruno Haible  <bruno@clisp.org>
41394
41395         * lib/progname.h (set_program_name): Clarify specification.
41396         * lib/progname.c (set_program_name): Likewise.
41397         Reported by Jim Meyering.
41398
41399 2009-12-05  Jim Meyering  <meyering@redhat.com>
41400
41401         maint.mk: backslash-escape parens in default regexp
41402         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
41403         backslash-escape the literal parentheses.
41404
41405         maint.mk: news-date-check: use grep -E
41406         * top/maint.mk (today): Define a Make variable, not a...
41407         (news-date-check): ...shell variable.
41408         (news-date-regexp): Use the Make variable.
41409         Use grep's -E option.  Change the failing diagnostic to mention
41410         the variable, $(news-date-regexp).
41411
41412 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
41413
41414         maintainer-makefile: allow customization of NEWS entry format
41415         * top/maint.mk (news-date-regexp): New overridable variable.
41416         (news-date-check): Use it.
41417
41418 2009-12-04  Eric Blake  <ebb9@byu.net>
41419
41420         mgetgroups: add xgetgroups, and avoid ENOSYS failures
41421         * lib/mgetgroups.h (xgetgroups): New prototype.
41422         * lib/mgetgroups.c (xgetgroups): New wrapper.
41423         (mgetgroups): Handle ENOSYS.
41424         * modules/mgetgroups (Depends-on): Add realloc.
41425         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
41426
41427         mgetgroups: avoid argument promotion issues with -1
41428         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
41429         for invalid gid_t.
41430         * tests/test-chown.h (getegid, test_chown): Likewise.
41431         * tests/test-lchown.h (getegid, test_lchown): Likewise.
41432
41433 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
41434
41435         exclude: Fix header file problems.
41436         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
41437
41438 2009-12-01  Jim Meyering  <meyering@redhat.com>
41439
41440         fts: fts_open: do not let an empty string cause immediate failure
41441         This is required in support of GNU rm, for which the command
41442         "rm A '' B" must process and remove both A and B, in spite of
41443         the empty string argument.
41444         * lib/fts.c (fts_open): Do not let the presence of an empty string
41445         cause fts_open to fail immediately.  Most fts-using tools must be
41446         able to process all arguments, in order, and can be expected to
41447         diagnose such arguments themselves.
41448
41449 2009-11-30  Eric Blake  <ebb9@byu.net>
41450
41451         utimens: fix compilation error
41452         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
41453         Declare variable at right scope.
41454
41455 2009-11-29  Jim Meyering  <meyering@redhat.com>
41456
41457         bootstrap: handle perl-5.11's changed --version output
41458         * build-aux/bootstrap (get_version): Handle perl separately,
41459         since perl-5.11's --version output is different.
41460
41461 2009-11-28  Jim Meyering  <meyering@redhat.com>
41462
41463         userspec: depend on the inttostr module, too
41464         * modules/userspec (Depends-on): Add inttostr.
41465
41466         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
41467         * lib/userspec.c (parse_with_separator): Do not accept a user ID
41468         number of MAXUID when it evaluates to (uid_t) -1.
41469         Likewise for group ID.  Reported by Matt McCutchen in
41470         <http://savannah.gnu.org/bugs/?28113>
41471
41472         userspec: reformat to use spaces, not TABs
41473         * lib/userspec.c: Expand TABs to spaces.
41474         Add Emacs' "indent-tabs-mode: nil" hint.
41475
41476 2009-11-27  Eric Blake  <ebb9@byu.net>
41477
41478         getopt-gnu: flush out another BSD bug
41479         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
41480         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
41481         flush out BSD bug.
41482         * tests/test-getopt.h (test_getopt): End lists with NULL.
41483         * tests/test-getopt_long.h (test_getopt_long): Likewise.
41484         (test_getopt_long_posix): Enhance test.
41485         * modules/getopt-posix-tests (Depends-on): Add stdbool.
41486         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
41487         getopt-gnu.
41488         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
41489         Likewise.
41490
41491 2009-11-27  Simon Josefsson  <simon@josefsson.org>
41492
41493         * modules/idpriv-droptemp-tests (Notice): Fix text.
41494
41495 2009-11-27  Jim Meyering  <meyering@redhat.com>
41496
41497         test-xalloc-die: avoid spurious failure due to libtool argv difference
41498         In a libtool-enabled project, this test would fail due to a difference
41499         in the emitted program name, e.g.,
41500         -test-xalloc-die: memory exhausted
41501         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
41502         Use program to avoid that.
41503         * modules/xalloc-die-tests (Depends-on): Add progname.
41504         * tests/test-xalloc-die.c: Include progname.h".
41505         (program_name): Remove decl.
41506         (main): Call set_program_name.
41507         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
41508
41509 2009-11-26  Richard Jones  <rjones@redhat.com>
41510
41511         w32sock: leave win32 error in place.
41512         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
41513
41514 2009-11-26  Eric Blake  <ebb9@byu.net>
41515
41516         init.sh: suggest to use skip_ and fail_ functions in comments
41517         * tests/init.sh: Add a sentence.
41518
41519 2009-11-25  Bruno Haible  <bruno@clisp.org>
41520
41521         init.sh: add documentation in comments
41522         * tests/init.sh: Add some developer and user documentation.
41523
41524 2009-11-26  Jim Meyering  <meyering@redhat.com>
41525
41526         init.sh: accommodate even those who specify bogus srcdir manually
41527         * tests/init.sh: Normally, srcdir is guaranteed by automake and
41528         configure-time tests to be sanitized, so that there is no need to
41529         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
41530         (with no double quotes) suffices.  However, since tests may be
41531         invoked manually, and since you may explicitly set srcdir to the
41532         name of a directory containing spaces, do quote its uses here.
41533         * tests/test-pread.sh: Likewise.
41534         Suggested by Bruno Haible.
41535
41536         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
41537         * tests/test-pread.sh: Write no data into the pipe, because
41538         test-pread actually reads none.  This avoids a diagnostic,
41539         "bash: echo: write error: Broken pipe", that arises in the unusual
41540         event something is ignoring SIGPIPE, and might be interpreted
41541         as some sort of failure.  Reported by Bruno Haible.
41542
41543 2009-11-25  Jim Meyering  <meyering@redhat.com>
41544
41545         test-pread: cover failure with ESPIPE and EINVAL
41546         * tests/test-pread.c (main): Test for failure, too.
41547         * tests/test-pread.sh: Invoke with stdin on a pipe.
41548         Suggested by Eric Blake.
41549
41550         pread: improvement and fix
41551         * modules/pread (Depends-on): Depend on lseek, for portability to
41552         e.g., mingw.  Suggested by Eric Blake.
41553         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
41554
41555         unistd.in.h: correct declaration of pread
41556         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
41557         Reported by Richard W.M. Jones.
41558
41559         test-pread.sh: distribute the test script
41560         * modules/pread-tests (Files): Include test-pread.sh.
41561
41562         test-pread.sh: clean up
41563         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
41564         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
41565         That is unnecessary, since it's always ".".
41566         Suggestion from Eric Blake.
41567
41568         test-pread.sh: make executable
41569         * tests/test-pread.sh: Set executable bit.
41570         Reported by Eric Blake.
41571
41572         correct typo in test-pread.sh
41573         * tests/test-pread.sh: Add #! line.
41574
41575         test pread
41576         * tests/test-pread.c: New file.
41577         * tests/test-pread.sh: Likewise.
41578         * modules/pread-tests: Likewise.
41579
41580         pread: new module
41581         * modules/pread: New file.
41582         * lib/unistd.in.h (pread): Define/declare.
41583         * lib/pread.c (pread): New file.
41584         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
41585         * modules/unistd (Makefile.am): Substitute witnesses.
41586         * doc/posix-functions/pread.texi (pread): Update.
41587         * MODULES.html.sh: Add pread.
41588
41589 2009-11-25  Jim Meyering  <meyering@redhat.com>
41590
41591         tests/init.sh: new file to be used via most *.sh tests
41592         * tests/init.sh: New file.
41593
41594 2009-11-25  Eric Blake  <ebb9@byu.net>
41595
41596         utimens: work around older Linux failure with symlinks
41597         * lib/utimens.c (lutimensat_works_really): New variable.
41598         (fdutimens, lutimens): Use it to manage kernels that support
41599         nanosecond times on files, but not on symlinks.
41600         Reported by OndÅ™ej Vašík.
41601
41602         utimes: fix configure grammar
41603         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
41604
41605 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
41606
41607         regex: Fix fastmap for multibyte character ranges.
41608         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
41609         characters when a multibyte character range is included.
41610
41611 2009-11-22  Andy Wingo  <wingo@pobox.com>
41612
41613         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
41614         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
41615
41616 2009-11-24  Bruno Haible  <bruno@clisp.org>
41617
41618         doc: Most *_l functions exist in MacOS X 10.5.
41619         * doc/posix-functions/duplocale.texi: Update platforms list.
41620         * doc/posix-functions/freelocale.texi: Likewise.
41621         * doc/posix-functions/newlocale.texi: Likewise.
41622         * doc/posix-functions/uselocale.texi: Likewise.
41623         * doc/posix-functions/isalnum_l.texi: Likewise.
41624         * doc/posix-functions/isalpha_l.texi: Likewise.
41625         * doc/posix-functions/isblank_l.texi: Likewise.
41626         * doc/posix-functions/iscntrl_l.texi: Likewise.
41627         * doc/posix-functions/isdigit_l.texi: Likewise.
41628         * doc/posix-functions/isgraph_l.texi: Likewise.
41629         * doc/posix-functions/islower_l.texi: Likewise.
41630         * doc/posix-functions/isprint_l.texi: Likewise.
41631         * doc/posix-functions/ispunct_l.texi: Likewise.
41632         * doc/posix-functions/isspace_l.texi: Likewise.
41633         * doc/posix-functions/isupper_l.texi: Likewise.
41634         * doc/posix-functions/iswalnum_l.texi: Likewise.
41635         * doc/posix-functions/iswalpha_l.texi: Likewise.
41636         * doc/posix-functions/iswblank_l.texi: Likewise.
41637         * doc/posix-functions/iswcntrl_l.texi: Likewise.
41638         * doc/posix-functions/iswctype_l.texi: Likewise.
41639         * doc/posix-functions/iswdigit_l.texi: Likewise.
41640         * doc/posix-functions/iswgraph_l.texi: Likewise.
41641         * doc/posix-functions/iswlower_l.texi: Likewise.
41642         * doc/posix-functions/iswprint_l.texi: Likewise.
41643         * doc/posix-functions/iswpunct_l.texi: Likewise.
41644         * doc/posix-functions/iswspace_l.texi: Likewise.
41645         * doc/posix-functions/iswupper_l.texi: Likewise.
41646         * doc/posix-functions/iswxdigit_l.texi: Likewise.
41647         * doc/posix-functions/isxdigit_l.texi: Likewise.
41648         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
41649         * doc/posix-functions/strcasecmp_l.texi: Likewise.
41650         * doc/posix-functions/strcoll_l.texi: Likewise.
41651         * doc/posix-functions/strfmon_l.texi: Likewise.
41652         * doc/posix-functions/strftime_l.texi: Likewise.
41653         * doc/posix-functions/strncasecmp_l.texi: Likewise.
41654         * doc/posix-functions/strxfrm_l.texi: Likewise.
41655         * doc/posix-functions/tolower_l.texi: Likewise.
41656         * doc/posix-functions/toupper_l.texi: Likewise.
41657         * doc/posix-functions/towctrans_l.texi: Likewise.
41658         * doc/posix-functions/towlower_l.texi: Likewise.
41659         * doc/posix-functions/towupper_l.texi: Likewise.
41660         * doc/posix-functions/wcscoll_l.texi: Likewise.
41661         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
41662         * doc/posix-functions/wctrans_l.texi: Likewise.
41663         * doc/posix-functions/wctype_l.texi: Likewise.
41664         * doc/glibc-functions/strptime_l.texi: Likewise.
41665         * doc/glibc-functions/strtod_l.texi: Likewise.
41666         * doc/glibc-functions/strtof_l.texi: Likewise.
41667         * doc/glibc-functions/strtol_l.texi: Likewise.
41668         * doc/glibc-functions/strtold_l.texi: Likewise.
41669         * doc/glibc-functions/strtoll_l.texi: Likewise.
41670         * doc/glibc-functions/strtoul_l.texi: Likewise.
41671         * doc/glibc-functions/strtoull_l.texi: Likewise.
41672         * doc/glibc-functions/wcsftime_l.texi: Likewise.
41673         * doc/glibc-functions/wcstod_l.texi: Likewise.
41674         * doc/glibc-functions/wcstof_l.texi: Likewise.
41675         * doc/glibc-functions/wcstol_l.texi: Likewise.
41676         * doc/glibc-functions/wcstold_l.texi: Likewise.
41677         * doc/glibc-functions/wcstoll_l.texi: Likewise.
41678         * doc/glibc-functions/wcstoul_l.texi: Likewise.
41679         * doc/glibc-functions/wcstoull_l.texi: Likewise.
41680
41681 2009-11-24  Bruno Haible  <bruno@clisp.org>
41682
41683         duplocale: Fix logic bug.
41684         * lib/duplocale.c: Don't include <langinfo.h>.
41685         (_NL_LOCALE_NAME): Remove macro.
41686         (rpl_duplocale): Use setlocale instead of nl_langinfo.
41687         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
41688
41689 2009-11-23  Jim Meyering  <meyering@redhat.com>
41690
41691         test-update-copyright: don't hard-code /usr/bin/perl
41692         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
41693         perl to print the current year.  Gilles Espinasse reported that
41694         the replaced use of perl was hard-coded as /usr/bin/perl.
41695
41696 2009-11-23  Bruno Haible  <bruno@clisp.org>
41697
41698         duplocale: Add support for glibc 2.3.x.
41699         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
41700
41701 2009-11-22  Bruno Haible  <bruno@clisp.org>
41702
41703         vasnprintf: Tiny optimization.
41704         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
41705         MacOS X.
41706
41707 2009-11-22  Bruno Haible  <bruno@clisp.org>
41708
41709         Tests for module 'duplocale'.
41710         * modules/duplocale-tests: New file.
41711         * tests/test-duplocale.c: New file.
41712
41713         New module 'duplocale'.
41714         * m4/duplocale.m4: New file.
41715         * lib/locale.in.h (duplocale): New declaration.
41716         * lib/duplocale.c: New file.
41717         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
41718         gl_LOCALE_H_DEFAULTS): New macros.
41719         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
41720         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
41721         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
41722         REPLACE_DUPLOCALE.
41723         * modules/duplocale: New file.
41724         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
41725
41726 2009-11-22  Bruno Haible  <bruno@clisp.org>
41727
41728         * modules/locale-tests (configure.ac): Test for newlocale function.
41729         * tests/test-locale.c: When the system has extended locale functions,
41730         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
41731
41732         locale: Make locale_t available when possible.
41733         * lib/locale.in.h: Include <xlocale.h> when it exists.
41734         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
41735         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
41736         * modules/locale (Depends-on): Add extensions.
41737         (Makefile.am): Also substitute HAVE_XLOCALE_H.
41738         * doc/posix-headers/locale.texi: Document the problem with locale_t.
41739
41740 2009-11-22  Bruno Haible  <bruno@clisp.org>
41741
41742         Add comments.
41743         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
41744         invocation.
41745         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
41746         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
41747         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
41748
41749 2009-11-22  Bruno Haible  <bruno@clisp.org>
41750
41751         error: account for the possibility of freopen (stdout).
41752         * lib/error.c: Include <unistd.h>.
41753         (flush_stdout): New function, extracted from error and error_at_line.
41754         Determine stdout's fd dynamically.
41755         (error, error_at_line): Invoke flush_stdout.
41756         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
41757         * modules/error (Depends-on): Add unistd.
41758
41759 2009-11-22  Bruno Haible  <bruno@clisp.org>
41760
41761         diffseq: Add comment.
41762         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
41763
41764 2009-11-22  Jim Meyering  <meyering@redhat.com>
41765
41766         c-stack: avoid defining an unused static function
41767         * lib/c-stack.c (find_stack_direction): Do not define this function
41768         when it will not be used.
41769
41770         diffseq: avoid spurious gcc warnings
41771         * lib/diffseq.h (IF_LINT2): Define.
41772         (compareseq): Use it to initialize two members of "part".
41773         This avoids two used-uninitialized warnings.
41774
41775 2009-11-21  Jim Meyering  <meyering@redhat.com>
41776
41777         c-stack: avoid "ignoring return value of `write'" warning
41778         * lib/c-stack.c: Include "ignore-value.h".
41779         (die): Explicitly ignore each write return value.
41780         * modules/c-stack (Depends-on): Add ignore-value.
41781
41782 2009-11-21  Bruno Haible  <bruno@clisp.org>
41783
41784         diffseq: reduce scope of variable 'best'.
41785         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
41786         variable, earlier used for two different purposes.
41787
41788 2009-11-21  Jim Meyering  <meyering@redhat.com>
41789
41790         diffseq: remove useless assignment to "best"
41791         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
41792         assignment.  At that point "best" is already guaranteed to be zero.
41793
41794 2009-11-20  Eric Blake  <ebb9@byu.net>
41795
41796         build: mention ftp redirector in release announcements
41797         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
41798         values that used to come from cfg.mk; mention FTP redirect URL.
41799         * build-aux/announce-gen: Mention the mirror list.
41800         Suggested by Karl Berry.
41801
41802         nanosleep: improve port to mingw
41803         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
41804         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
41805         LIB_NANOSLEEP, but only when needed.
41806         * modules/select (Link): Document LIBSOCKET.
41807         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
41808         enough.
41809
41810         nanosleep: work around cygwin bug
41811         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
41812         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
41813         bug.
41814         (getnow): Delete, not needed.
41815         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
41816         LIB_CLOCK_GETTIME.
41817         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
41818         clock-time, gettime.
41819         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
41820         bug.
41821         * modules/nanosleep-tests: New test.
41822         * tests/test-nanosleep.c: New file.
41823
41824         sleep: work around cygwin bug
41825         * lib/sleep.c (rpl_sleep): Work around the bug.
41826         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
41827         (gl_PREREQ_SLEEP): Delete unused macro.
41828         * modules/sleep (Depends-on): Add verify.
41829         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
41830         * modules/unistd (Makefile.am): Substitute witness.
41831         * lib/unistd.in.h (sleep): Update prototype.
41832         * doc/posix-functions/sleep.texi (sleep): Document the bug.
41833         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
41834         * modules/sleep-tests (Depends-on): Check for alarm.
41835
41836 2009-11-20  Jim Meyering  <meyering@redhat.com>
41837
41838         maint.mk: improve sc_prohibit_magic_number_exit
41839         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
41840         so it does not match uses like System.exit(1).
41841         Add comments showing how to correct all offenders.
41842
41843 2009-11-19  Eric Blake  <ebb9@byu.net>
41844
41845         xalloc-die-tests: add missing library
41846         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
41847
41848         test-xvasprintf: silence compiler warnings
41849         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
41850         empty string from gcc.
41851
41852 2009-11-19  Jim Meyering  <meyering@redhat.com>
41853
41854         xfreopen: new module, from coreutils
41855         * modules/xfreopen: New module.
41856         * lib/xfreopen.c: New file.
41857         * lib/xfreopen.h: New file.
41858         * MODULES.html.sh (File stream based Input/Output"): Add it.
41859
41860 2009-11-19  Eric Blake  <ebb9@byu.net>
41861
41862         manywarnings: depend on warnings
41863         * modules/manywarnings (Depends-on): Add warnings.
41864
41865         build: avoid compiler warnings
41866         * lib/select.c (rpl_select): Delete unused variable.
41867         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
41868
41869 2009-11-18  Eric Blake  <ebb9@byu.net>
41870
41871         tests: avoid false negative with --with-packager
41872         * tests/test-version-etc.sh: Discard packager information.
41873         * tests/test-argp-version-etc-1.sh: Likewise.
41874         Reported by Mike Frysinger.
41875
41876         utimens: fix regression on Solaris
41877         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
41878         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
41879         can only change fd timestamps via futimesat.  Instead, use an
41880         additional witness macro to avoid BSD bug.
41881         Reported by Jim Meyering.
41882
41883 2009-11-17  Eric Blake  <ebb9@byu.net>
41884
41885         usleep: use it to simplify tests
41886         * modules/stat-time-tests (Depends-on): Add usleep.
41887         (configure.ac): Drop usleep check.
41888         * modules/chown-tests (Depends-on, configure.ac): Likewise.
41889         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
41890         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
41891         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
41892         * modules/openat-tests (Depends-on, configure.ac): Likewise.
41893         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
41894         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
41895         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
41896         Likewise.
41897         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
41898         * tests/test-lchown.h (nap): Likewise.
41899         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
41900         * tests/test-stat-time.c (nap): Likewise.
41901         * tests/test-utimens-common.h (nap): Update comments.
41902
41903         usleep: new module
41904         * modules/usleep: New file.
41905         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
41906         * lib/usleep.c (usleep): Likewise.
41907         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
41908         * modules/unistd (Makefile.am): Substitute witnesses.
41909         * lib/unistd.in.h (usleep): Add declaration.
41910         * doc/pastposix-functions/usleep.texi (usleep): Document this.
41911         * MODULES.html.sh (Date and time): Likewise.
41912         * modules/usleep-tests (Depends-on): New test.
41913         * tests/test-usleep.c: New file.
41914
41915         chown: work around OpenBSD bug
41916         * lib/chown.c (rpl_chown): Work around the bug.
41917         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
41918         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
41919         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
41920         * modules/chown (Depends-on): Add stdbool.
41921         * modules/lchown (Depends-on): Likewise.
41922         * doc/posix-functions/chown.texi (chown): Document the bug.
41923         * doc/posix-functions/lchown.texi (lchown): Likewise.
41924         * tests/test-lchown.h (test_chown): Relax test.
41925
41926         mkstemp: avoid conflict with C++ keyword template
41927         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
41928         * lib/mkostemp.c (mkostemp): Likewise.
41929         * lib/mkostemps.c (mkostemps): Likewise.
41930         * lib/mkstemp.c (mkstemp): Likewise.
41931         * lib/mkstemps.c (mkstemps): Likewise.
41932
41933         xalloc-die-tests: optimize
41934         * tests/test-xalloc-die.sh: Reduce number of processes.
41935
41936 2009-11-17  Simon Josefsson  <simon@josefsson.org>
41937
41938         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
41939         patch from ludo@gnu.org (Ludovic Courtès).
41940
41941 2009-11-17  Jim Meyering  <meyering@redhat.com>
41942
41943         version-etc: use proper license string
41944         * modules/version-etc (License): Use LGPL, not LGPLv3+.
41945         * modules/version-etc-fsf: Likewise.
41946
41947 2009-11-17  Simon Josefsson  <simon@josefsson.org>
41948
41949         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
41950         printed to stdout.  Deal with EOL differences.
41951
41952 2009-11-17  Eric Blake  <ebb9@byu.net>
41953
41954         unsetenv: work around Solaris bug
41955         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
41956         * lib/unsetenv.c (rpl_unsetenv): Work around it.
41957         Reported by Jim Meyering.
41958
41959         vasnprintf: avoid compiler warnings
41960         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
41961         variables.
41962         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
41963
41964 2009-11-17  Simon Josefsson  <simon@josefsson.org>
41965
41966         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
41967         settings since xalloc-die is no longer the self test,
41968         xalloc-die.sh is.
41969
41970 2009-11-17  Jim Meyering  <meyering@redhat.com>
41971
41972         test-xalloc-die.sh: make the code agree with the commit log
41973         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
41974         at the end, just in case you happen to have a test-xalloc-die
41975         program in some other PATH directory.
41976
41977         test-xalloc-die.sh: fix a portability bug
41978         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
41979         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
41980         Otherwise, argv[0] (as often seen in diagnostics) would be too
41981         system-dependent, sometimes with, and sometimes without the leading "./".
41982
41983         version-etc-fsf: relax license to LGPLv3+
41984         * modules/version-etc-fsf (License): Relax license.
41985
41986 2009-11-16  Eric Blake  <ebb9@byu.net>
41987
41988         xalloc-die-tests: avoid printing null pointer
41989         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
41990         shell script.
41991         * tests/test-xalloc-die.c (program_name): Declare.
41992         * tests/test-xalloc-die.sh (tmpfiles): New file.
41993
41994         setenv, unsetenv: work around various bugs
41995         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
41996         (setenv) [HAVE_SETENV]: Work around bugs.
41997         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
41998         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
41999         for bugs.
42000         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
42001         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
42002         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
42003         * modules/stdlib (Makefile.am): Update substitutions.
42004         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
42005         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
42006         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
42007         * modules/setenv-tests: New test.
42008         * modules/unsetenv-tests: Likewise.
42009         * tests/test-setenv.c: New file.
42010         * tests/test-unsetenv.c: Likewise.
42011
42012 2009-11-16  Jim Meyering  <meyering@redhat.com>
42013
42014         version-etc: relax license to LGPLv3+
42015         * modules/version-etc (License): Relax license.
42016
42017         better AC_REQUIRE expanded-before-required-warning avoidance
42018         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
42019         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
42020         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
42021         which is no longer needed.
42022
42023 2009-11-16  Eric Blake  <ebb9@byu.net>
42024
42025         test-freading: clean up temporary file
42026         * tests/test-freading.c (main): Remove file on success, and use
42027         ASSERT more liberally.
42028         Reported by Jim Meyering.
42029
42030 2009-11-16  Jim Meyering  <meyering@redhat.com>
42031
42032         avoid new AC_REQUIRE expanded-before-required warnings
42033         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
42034         merely using it.
42035         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
42036         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
42037
42038 2009-11-15  Simon Josefsson  <simon@josefsson.org>
42039
42040         * tests/test-xalloc-die.c: New file.
42041         * modules/xalloc-die-tests: New file.
42042         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
42043         XFAIL_TESTS so it can be appended by modules.
42044
42045 2009-11-15  Simon Josefsson  <simon@josefsson.org>
42046
42047         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
42048         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
42049
42050 2009-11-14  Eric Blake  <ebb9@byu.net>
42051
42052         fnmatch: avoid compiler warning
42053         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
42054         to silence compiler warning about mismatch signedness in ?:.
42055         Reported by Robert Millan.
42056
42057         intprops: add double-inclusion guard
42058         * lib/intprops.h: Allow idempotent includes.
42059         Suggested by Bruce Korb.
42060
42061         openat: detect Solaris fchownat bug
42062         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
42063         penalizing glibc chownat when only lchownat is broken.
42064         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
42065         trailing slash bugs.
42066         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
42067         * modules/openat-tests (Files): Include more files.
42068         (Depends-on): Add mgetgroups, sleep, stat-time.
42069         (configure.ac): Add additional checks.
42070         (Makefile.am): Build new test.
42071         * tests/test-fchownat.c: New file.
42072
42073         lchown: detect Solaris and FreeBSD bug
42074         * lib/lchown.c (rpl_lchown): Work around bug.
42075         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
42076         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
42077         * modules/unistd (Makefile.am): Populate it.
42078         * lib/unistd.in.h (lchown): Update declaration.
42079         * doc/posix-functions/lchown.texi (lchown): Document the bug.
42080         * modules/lchown-tests: New file.
42081         * tests/test-lchown.h (test_lchown): Likewise.
42082         * tests/test-lchown.c (main): Likewise.
42083
42084         chown: detect Solaris and FreeBSD bug
42085         * lib/chown.c (rpl_chown): Work around bug.
42086         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
42087         (gl_PREREQ_CHOWN): Delete.
42088         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
42089         * modules/unistd (Makefile.am): Populate it.
42090         * lib/unistd.in.h (chown): Update declaration.
42091         * lib/lchown.c (chown): Update client.
42092         * modules/lchown (Depends-on): Add lstat.
42093         * doc/posix-functions/chown.texi (chown): Document the bug.
42094         * doc/posix-functions/getgroups.texi (getgroups): Document
42095         getgroups pitfall.
42096         * modules/chown-tests: New file.
42097         * tests/test-chown.h (test_chown): Likewise.
42098         * tests/test-chown.c (main): Likewise.
42099
42100 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
42101
42102         gnulib-tool: correctly detect absence of m4 directories
42103         * gnulib-tool: Avoid extra newline on data passed to wc -l.
42104
42105 2009-11-14  Jim Meyering  <meyering@redhat.com>
42106
42107         maint.mk: Prohibit inclusion of "xalloc.h" without use.
42108         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
42109
42110 2009-11-14  John W. Eaton  <jwe@gnu.org>
42111
42112         strftime.h: wrap function declaration in extern "C" block
42113         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
42114
42115 2009-11-13  Eric Blake  <ebb9@byu.net>
42116
42117         getgroups: avoid compiler warning
42118         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
42119
42120         getgroups: work around FreeBSD bug
42121         * lib/getgroups.c (rpl_getgroups): Work around the bug.
42122         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
42123         * doc/posix-functions/getgroups.texi (getgroups): Document it.
42124         * tests/test-getgroups.c (main): Fix buffer overrun.
42125
42126         getgroups: avoid compilation failure
42127         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
42128         * modules/getgroups (Depends-on): Add stdint.
42129
42130 2009-11-13  Jim Meyering  <meyering@redhat.com>
42131
42132         test-getgroups: avoid compilation failure
42133         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
42134
42135 2009-11-13  Eric Blake  <ebb9@byu.net>
42136
42137         mgetgroups: new module, taken from coreutils
42138         * modules/mgetgroups: New file.
42139         * lib/mgetgroups.h: Likewise.
42140         * lib/mgetgroups.c (mgetgroups): Likewise.
42141         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
42142         * MODULES.html.sh (Users and groups): Mention it.
42143
42144         getgroups: don't expose GETGROUPS_T to user
42145         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
42146         an element at a time if GETGROUPS_T is wrong size.
42147         * lib/getugroups.h (getugroups): Change signature.
42148         * lib/unistd.in.h (getgroups): Likewise.
42149         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
42150         signature needs fixing.
42151         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
42152         AC_TYPE_GETGROUPS.
42153         * modules/group-member (Depends-on): Add getgroups.
42154         * lib/group-member.c (group_info, get_group_info): Use gid_t.
42155         (group_member): Rely on getgroups replacement.
42156         * lib/getugroups.c (getugroups): Use gid_t.
42157         * tests/test-getgroups.c (main): Likewise.
42158         * NEWS: Mention the signature change.
42159         * doc/posix-functions/getgroups.texi (getgroups): Mention the
42160         problem with signature.
42161         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
42162         GETGROUPS_T is still useful for setgroups.
42163
42164         getgroups, getugroups: provide stubs for mingw
42165         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
42166         * lib/getugroups.c (getugroups): Likewise.
42167         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
42168         function.  Modernize replacement scheme.
42169         (gl_PREREQ_GETGROUPS): Delete.
42170         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
42171         * modules/getgroups (configure.ac): Declare witness.
42172         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
42173         * modules/unistd (Depends-on): Substitute witness.
42174         * lib/unistd.in.h (getgroups): Declare replacement.
42175
42176         getgroups: avoid calling exit
42177         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
42178         drop xalloc.
42179         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
42180         dependencies.
42181         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
42182         exiting, in the rare case of malloc failure.
42183
42184         getgroups: fix logic error
42185         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
42186         has more than 20 groups.
42187         * modules/getgroups-tests: New test.
42188         * tests/test-getgroups.c: New file.
42189
42190 2009-11-13  Simon Josefsson  <simon@josefsson.org>
42191
42192         * tests/test-base64.c: Improve.
42193
42194 2009-11-13  Simon Josefsson  <simon@josefsson.org>
42195
42196         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
42197         Blake <ebb9@byu.net>.
42198
42199 2009-11-13  Simon Josefsson  <simon@josefsson.org>
42200
42201         * tests/test-xvasprintf.c: Add %s%s related checks.
42202
42203 2009-11-12  Eric Blake  <ebb9@byu.net>
42204
42205         version-etc: match standards.texi style
42206         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
42207         and use <> only for URLs.
42208
42209 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
42210
42211         fts: do not fail on a submount during traversal
42212         * lib/fts.c (fts_build): Read the stat info again after opening
42213         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
42214         Original report at http://bugzilla.redhat.com/501848.
42215
42216 2009-11-12  Jim Meyering  <meyering@redhat.com>
42217
42218         bootstrap: sync from coreutils
42219         * build-aux/bootstrap (bootstrap_epilogue): New function.
42220         Use git_modules_config in one more place.  This make bootstrap's
42221         --gnulib-srcdir option more useful for testing.
42222
42223         bootstrap: generalize autoheader check
42224         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
42225         AC_CONFIG_HEADERS.
42226
42227 2009-11-11  Eric Blake  <ebb9@byu.net>
42228
42229         mkfifoat: use new modules for Solaris and BSD bugs
42230         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
42231         * lib/mkfifoat.c (mknodat): Split...
42232         * lib/mknodat.c (mknodat): ...into new file.
42233         * modules/mkfifoat (Files): Ship new file.
42234         (Depends-on): Add mkfifo, mknod.
42235         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
42236         (Depends-on): Add symlink.
42237         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
42238         redundant with test_mkfifo.h.
42239         (do_mkfifoat, do_mknodat): New helpers.
42240
42241         mknod: new module
42242         * modules/mknod: New file.
42243         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
42244         * lib/mknod.c (mknod): Likewise.
42245         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
42246         defaults.
42247         * modules/sys_stat (Makefile.am): Substitute them.
42248         * lib/sys_stat.in.h (mknod): Declare replacement.
42249         * MODULES.html.sh (Support for systems lacking POSIX:2008):
42250         Document it.
42251         * doc/posix-functions/mknod.texi (mknod): Likewise.
42252         * modules/mknod-tests: New test.
42253         * tests/test-mknod.c: Likewise.
42254
42255         mkfifo: new module
42256         * modules/mkfifo: New file.
42257         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
42258         * lib/mkfifo.c (mkfifo): Likewise.
42259         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
42260         defaults.
42261         * modules/sys_stat (Makefile.am): Substitute them.
42262         * lib/sys_stat.in.h (mkfifo): Declare replacement.
42263         * MODULES.html.sh (Support for systems lacking POSIX:2008):
42264         Document it.
42265         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
42266         * modules/mkfifo-tests: New test.
42267         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
42268         from test-mkfifoat.c.
42269         * tests/test-mkfifo.c: New file.
42270
42271         readlink: detect FreeBSD bug
42272         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
42273         slash on symlink.
42274         * doc/posix-functions/readlink.texi (readlink): Document the bug.
42275         * tests/test-readlink.h (test_readlink): Enhance test.
42276
42277         symlink: detect FreeBSD bug
42278         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
42279         slash on symlink.
42280         * doc/posix-functions/symlink.texi (symlink): Document the bug.
42281         * tests/test-symlink.h (test_symlink): Enhance test.
42282
42283 2009-11-10  Eric Blake  <ebb9@byu.net>
42284
42285         link: detect FreeBSD bug
42286         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
42287         symlink.
42288         * doc/posix-functions/link.texi (link): Document the bug.
42289         * tests/test-link.h (test_link): Enhance test.
42290         * tests/test-linkat.c (main): Update caller.
42291
42292         unlink, remove: detect FreeBSD bug
42293         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
42294         slash on symlink.
42295         * doc/posix-functions/unlink.texi (unlink): Document the bug.
42296         * doc/posix-functions/remove.texi (remove): Likewise.
42297         * tests/test-unlink.h (test_unlink): Enhance test.
42298         * tests/test-remove.c (main): Likewise.
42299
42300 2009-11-09  Eric Blake  <ebb9@byu.net>
42301
42302         rename: detect FreeBSD bug
42303         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
42304         slash on symlink.
42305         * modules/renameat-tests (Depends-on): Add filenamecat.
42306         * tests/test-rename.h (test_rename): Allow one more errno.
42307         * tests/test-renameat.c (main): Likewise.
42308         * doc/posix-functions/rename.texi (rename): Document the bug.
42309
42310         open: detect FreeBSD bug
42311         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
42312         symlink.
42313         * doc/posix-functions/open.texi (open): Document the bug.
42314         * doc/posix-functions/utimes.texi (utimes): Likewise.
42315         * tests/test-open.h (test_open): Add parameters, and test symlink
42316         handling.
42317         * tests/test-open.c (main): Adjust caller.
42318         * tests/test-fcntl-safer.c (main): Likewise.
42319         * modules/open-tests (Depends-on): Add stdbool, symlink.
42320         * modules/fcntl-safer-tests (Depends-on): Likewise.
42321         * tests/test-openat.c (main): Add test-open tests.
42322
42323         stat: detect FreeBSD bug
42324         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
42325         symlink.
42326         * doc/posix-functions/stat.texi (stat): Document the bug.
42327         * tests/test-stat.h (test_stat_func): Add argument.
42328         * tests/test-stat.c (main): Adjust caller.
42329         * tests/test-fstatat.c (main): Likewise.
42330         * modules/stat-tests (Depends-on): Add stdbool, symlink.
42331         Reported by Jim Meyering.
42332
42333 2009-11-09  James Youngman  <jay@gnu.org>
42334
42335         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
42336         * lib/strftime.c: Correct placement of #include "ignore-value.h".
42337
42338 2009-11-08  Jim Meyering  <meyering@redhat.com>
42339
42340         utimens: remove invalid futimesat call
42341         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
42342         It used the file descriptor of the target file as the DIR_FD
42343         parameter and NULL as the file name.  That caused failure with
42344         errno == EFAULT on FreeBSD-8.0-rc2
42345
42346 2009-11-07  Eric Blake  <ebb9@byu.net>
42347
42348         fflush, freadseek: use fseeko, not fseek
42349         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
42350         (clear_ungetc_buffer): Avoid potential problems on large files.
42351         * lib/freadseek.c (freadseek): Likewise.
42352         * modules/freadseek (Depends-on): Add fseeko.
42353         * modules/fseek (configure.ac): Set a witness.
42354         * tests/test-fflush.c (main): Use fseeko.
42355         * tests/test-fpurge.c (fseek): Disable link warning.
42356         * tests/test-freadable.c (fseek): Likewise.
42357         * tests/test-freading.c (fseek): Likewise.
42358         * tests/test-fseeko.c (fseek): Likewise.
42359         * tests/test-ftell.c (fseek): Likewise.
42360         * tests/test-ftello.c (fseek): Likewise.
42361         * tests/test-fwritable.c (fseek): Likewise.
42362         * tests/test-fwriting.c (fseek): Likewise.
42363
42364 2009-11-06  Simon Josefsson  <simon@josefsson.org>
42365
42366         * modules/memchr (Depends-on): Drop getpagesize dependency.
42367
42368 2009-11-06  Simon Josefsson  <simon@josefsson.org>
42369
42370         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
42371         Reported by Ludovic Courtès.
42372         * build-aux/pmccabe2html: Improve example usage.
42373         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
42374
42375 2009-11-06  Jim Meyering  <meyering@redhat.com>
42376
42377         do-release-commit-and-tag: New module.
42378         Automate the release-commit and tag process.
42379         * build-aux/do-release-commit-and-tag: New script, from coreutils.
42380         * modules/do-release-commit-and-tag: New file.
42381         * MODULES.html.sh (Support for maintaining and releasing): Add it.
42382
42383 2009-11-06  Simon Josefsson  <simon@josefsson.org>
42384
42385         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
42386         because test-select.c uses inet_pton.
42387
42388 2009-11-06  Simon Josefsson  <simon@josefsson.org>
42389
42390         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
42391         GETADDRINFO_LIB.  Bump serial number.
42392         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
42393         Suggested by Eric Blake <ebb9@byu.net>.
42394
42395 2009-11-05  Eric Blake  <ebb9@byu.net>
42396
42397         strtod: detect darwin bug
42398         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
42399         Reported by Leo Davis.
42400
42401         freopen-safer: new module
42402         * modules/freopen-safer: New module.
42403         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
42404         * lib/freopen-safer.c (freopen_safer): New file.
42405         * lib/stdio-safer.h (freopen_safer): New declaration.
42406         * lib/stdio--.h (freopen): New override.
42407         * MODULES.html.sh (File stream based Input/Output): Mention it.
42408         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
42409         freopen-safer module.
42410         * doc/posix-functions/stderr.texi (stderr): Likewise.
42411         * doc/posix-functions/stdin.texi (stdin): Likewise.
42412         * doc/posix-functions/stdout.texi (stdout): Likewise.
42413         * modules/freopen-safer-tests: New test.
42414         * tests/test-reopen-safer.c: New file.
42415
42416 2009-11-05  Jim Meyering  <meyering@redhat.com>
42417
42418         maint.mk: Prohibit inclusion of "close-stream.h" without use.
42419         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
42420
42421 2009-11-05  Simon Josefsson  <simon@josefsson.org>
42422
42423         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
42424
42425 2009-11-05  Simon Josefsson  <simon@josefsson.org>
42426
42427         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
42428
42429 2009-11-05  Simon Josefsson  <simon@josefsson.org>
42430
42431         Fix link error.
42432         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
42433         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
42434
42435 2009-11-05  Simon Josefsson  <simon@josefsson.org>
42436
42437         * tests/test-func.c: Also test value of __func__.
42438
42439 2009-11-05  Simon Josefsson  <simon@josefsson.org>
42440
42441         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
42442         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
42443
42444 2009-11-05  Bruno Haible  <bruno@clisp.org>
42445
42446         Fix link error.
42447         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
42448         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
42449         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
42450
42451 2009-11-05  Bruno Haible  <bruno@clisp.org>
42452
42453         Tests for module 'inet_pton'.
42454         * modules/inet_pton-tests: New file.
42455         * tests/test-inet_pton.c: New file.
42456
42457 2009-11-05  Bruno Haible  <bruno@clisp.org>
42458
42459         Tests for module 'inet_ntop'.
42460         * modules/inet_ntop-tests: New file.
42461         * tests/test-inet_ntop.c: New file.
42462
42463 2009-11-04  Eric Blake  <ebb9@byu.net>
42464
42465         stdlib-safer: wrap all mkstemp variants
42466         * modules/mkostemp (configure.ac): Set witness.
42467         * modules/mkostemps (configure.ac): Likewise.
42468         * modules/mkstemps (configure.ac): Likewise.
42469         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
42470         (mkstemps_safer): Wrap more functions.
42471         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
42472         wrapping.
42473         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
42474         (mkstemps_safer): Implement the wrappers.
42475
42476         mkstemps, mkostemps: new modules
42477         * modules/mkostemps: New module.
42478         * modules/mkstemps: Likewise.
42479         * lib/mkostemps.c (mkostemps): New file.
42480         * lib/mkstemps.c (mkstemps): Likewise.
42481         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
42482         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
42483         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
42484         * modules/stdlib (Makefile.am): Substitute them.
42485         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
42486         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
42487         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
42488         * doc/gnulib.texi (Glibc stdlib.h): Include them.
42489         * MODULES.html.sh (File system functions): Mention them.
42490
42491         tempname: resync from glibc
42492         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
42493         same values for __GT_FILE as glibc.  Abort even when assertions
42494         are disabled.
42495         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
42496         match its value otherwise.  Allow idempotent inclusion.
42497         * lib/mkdtemp.c (mkdtemp): Adjust caller.
42498         * lib/mkostemp.c (mkostemp): Likewise.
42499         * lib/mkstemp.c (mkstemp): Likewise.
42500         * lib/tmpfile.c (tmpfile): Likewise.
42501         * NEWS: Document this.
42502
42503         utimens: fix use of futimens on older Linux
42504         * lib/utimens.c (fdutimens): Use updated, rather than original,
42505         timespec to avoid bug in older Linux kernel.
42506         Reported by Simon Josefsson.
42507
42508 2009-11-04  Bruno Haible  <bruno@clisp.org>
42509
42510         Make num_processors more flexible and consistent.
42511         * lib/nproc.h (enum nproc_query): New type.
42512         (num_processors): Add a 'query' argument.
42513         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
42514         (num_processors): Add a 'query' argument. Test the value of the
42515         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
42516         mingw, count the number of CPUs available for the current process.
42517         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
42518         Check for sched_getaffinity and sched_getaffinity_np.
42519         * modules/nproc (Depends-on): Add c-ctype, extensions.
42520         * NEWS: Mention the change.
42521
42522 2009-11-03  Bruno Haible  <bruno@clisp.org>
42523
42524         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
42525
42526 2009-11-03  Jim Meyering  <meyering@redhat.com>
42527
42528         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
42529         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
42530         if it is defined.
42531
42532 2009-11-02  Eric Blake  <ebb9@byu.net>
42533
42534         mktime, timegm: share common declaration
42535         * lib/mktime-internal.h: New file.
42536         * lib/mktime.c: Use it rather than open-coding a declaration.
42537         * lib/timegm.c: Likewise.
42538         * modules/mktime (Files): Ship it.
42539         * modules/timegm (Files): Likewise.
42540         Suggested by Bruno Haible.
42541
42542         test-update-copyright: update test to match script changes
42543         * tests/test-update-copyright.sh: Avoid hard-coding perl
42544         location.  Don't update *.bak created by earlier runs.
42545
42546 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
42547             Simon Josefsson  <simon@josefsson.org>
42548             Bruno Haible  <bruno@clisp.org>
42549
42550         Fix link error on Solaris 8.
42551         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
42552         also in libnsl. Define also INET_PTON_LIB.
42553         * modules/inet_pton (Link): New section.
42554
42555 2009-11-02  Simon Josefsson  <simon@josefsson.org>
42556             Bruno Haible  <bruno@clisp.org>
42557
42558         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
42559         * modules/inet_ntop (Link): New section.
42560         Reported by Boyan Kasarov <bkasarov@gmail.com>.
42561
42562 2009-11-02  Eric Blake  <ebb9@byu.net>
42563
42564         maint: avoid compiler warnings in m4 macros
42565         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
42566         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
42567
42568 2009-11-02  Simon Josefsson  <simon@josefsson.org>
42569
42570         * m4/pmccabe2html.m4: Remove file.
42571         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
42572         function.  Change maintainer.
42573         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
42574         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
42575         Courtès).
42576
42577 2009-10-31  Eric Blake  <ebb9@byu.net>
42578
42579         fseeko: fix m4 regression
42580         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
42581         regression from 2009-10-27.
42582         Reported by Ralf Wildenhues.
42583
42584 2009-10-31  Jim Meyering  <meyering@redhat.com>
42585
42586         inttostr: aesthetics and improved (compile-time) safety
42587         Define inttype_is_signed rather than inttype_is_unsigned,
42588         since the sole use is via "#if inttype_is_signed".
42589         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
42590         inttype_is_unsigned.
42591         * lib/offtostr.c (inttype_is_signed): Likewise.
42592         * lib/uinttostr.c (inttype_is_signed): Likewise.
42593         * lib/umaxtostr.c (inttype_is_signed): Likewise.
42594         * lib/inttostr.c (inttostr): Use verify to cross-check the
42595         inttype_is_signed value and the signedness of the actual type.
42596         * modules/inttostr (Depends-on): Add verify.
42597
42598 2009-10-30  Eric Blake  <ebb9@byu.net>
42599
42600         build: avoid compiler warnings
42601         * lib/fchmodat.c (lchmod): Mark unused variables.
42602         * lib/getopt.c (_getopt_initialize): Likewise.
42603         * lib/mktime.c (__mktime_internal): Provide prototype.
42604         * lib/inttostr.c (inttostr): Avoid compiler warning even with
42605         older gcc that do not understand #pragma GCC diagnostic.
42606         * lib/uinttostr.c (inttype_is_unsigned): Define.
42607         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
42608
42609 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
42610
42611         stat: fix compilation on AIX
42612         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
42613         only see struct stat64.
42614
42615 2009-10-30  Eric Blake  <ebb9@byu.net>
42616
42617         exclude: make more robust
42618         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
42619         rather than masking a coding bug.
42620         Suggested by Bruno Haible.
42621
42622 2009-10-30  Jim Meyering  <meyering@redhat.com>
42623
42624         perl scripts: remove #!/usr/bin/perl in favor of more portable...
42625         Rather than putting #!/usr/bin/perl on the first line,
42626         start with a variant of what's recommended by "man perlrun" that
42627         invokes the first "perl" program from your shell's search path.
42628         * build-aux/gitlog-to-changelog: Replace #!... as above.
42629         Add a "Local Variables" perl mode setting.
42630         Prompted by a patch from Ludovic Courtès.
42631         Improved by Eric Blake.
42632         * build-aux/useless-if-before-free: Likewise.
42633         * build-aux/announce-gen: Likewise.
42634         * build-aux/update-copyright: Likewise.
42635
42636 2009-10-29  Eric Blake  <ebb9@byu.net>
42637
42638         filenamecat-lgpl: adjust clients
42639         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
42640         filenamecat.
42641         * modules/renameat (Depends-on): Likewise.
42642
42643         filenamecat: split into filenamecat-lgpl
42644         * modules/filenamecat-lgpl: New module.
42645         * modules/filenamecat (Files): Move library-safe files into
42646         filenamecat-lgpl.
42647         (Depends-on): Add filenamecat-lgpl.
42648         (configure.ac): Declare witness.
42649         * lib/filenamecat.h (file_name_concat): Only declare when using
42650         GPL module.
42651         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
42652         Move...
42653         * lib/filenamecat-lgpl.c: ...into new file.
42654         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
42655         (gl_FILE_NAME_CONCAT): Use it.
42656         * MODULES.html.sh (File system functions): Mention new module.
42657
42658         argp: avoid memory leak
42659         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
42660         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
42661         base_name, since the latter malloc()s and can call exit().
42662         Leak introduced 2006-07-03.
42663
42664         dirname-lgpl: adjust clients that don't need full dirname
42665         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
42666         * modules/filenamecat (Depends-on): Likewise.
42667         * modules/linkat (Depends-on): Likewise.
42668         * modules/mkancesdirs (Depends-on): Likewise.
42669         * modules/mkdir (Depends-on): Likewise.
42670         * modules/openat (Depends-on): Likewise.
42671         * modules/savewd (Depends-on): Likewise.
42672         * modules/rename (Depends-on): Likewise.
42673         (License): Relax license.
42674         * modules/mkdir-tests (Depends-on): Drop progname.
42675         (Makefile.am): Delete unneeded LDADD.
42676         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
42677
42678         dirname: split into dirname-lgpl
42679         * modules/dirname-lgpl: New module.
42680         * modules/dirname (Files): Move library-safe files into
42681         dirname-lgpl.
42682         (Depends-on): Add dirname-lgpl.
42683         (configure.ac): Declare witness.
42684         * modules/double-slash-root (License): Relax license.
42685         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
42686         module.
42687         * lib/dirname.c (dir_len, mdir_name): Move...
42688         * lib/dirname-lgpl.c: ...into new file.
42689         * lib/basename.c (last_component, base_len): Move...
42690         * lib/basename-lgpl.c: ...into new file.
42691         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
42692         (gl_DIRNAME): Use it.
42693         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
42694         Mention new module.
42695         * modules/dirname-tests (Depends-on): Add progname.
42696         * tests/test-dirname.c (program_name): Delete.
42697
42698         mkdir: make safe for libraries
42699         * modules/mkdir (Depends-on): Drop xalloc.
42700         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
42701         exit.
42702
42703         tests: avoid some compiler warnings
42704         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
42705         literals.
42706         * tests/test-memchr.c (main): Avoid type mismatch.
42707         * tests/test-arpa_inet.c (main): Avoid unused parameters.
42708         * tests/test-base64.c (main): Likewise.
42709         * tests/test-getdelim.c (main): Likewise.
42710         * tests/test-gethostname.c (main): Likewise.
42711         * tests/test-getline.c (main): Likewise.
42712         * tests/test-netinet_in.c (main): Likewise.
42713         * tests/test-select.c (open_server_socket, main): Likewise.
42714         * tests/test-select-stdin.c (main): Likewise.
42715         * tests/test-sockets.c (main): Likewise.
42716         * tests/test-strsignal.c (main): Likewise.
42717         * tests/test-sys_select.c (main): Likewise.
42718         * tests/test-sys_socket.c (main): Likewise.
42719         * tests/test-u64.c (main): Likewise.
42720         * tests/test-xfprintf-posix.c (main): Likewise.
42721         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
42722
42723         sockets: avoid compiler warning
42724         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
42725
42726         maint: detect usage(1) and other suspicious exits
42727         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
42728
42729 2009-10-29  Jim Meyering  <meyering@redhat.com>
42730
42731         timespec: long-to-int truncation could make timespec_cmp malfunction
42732         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
42733         a multiple of 2^32 nanoseconds as no difference.
42734
42735 2009-10-28  Jim Meyering  <meyering@redhat.com>
42736
42737         fprintftime: wrap macro code argument in "do {...} while(0)"
42738         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
42739         cpy macro must be a statement that can be followed by a semicolon.
42740         Now that the else clause contains a comment and is hence longer
42741         than one line, I require curly braces.  That in turn requires
42742         that we wrap this code block in the standard do...while(0).
42743
42744         fprintftime: remove stray semicolon from previous change
42745         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
42746
42747         fprintftime: avoid a warning about ignored fwrite return value
42748         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
42749         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
42750         that is unsafe.
42751         * modules/fprintftime (Depends-on): Add ignore-value.
42752
42753         exclude: avoid an unwarranted warning
42754         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
42755
42756 2009-10-27  Eric Blake  <ebb9@byu.net>
42757
42758         fseek: avoid compilation failure when fflush is replaced
42759         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
42760         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
42761         module is in use.
42762         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
42763         module is not in use; since REPLACE_FSEEK worked otherwise.
42764         (GNULIB_FTELLO): Likewise for ftell.
42765         Reported by Ian Beckwith and others.
42766
42767 2009-10-27  Bruno Haible  <bruno@clisp.org>
42768
42769         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
42770         Reported by Jim Meyering.
42771
42772 2009-10-27  Jim Meyering  <jim@meyering.net>
42773             Bruno Haible  <bruno@clisp.org>
42774
42775         Avoid warning despite dropping the return value of fwrite.
42776         * lib/unicodeio.c: Include ignore-value.h.
42777         (fwrite_success_callback): Explicitly ignore fwrite's return value.
42778         * modules/unicodeio (Depends-on): Add ignore-value.
42779
42780 2009-10-26  Eric Blake  <ebb9@byu.net>
42781
42782         areadlinkat: fix fallback path
42783         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
42784         pointer and zero.
42785
42786 2009-10-22  Pádraig Brady  <P@draigBrady.com>
42787
42788         Use a better IO block size for modern systems
42789         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
42790         * lib/md2.c: Likewise.
42791         * lib/md4.c: Likewise.
42792         * lib/md5.c: Likewise.
42793         * lib/sha1.c: Likewise.
42794         * lib/sha256.c: Likewise.
42795         * lib/sha512.c: Likewise.
42796
42797 2009-10-22  Eric Blake  <ebb9@byu.net>
42798
42799         tests: avoid several compiler warnings
42800         * tests/test-getcwd.c (main): Avoid buffer underflow.
42801         * tests/test-getdate.c (main): String literals are not safe with
42802         putenv, so use setenv.  Declare unused argument.
42803         * modules/getdate-tests (Depends-on): Add setenv.
42804         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
42805         problems with string literals in char *.
42806         * tests/test-hash.c (main): Avoid shadowing declaration.
42807         (insert_new): Treat string literals as char const *.
42808         * tests/test-getopt.h (test_getopt): Likewise.
42809         (getopt_loop): Alter types to minimize casting elsewhere.
42810         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
42811         (test_getopt_long_posix): Likewise.
42812         (do_getopt_long): Add wrapper to minimize casting.
42813         * tests/test-atexit.c (clear_temp_file): Use void.
42814         * tests/test-areadlink-with-size.c (main): Declare unused
42815         arguments.
42816         * tests/test-areadlink.c (main): Likewise.
42817         * tests/test-areadlinkat-with-size.c (main): Likewise.
42818         * tests/test-areadlinkat.c (main): Likewise.
42819         * tests/test-canonicalize-lgpl.c (main): Likewise.
42820         * tests/test-canonicalize.c (main): Likewise.
42821         * tests/test-dirent-safer.c (main): Likewise.
42822         * tests/test-dirname.c (main): Likewise.
42823         * tests/test-dup2.c (main): Likewise.
42824         * tests/test-fchdir.c (main): Likewise.
42825         * tests/test-fcntl-h.c (main): Likewise.
42826         * tests/test-fcntl-safer.c (main): Likewise.
42827         * tests/test-fdopendir.c (main): Likewise.
42828         * tests/test-fdutimensat.c (main): Likewise.
42829         * tests/test-fflush.c (main): Likewise.
42830         * tests/test-filenamecat.c (main): Likewise.
42831         * tests/test-filevercmp.c (main): Likewise.
42832         * tests/test-fopen-safer.c (main): Likewise.
42833         * tests/test-fopen.c (main): Likewise.
42834         * tests/test-fpending.c (main): Likewise.
42835         * tests/test-fpurge.c (main): Likewise.
42836         * tests/test-freading.c (main): Likewise.
42837         * tests/test-fstatat.c (main): Likewise.
42838         * tests/test-fsync.c (main): Likewise.
42839         * tests/test-futimens.c (main): Likewise.
42840         * tests/test-getndelim2.c (main): Likewise.
42841         * tests/test-gettimeofday.c (main): Likewise.
42842         * tests/test-getopt.c (main): Likewise.
42843         * tests/test-i-ring.c (main): Likewise.
42844         * tests/test-inttypes.c (main): Likewise.
42845         * tests/test-link.c (main): Likewise.
42846         * tests/test-lstat.c (main): Likewise.
42847         * tests/test-math.c (main): Likewise.
42848         * tests/test-md5.c (main): Likewise.
42849         * tests/test-memchr2.c (main): Likewise.
42850         * tests/test-memrchr.c (main): Likewise.
42851         * tests/test-mkdir.c (main): Likewise.
42852         * tests/test-mkdirat.c (main): Likewise.
42853         * tests/test-mkfifoat.c (main): Likewise.
42854         * tests/test-open.c (main): Likewise.
42855         * tests/test-openat-safer.c (main): Likewise.
42856         * tests/test-openat.c (main): Likewise.
42857         * tests/test-quotearg.c (main): Likewise.
42858         * tests/test-rawmemchr.c (main): Likewise.
42859         * tests/test-readlink.c (main): Likewise.
42860         * tests/test-remove.c (main): Likewise.
42861         * tests/test-rename.c (main): Likewise.
42862         * tests/test-renameat.c (main): Likewise.
42863         * tests/test-rmdir.c (main): Likewise.
42864         * tests/test-sha1.c (main): Likewise.
42865         * tests/test-signal.c (main): Likewise.
42866         * tests/test-sigaction.c (main): Likewise.
42867         * tests/test-stat.c (main): Likewise.
42868         * tests/test-stat-time.c (main): Likewise.
42869         * tests/test-stddef.c (main): Likewise.
42870         * tests/test-stdint.c (main): Likewise.
42871         * tests/test-stdio.c (main): Likewise.
42872         * tests/test-stdlib.c (main): Likewise.
42873         * tests/test-strchrnul.c (main): Likewise.
42874         * tests/test-strerror.c (main): Likewise.
42875         * tests/test-string.c (main): Likewise.
42876         * tests/test-strtod.c (main): Likewise.
42877         * tests/test-strverscmp.c (main): Likewise.
42878         * tests/test-symlink.c (main): Likewise.
42879         * tests/test-symlinkat.c (main): Likewise.
42880         * tests/test-sys_stat.c (main): Likewise.
42881         * tests/test-sys_time.c (main): Likewise.
42882         * tests/test-time.c (main): Likewise.
42883         * tests/test-unistd.c (main): Likewise.
42884         * tests/test-unlink.c (main): Likewise.
42885         * tests/test-unlinkat.c (main): Likewise.
42886         * tests/test-utimens.c (main): Likewise.
42887         * tests/test-utimensat.c (main): Likewise.
42888         * tests/test-version-etc.c (main): Likewise.
42889         * tests/test-wchar.c (main): Likewise.
42890         * tests/test-wctype.c (main): Likewise.
42891         * tests/test-xprintf-posix.c (main): Likewise.
42892         * tests/test-posixtm.c (main): Likewise.
42893         (STREQ): Delete unused macro.
42894         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
42895         shadowed variables.
42896         * tests/test-memchr.c (main): Likewise.
42897
42898 2009-10-21  Eric Blake  <ebb9@byu.net>
42899
42900         areadlinkat: avoid failure on older glibc
42901         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
42902         rather than mis-comparing 0 against FUNC_RESULT of char*.
42903
42904 2009-10-21  Bruno Haible  <bruno@clisp.org>
42905
42906         * modules/stpncpy (License): Relicense under LGPLv2+.
42907         Reported by David Lutterkort <lutter@redhat.com>.
42908
42909 2009-10-20  Eric Blake  <ebb9@byu.net>
42910
42911         utimensat: work around Solaris 9 bug
42912         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
42913         has trailing slash bugs.
42914         * tests/test-lutimens.h (test_lutimens): Enhance test.
42915         * tests/test-utimens.h (test_utimens): Likewise.
42916         * doc/posix-functions/utime.texi (utime): Enhance documentation.
42917         * doc/posix-functions/utimes.texi (utimes): Likewise.
42918         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
42919         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
42920         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
42921         * doc/posix-functions/futimens.texi (futimens): Likewise.
42922
42923         fdutimensat: new module
42924         * modules/fdutimensat: New file.
42925         * lib/fdutimensat.c (fdutimensat): Likewise.
42926         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
42927         * MODULES.html.sh (File system functions): Mention module.
42928         * modules/fdutimensat-tests: New test.
42929         * tests/test-fdutimensat.c: Likewise.
42930
42931         doc: regenerate INSTALL
42932         * doc/INSTALL: Reflect recent autoconf update.
42933         * doc/INSTALL.ISO: Likewise.
42934         * doc/INSTALL.UTF-8: Likewise.
42935
42936 2009-10-20  Pádraig Brady  <P@draigBrady.com>
42937
42938         acl: warn if ACL support is not detected
42939         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
42940
42941 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
42942
42943         * lib/nproc.h: Add extern "C" block for C++.
42944
42945 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
42946             Bruno Haible  <bruno@clisp.org>
42947
42948         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
42949         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
42950         * doc/posix-functions/isalpha.texi: Likewise.
42951         * doc/posix-functions/isblank.texi: Likewise.
42952         * doc/posix-functions/iscntrl.texi: Likewise.
42953         * doc/posix-functions/isdigit.texi: Likewise.
42954         * doc/posix-functions/isgraph.texi: Likewise.
42955         * doc/posix-functions/islower.texi: Likewise.
42956         * doc/posix-functions/isprint.texi: Likewise.
42957         * doc/posix-functions/ispunct.texi: Likewise.
42958         * doc/posix-functions/isspace.texi: Likewise.
42959         * doc/posix-functions/isupper.texi: Likewise.
42960         * doc/posix-functions/isxdigit.texi: Likewise.
42961
42962 2009-10-18  Bruno Haible  <bruno@clisp.org>
42963
42964         Tests for module 'isblank'.
42965         * modules/isblank-tests: New file.
42966         * tests/test-isblank.c: New file.
42967
42968         New module 'isblank'.
42969         * lib/isblank.c: New file.
42970         * m4/isblank.m4: New file.
42971         * modules/isblank: New file.
42972         * doc/posix-functions/isblank.texi: Mention the new module.
42973
42974 2009-10-18  Bruno Haible  <bruno@clisp.org>
42975
42976         New module 'ctype'.
42977         * lib/ctype.in.h: New file.
42978         * m4/ctype.m4: New file.
42979         * modules/ctype: New file.
42980         * doc/posix-headers/ctype.texi: Mention the new module.
42981
42982 2009-10-18  Jim Meyering  <meyering@redhat.com>
42983
42984         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
42985         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
42986         right after its initialization, rather than farther down.
42987         Keeping these in close proximity makes it easier to ensure
42988         that each such variable is initialized.  E.g.,
42989
42990             LIB_CLOCK_GETTIME=
42991             AC_SUBST([LIB_CLOCK_GETTIME])
42992
42993         This change also increments these serial numbers.
42994         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
42995         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
42996         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
42997
42998 2009-10-18  Bruno Haible  <bruno@clisp.org>
42999
43000         Don't let environment variables perturb build.
43001         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
43002         (gl_PREREQ_GETHRXTIME): ... not here.
43003
43004 2009-10-18  Bruno Haible  <bruno@clisp.org>
43005
43006         Avoid symlink attack in localcharset module.
43007         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
43008         (O_NOFOLLOW): Define fallback.
43009         (get_charset_aliases): Don't open the file if it is a symbolic link.
43010         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
43011         gl_FCNTL_H.
43012         (gl_FCNTL_H): Require it.
43013         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
43014         * modules/localcharset (Files): Add m4/fcntl_h.m4.
43015         Reported by Fergal Glynn <fglynn@veracode.com>.
43016
43017 2009-10-18  Bruno Haible  <bruno@clisp.org>
43018
43019         Implement nproc for mingw.
43020         * lib/nproc.c: Include <windows.h>
43021         (num_processors): On native Windows platforms, try GetSystemInfo.
43022
43023 2009-10-18  Bruno Haible  <bruno@clisp.org>
43024
43025         Implement nproc for IRIX.
43026         * lib/nproc.c: Include <sys/sysmp.h>.
43027         (num_processors): On IRIX systems, try sysmp.
43028         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
43029
43030 2009-10-18  Bruno Haible  <bruno@clisp.org>
43031
43032         Implement nproc for HP-UX.
43033         * lib/nproc.c: Include <sys/pstat.h>
43034         (num_processors): On HP-UX systems, try pstat_getdynamic.
43035         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
43036         pstat_getdynamic.
43037
43038 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
43039             Bruno Haible  <bruno@clisp.org>
43040
43041         Implement nproc for NetBSD, OpenBSD.
43042         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
43043         (ARRAY_SIZE): New macro.
43044         (num_processors): On BSD systems, try sysctl of HW_NCPU.
43045         * m4/nproc.m4: New file.
43046         * modules/nproc (Files): Add m4/nproc.m4.
43047         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
43048         (Makefile.am): Instead, augment lib_SOURCES.
43049
43050 2009-10-18  Bruno Haible  <bruno@clisp.org>
43051
43052         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
43053         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
43054         sys/param.h.
43055
43056 2009-10-16  Eric Blake  <ebb9@byu.net>
43057
43058         utimensat: new module
43059         * modules/utimensat: New file.
43060         * lib/utimensat.c (utimensat): Likewise.
43061         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
43062         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
43063         so we can work around Linux bugs.
43064         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
43065         * modules/sys_stat (Makefile.am): Substitute them.
43066         * lib/sys_stat.in.h (utimensat): Declare it.
43067         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
43068         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
43069         * modules/utimensat-tests: New test.
43070         * tests/test-utimensat.c: Likewise.
43071
43072         utimens: let lutimens work on non-symlinks
43073         * lib/utimens.c (lutimens): Fall back to utimens rather than
43074         failing with ENOSYS, when file is not a symlink.
43075         (utimens): Reduce redirection.
43076         * tests/test-lutimens.h (test_lutimens): Update test to cover
43077         non-symlinks.
43078         * tests/test-utimens.h (test_utimens): Update test to cover
43079         symlinks.
43080         * tests/test-utimens.c (main): Update caller.
43081
43082         utimens: cache whether utimensat syscall works
43083         * lib/utimens.c (utimensat_works_really): New cache variable.
43084         (fdutimens, lutimens): Use it to avoid failing syscall.
43085
43086         test-stat-time, test-utimens: improve portability
43087         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
43088         ext4 on alpha, and for cygwin.
43089         * tests/test-utimens-common.h: New file.
43090         (nap): Factor delays into single function.
43091         * tests/test-lutimens.h (test_lutimens): Use new header.
43092         * tests/test-futimens.h (test_futimens): Likewise.
43093         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
43094         timestamps to occur from same machine, as was done previously for
43095         test_utimens.
43096         * modules/utimens-tests (Files): Ship new file.
43097         * modules/futimens-tests (Files): Likewise.
43098         Reported in part by Jim Meyering.
43099
43100         sys_stat: sort replacement declarations
43101         * lib/sys_stat.in.h: Sort declarations.
43102         * lib/futimens.c (futimens): Fix typo.
43103
43104 2009-10-15  Jim Meyering  <meyering@redhat.com>
43105
43106         don't let environment settings perturb build
43107         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
43108         could cause a configure-time and/or build-time malfunction.
43109         Typically, a configure-time function-in-library test is performed
43110         via code like this:
43111
43112           LIB_VAR=
43113           AC_SUBST([LIB_VAR])
43114           prefix_saved_LIBS=$LIBS
43115             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
43116                        [test "$ac_cv_search_FUNC" = "none required" ||
43117                         LIB_VAR=$ac_cv_search_FUNC])
43118           LIBS=$prefix_saved_LIBS
43119
43120         However, in each of the files affected by this change, the LIB_VAR=
43121         initialization was omitted.  Thus, when set in the environment, its
43122         value would propagate into generated Makefiles when FUNC is not found
43123         in LIB_NAME.
43124         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
43125         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
43126         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
43127
43128 2009-10-14  Eric Blake  <ebb9@byu.net>
43129
43130         fchdir: avoid infinite recursion in mingw
43131         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
43132         recursing.
43133
43134         test-stat-time: port to mingw
43135         * tests/test-stat-time.c (force_unlink): Return a value.
43136         (test_ctime) [W32]: Fix compilation error.
43137         (nap): Don't call usleep with too large an argument.  Use
43138         force_unlink.
43139         * doc/pastposix-functions/usleep.texi (usleep): Document the
43140         portability issue.
43141
43142 2009-10-13  Jim Meyering  <meyering@redhat.com>
43143
43144         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
43145         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
43146         * modules/pipe-filter-ii: Likewise.
43147         * modules/sys_socket-tests: Likewise.
43148         * modules/tsearch-tests: Likewise.
43149         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
43150         (check): Depend on it.
43151
43152 2009-10-12  Eric Blake  <ebb9@byu.net>
43153
43154         utimens-tests: port to NFS file systems
43155         * tests/test-utimens.h (test_utimens): Refactor utimecmp
43156         comparisons to avoid spurious failures from timestamp drift
43157         between NFS machines.
43158
43159 2009-10-12  Eric Blake  <ebb9@byu.net>
43160
43161         stat-time-tests: minor cleanups
43162         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
43163         * tests/test-stat-time.c (nap): Separate assignment from call.
43164         Suggested by Paolo Bonzini and Bruno Haible.
43165
43166         sys_stat: guarantee struct timespec
43167         * lib/sys_stat.in.h (includes): Always include <time.h>
43168         * modules/sys_stat (Depends-on): Add time.
43169         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
43170         mode_t permission values.
43171         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
43172         get at subsecond timestamps.
43173
43174 2009-10-10  Eric Blake  <ebb9@byu.net>
43175
43176         futimens: new module
43177         * modules/futimens: New file.
43178         * lib/futimens.c (futimens): Likewise.
43179         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
43180         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
43181         we can work around Linux bugs.
43182         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
43183         * modules/sys_stat (Makefile.am): Substitute them.
43184         * lib/sys_stat.in.h (futimens): Declare it.
43185         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
43186         * doc/posix-functions/futimens.texi (futimens): Likewise.
43187         * modules/futimens-tests: New test.
43188         * tests/test-futimens.c: Likewise.
43189
43190         utimens: introduce fdutimens
43191         * lib/utimens.h (fdutimens): New prototype.
43192         * lib/utimens.c (gl_futimens): Move guts...
43193         (fdutimens): ...to new interface.
43194         * tests/test-utimens.c (do_fdutimens): Use it.
43195
43196         utimens: add UTIME_NOW and UTIME_OMIT support
43197         * lib/utimens.c (validate_timespec, update_timespec): New helper
43198         functions.
43199         (gl_futimens, lutimens): Use them.
43200         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
43201         stdbool, sys_stat.
43202         (Link): Mention resulting library dependency.
43203         * modules/utimecmp (Link): Likewise.
43204         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
43205         (Makefile.am): Pick up library dependency.
43206         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
43207         definition.
43208         * tests/test-sys_stat.c: Test the definitions.
43209         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
43210         * NEWS: Document library dependency.
43211
43212         utimecmp: support symlink timestamps
43213         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
43214         hashing when possible.  Use pathconf when available.
43215         (SYSCALL_RESOLUTION): Recognize tighter resolution.
43216         * modules/utimecmp (Depends-on): Add lstat.
43217
43218         utimens: add lutimens interface
43219         * lib/utimens.c (lutimens): New function.
43220         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
43221         * lib/utimens.h (lutimens): Declare new interface.
43222         * tests/test-utimens.c (main): Enhance test.
43223         * tests/test-lutimens.h (test_lutimens): New file.
43224         * modules/utimens-tests (Files): Distribute it.
43225         (Depends-on): Add symlink.
43226         (configure.ac): Check for usleep.
43227
43228         utimens: validate futimens usage
43229         * lib/utimens.c (gl_futimens): Require valid fd up front, using
43230         fewer syscalls on failure later on.  Avoid compiler warning on
43231         mingw.
43232         * modules/utimens (Depends-on): Add dup2.
43233
43234         utimens: add test
43235         * modules/utimens-tests: New test.
43236         * tests/test-utimens.h: New file.
43237         * tests/test-futimens.h: Likewise.
43238         * tests/test-utimens.c: Likewise.
43239
43240         doc: mention timestamp portability issues
43241         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
43242         instead.
43243         * doc/posix-functions/utime.texi (utime): Likewise.
43244         * doc/posix-functions/utimes.texi (utimes): Likewise.
43245         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
43246         instead.
43247         * doc/posix-functions/futimens.texi (futimens): Mention utimens
43248         module.
43249         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
43250         Mention weakness with symlink timestamps.
43251         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
43252         to utimensat/futimens instead.
43253         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
43254
43255         test-dup2: enhance test
43256         * tests/test-dup2.c (main): Also check AT_FDCWD.
43257
43258         test-stat-time: avoid more spurious failures
43259         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
43260         xfs; and avoid race if the two timestamps cross quantization edge.
43261
43262         relocatable: prefer 'file system' over 'filesystem'
43263         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
43264         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
43265         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
43266         * doc/relocatable.texi (Enabling Relocatability): Likewise.
43267         * lib/relocatable.c (compute_curr_prefix): Likewise.
43268
43269 2009-10-10  Jim Meyering  <meyering@redhat.com>
43270
43271         stat-time-tests: check for the usleep function
43272         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
43273
43274 2009-10-10  Bruno Haible  <bruno@clisp.org>
43275
43276         * modules/xnanosleep: Put the Link section after the Include section.
43277
43278 2009-10-09  Eric Blake  <ebb9@byu.net>
43279
43280         dup2: work around FreeBSD 6.1 bug
43281         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
43282         * doc/posix-functions/dup2.texi (dup2): Document it.
43283         Reported by Nelson H. F. Beebe and Jim Meyering.
43284
43285         test-stat-time: port to buggy NFS clients
43286         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
43287         (test_ctime): Also skip test if mtime and ctime are skewed.
43288
43289         maint: prefer 'file system' over 'filesystem'
43290         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
43291         * doc/posix-functions/lstat.texi (lstat): Likewise.
43292         * lib/file-has-acl.c (file_has_acl): Likewise.
43293         * lib/fwriteerror.c [TEST]: Likewise.
43294         * tests/test-areadlink.h (test_areadlink): Likewise.
43295         * tests/test-areadlinkat-with-size.c (main): Likewise.
43296         * tests/test-areadlinkat.c (main): Likewise.
43297         * tests/test-canonicalize-lgpl.c (main): Likewise.
43298         * tests/test-canonicalize.c (main): Likewise.
43299         * tests/test-fstatat.c (main): Likewise.
43300         * tests/test-linkat.c (main): Likewise.
43301         * tests/test-lstat.h (test_lstat_func): Likewise.
43302         * tests/test-mkdir.h (test_mkdir): Likewise.
43303         * tests/test-readlink.h (test_readlink): Likewise.
43304         * tests/test-remove.c (main): Likewise.
43305         * tests/test-rename.h (test_rename): Likewise.
43306         * tests/test-renameat.c (main): Likewise.
43307         * tests/test-rmdir.h (test_rmdir_func): Likewise.
43308         * tests/test-symlink.h (test_symlink): Likewise.
43309         * tests/test-symlinkat.c (main): Likewise.
43310         * tests/test-unlink.h (test_unlink_func): Likewise.
43311         * tests/test-unlinkat.c (main): Likewise.
43312
43313         maint: make realtime library usage explicit
43314         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
43315         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
43316         * modules/settime (Link): Likewise.
43317         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
43318
43319         test-stat-time: speed up execution
43320         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
43321         warning on mingw.
43322         (nap): New helper function.
43323         (prepare_test): Use it to reduce sleep time.
43324         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
43325         execution.
43326         * modules/stat-time-tests (configure.ac): Check for usleep.
43327
43328 2009-10-09  Jim Meyering  <meyering@redhat.com>
43329
43330         selinux-h: always use getfilecon wrappers
43331         * lib/getfilecon.c: New file.
43332         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
43333         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
43334         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
43335         (fgetfilecon): Provide a stub.
43336         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
43337         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
43338         file unconditionally.
43339         When <selinux/selinux.h> is found, arrange to use wrappers.
43340         * modules/selinux-h (Files): Add getfilecon.c.
43341         (Makefile.am): Substitute include-next-related bits
43342         into the now-always-generated selinux/selinux.h file.
43343         * doc/glibc-functions/lgetfilecon.texi: New file.
43344         * doc/glibc-functions/fgetfilecon.texi: New file.
43345         * doc/glibc-functions/getfilecon.texi: New file.
43346         * doc/glibc-functions/getfilecon-desc.texi: New file.
43347         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
43348         which to pull in the new files.
43349         * MODULES.html.sh (Misc): Add selinux-h.
43350
43351 2009-10-08  Jim Meyering  <meyering@redhat.com>
43352
43353         unistd: fix comment typo
43354         * lib/unistd.in.h (euidaccess): Fix a comment typo.
43355
43356 2009-10-08  Eric Blake  <ebb9@byu.net>
43357
43358         areadlink: use SIZE_MAX consistently
43359         * modules/areadlink (Depends-on): Add stdint.
43360         * modules/areadlink-with-size (Depends-on): Likewise.
43361         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
43362         gives NULL; drop sys/types, since unistd gives size_t; and add
43363         stdint for SIZE_MAX.
43364         (SIZE_MAX): Rely on headers.
43365         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
43366         and add stdint.
43367         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
43368         (SIZE_MAX): Likewise.
43369         (INITIAL_BUF_SIZE): Turn into enum.
43370         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
43371
43372 2009-10-08  Jim Meyering  <meyering@redhat.com>
43373
43374         areadlinkat: avoid compilation failure
43375         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
43376         Fix typo in comment.
43377
43378 2009-10-07  Eric Blake  <ebb9@byu.net>
43379
43380         areadlinkat-with-size: new module
43381         * modules/areadlinkat-with-size: New module.
43382         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
43383         * lib/areadlink.h (areadlinkat): Declare it.
43384         * MODULES.html.sh (File system functions): Mention it.
43385         * modules/areadlinkat-with-size-tests: New test.
43386         * tests/test-areadlinkat-with-size.c: New file.
43387
43388         xreadlinkat: new module
43389         * modules/xreadlinkat: New module.
43390         * lib/xreadlinkat.c (xreadlinkat): New file.
43391         * lib/xreadlink.h (xreadlinkat): Declare it.
43392         * MODULES.html.sh (File system functions): Mention it.
43393
43394         areadlinkat: new module
43395         * lib/at-func.c (FUNC_FAIL): New define.
43396         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
43397         * modules/areadlinkat: New module.
43398         * lib/linkat.c (areadlinkat): Move...
43399         * lib/areadlinkat.c (areadlinkat): ...to new file.
43400         * lib/areadlink.h (areadlinkat): Declare it.
43401         * modules/linkat (Depends-on): Add areadlinkat.
43402         * MODULES.html.sh (File system functions): Mention it.
43403         * modules/areadlinkat-tests: New test.
43404         * tests/test-areadlinkat.c: New file.
43405
43406         areadlink, areadlink-with-size: add tests
43407         * modules/areadlink-tests: New test.
43408         * modules/areadlink-with-size-tests: Likewise.
43409         * tests/test-areadlink.h: New file.
43410         * tests/test-areadlink.c: Likewise.
43411         * tests/test-areadlink-with-size.c: Likewise.
43412
43413         maint: minor cleanups
43414         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
43415         _UNUSED_PARAMETER_ instead.
43416         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
43417         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
43418         * modules/linkat-tests (Files): Distribute test-link.h.
43419
43420         openat, utimens: whitespace cleanup
43421         * lib/openat.c: Prefer space throughout, rather than mix of 8
43422         spaces vs. tabs.
43423         * lib/at-func.c: Likewise.
43424         * lib/utimens.c: Likewise.
43425
43426         openat: avoid using wrong fd
43427         * lib/openat.c (openat_permissive): Reject user's fd if saving the
43428         working directory chooses same fd.
43429         * lib/at-func.c (AT_FUNC_NAME): Likewise.
43430
43431         mkdir, mkdirat: fix cygwin 1.5.x bug
43432         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
43433         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
43434         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
43435         bug.
43436         (gl_PREREQ_MKDIR): Delete unused macro.
43437         * modules/mkdir (Files): Track file rename.
43438         (configure.ac): Update macro name.
43439         * modules/openat (Depends-on): Add mkdir.
43440         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
43441
43442         mkdir, mkdirat: add tests
43443         * modules/mkdir-tests: New test.
43444         * tests/test-mkdir.h: New file.
43445         * tests/test-mkdir.c: Likewise.
43446         * tests/test-mkdirat.c: Likewise.
43447         * modules/openat-tests (Files): Add new files.
43448         (Makefile.am): Run new test.
43449
43450 2009-10-06  Eric Blake  <ebb9@byu.net>
43451
43452         doc: tweak *at function documentation
43453         * doc/posix-functions/faccessat.texi (faccessat): Mention
43454         known issue with replacement.
43455         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
43456         * doc/posix-functions/linkat.texi (linkat): Likewise.
43457         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
43458         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
43459         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
43460         * doc/posix-functions/renameat.texi (renameat): Likewise.
43461         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
43462
43463         openat: fix GNU/Hurd bug in unlinkat
43464         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
43465         broken.
43466         * doc/posix-functions/unlink.texi (unlink): Document this.
43467         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
43468
43469         fdopendir: fix GNU/Hurd bug
43470         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
43471         allowing non-directory fds.
43472         * lib/fdopendir.c (rpl_fdopendir): Work around it.
43473         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
43474         * modules/dirent (Makefile.am): Substitute it.
43475         * lib/dirent.in.h (fdopendir): Declare replacement.
43476         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
43477         * tests/test-fdopendir.c (main): Test something other than
43478         /dev/null, since on Hurd that behaves like a directory.
43479
43480         test-symlink: port to GNU/Hurd
43481         * tests/test-symlink.h (test_symlink): Relax expected errno.
43482
43483         doc: tweak more cygwin information
43484         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
43485         now compatible with glibc.
43486         * doc/posix-functions/getopt.texi (getopt): Likewise.
43487
43488         getopt-gnu: add another test
43489         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
43490         guarantee behavior relied on by m4.
43491         * tests/test-getopt.c (main): Use it.
43492         * modules/getopt-posix-tests (Depends-on): Add setenv.
43493         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
43494
43495         getopt: fix compilation on darwin
43496         * lib/getopt.in.h (includes): Leave breadcrumbs during system
43497         include.
43498         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
43499         Reported by Ludovic Courtès.
43500
43501 2009-10-06  Bruno Haible  <bruno@clisp.org>
43502
43503         * modules/size_max (Description): Discourage its use.
43504         Reported by Simon Josefsson.
43505
43506 2009-10-06  Jim Meyering  <meyering@redhat.com>
43507
43508         linkat: avoid compilation failure
43509         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
43510
43511 2009-10-05  Eric Blake  <ebb9@byu.net>
43512
43513         linkat: support Linux 2.6.17
43514         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
43515         linkat on Linux, but allow cache variable override.
43516         * lib/linkat.c (rpl_linkat): Define override.
43517         * modules/linkat (Depends-on): Add symlinkat.
43518         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
43519         * modules/unistd (Makefile.am): Substitute it.
43520         * lib/unistd.in.h (linkat): Declare replacement.
43521         Reported by Pádraig Brady.
43522
43523         quotearg: port test to systems with C.UTF-8 locale
43524         * tests/test-quotearg.c (struct result_strings): Add another
43525         member, differentiating between C.ASCII and C.UTF-8 handling.
43526         (compare_strings): Add parameter.
43527         (main): Adjust all callers.
43528
43529         getopt: avoid clash with FreeBSD _getopt_internal
43530         * lib/getopt.in.h (_getopt_internal): Override the name.
43531         * lib/getopt_int.h (includes): Pick up any overrides.
43532         Reported by Reuben Thomas.
43533
43534         hash: allow C89 compilation
43535         * lib/hash.c (check_tuning): Move declaration before statement.
43536         Reported by Reuben Thomas.
43537
43538 2009-10-05  Karl Berry  <karl@gnu.org>
43539
43540         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
43541
43542 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
43543             Bruno Haible  <bruno@clisp.org>
43544
43545         * lib/uname.c (uname): Use a table-driven algorithm to compute
43546         Windows NT versions.
43547
43548 2009-10-04  Bruno Haible  <bruno@clisp.org>
43549
43550         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
43551         program_invocation_short_name.
43552         * modules/progname (configure.ac): Test for presence of
43553         program_invocation_short_name.
43554         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
43555
43556 2009-10-04  Bruno Haible  <bruno@clisp.org>
43557
43558         * lib/progname.c (set_program_name): Fix comment.
43559         Reported by Jim Meyering.
43560
43561 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
43562             Bruno Haible  <bruno@clisp.org>
43563
43564         * lib/uname.c: Include <string.h>.
43565         (uname): Do only one call to GetVersionEx in the common case.
43566
43567 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
43568             Bruno Haible  <bruno@clisp.org>
43569
43570         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
43571         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
43572         (uname): Add support for Windows CE and various non-x86 CPU types.
43573
43574 2009-10-03  Bruno Haible  <bruno@clisp.org>
43575
43576         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
43577         invocation to tests/configure.ac.
43578         Reported by Ian Beckwith <ianb@erislabs.net>.
43579
43580 2009-10-02  Eric Blake  <ebb9@byu.net>
43581
43582         fchdir: avoid compiler warning
43583         * lib/fchdir.c (canonicalize_file_name)
43584         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
43585
43586         test-open: support mingw errno values
43587         * tests/test-open.h (test_open): Relax test.
43588         * tests/test-fopen.h (test_fopen): Likewise.
43589         * tests/test-openat-safer.c (main): Likewise.
43590
43591         open: fix opening directory on mingw
43592         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
43593
43594         test-open: on GNU/Hurd, /dev/null is a directory
43595         * tests/test-fopen.h (main): Rename...
43596         (test_fopen): ...to this.  Use a guaranteed non-directory when
43597         confirming open behavior on trailing slash.
43598         * tests/test-openat-safer.c (main): Likewise.
43599         * tests/test-open.h (main): Likewise....
43600         (test_open): ...to this.
43601         * tests/test-fopen.c (main): Adjust caller.
43602         * tests/test-fopen-safer.c (main): Likewise.
43603         * tests/test-open.c (main): Likewise.
43604         * tests/test-fcntl-safer.c (main): Likewise.
43605         Reported by Samuel Thibault.
43606
43607         rename, fchdir: don't ignore chdir failure
43608         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
43609         * lib/rename.c (rpl_rename) [W32]: Likewise.
43610         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
43611         an empty destination directory if source cannot be renamed,
43612         although there is still possibility for failure.
43613         * doc/posix-functions/rename.texi (rename): Document the race.
43614         Reported by Jim Meyering.
43615
43616         maint: cleanup whitespace in recent commits
43617         * lib/rename.c (rpl_rename): Remove tabs.
43618         * tests/test-link.h (test_link): Likewise.
43619         * lib/fchdir.c (get_name): Likewise.
43620         Reported by Jim Meyering.
43621
43622 2009-10-02  Ben Pfaff  <blp@gnu.org>
43623
43624         relocatable-prog-wrapper: Add missing dependency on
43625         double-slash-root.
43626         * modules/relocatable-prog-wrapper: Add dependency.
43627         Reported by Ian Beckwith <ianb@erislabs.net>.
43628
43629 2009-10-02  Eric Blake  <ebb9@byu.net>
43630
43631         renameat: fix Solaris bugs
43632         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
43633         needed fixing.
43634         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
43635         * modules/stdio (Makefile.am): Substitute it.
43636         * lib/stdio.in.h (renameat): Declare replacement.
43637         * lib/renameat.c (rpl_renameat): Implement fix.
43638
43639         renameat: new module
43640         * modules/renameat: New file.
43641         * lib/renameat.c (renameat): Likewise.
43642         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
43643         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
43644         * modules/stdio (Makefile.am): Substitute them.
43645         * lib/stdio.in.h (renameat): Declare it.
43646         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
43647         * doc/posix-functions/renameat.texi (renameat): Likewise.
43648         * modules/renameat-tests: New test.
43649         * tests/test-renameat.c: Likewise.
43650
43651         rename: fix mingw bugs
43652         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
43653         directory overwrite bugs.
43654
43655         rename: fix another cygwin 1.5 bug
43656         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
43657         checks.
43658         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
43659         unnecessary cygwin workarounds.  Also work around bug with moving
43660         full directory onto an empty one.
43661         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
43662
43663         rename-dest-slash: merge into rename module
43664         * modules/rename-dest-slash (Status): Mark obsolete.
43665         (Depends-on): Add rename.
43666         (Files): Let rename do it all.
43667         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
43668         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
43669         * m4/rename-dest-slash.m4: ...so this file can be deleted.
43670         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
43671         * lib/rename.c (rpl_rename): Update comments.
43672
43673         rename: fix cygwin 1.5.x bugs
43674         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
43675         * lib/rename.c (rpl_rename): Work around them.
43676         * modules/rename (Depends-on): Add same-inode.
43677
43678         rename: fix Solaris 10 bug
43679         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
43680         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
43681         was the only bug.
43682
43683         rename: fix Solaris 9 bug
43684         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
43685         on non-directory.  Avoid calling exit.
43686         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
43687         strdup.
43688         * modules/rename-tests (Depends-on): Drop lstat.
43689         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
43690         (gl_PREREQ_RENAME): Delete unused macro.
43691
43692         rename-dest-slash: fix NetBSD bug
43693         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
43694         links.
43695         * modules/rename-dest-slash (Depends-on): Add same-inode.
43696
43697         rename-tests: new test, exposes several platform bugs
43698         * modules/rename-tests: New file.
43699         * tests/test-rename.h: Likewise.
43700         * tests/test-rename.c: Likewise.
43701         * doc/posix-functions/rename.texi (rename): Improve documentation,
43702         including bugs that will eventually be fixed in gnulib.
43703
43704 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
43705
43706         * lib/uname.c: Include <stdlib.h>
43707         (uname): Assume version info is available.
43708
43709 2009-10-02  Jim Meyering  <meyering@redhat.com>
43710
43711         gnu-web-doc-update: correct --help output
43712         * build-aux/gnu-web-doc-update: Make --help output relevant.
43713
43714         gnu-web-doc-update: add standard options
43715         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
43716
43717         gnu-web-doc-update: New module.
43718         Use this script to automatically update the on-line web documentation
43719         for your GNU project at http://www.gnu.org/software/$pkg/manual/
43720         * modules/gnu-web-doc-update: New file, from coreutils.
43721         * build-aux/gnu-web-doc-update: New script.
43722
43723 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
43724
43725         link: LoadLibrary is not needed.
43726         * lib/link.c: Use GetModuleHandle.
43727
43728 2009-10-01  Eric Blake  <ebb9@byu.net>
43729
43730         getopt: bump serial number
43731         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
43732         change.
43733
43734         tests: tighten link, rmdir, and remove tests
43735         * tests/test-link.h (includes): No need to use <config.h> here.
43736         Clean up if directory hard link was created, otherwise test for
43737         trailing '.'.
43738         * tests/test-linkat.c (main): Simplify.
43739         * tests/test-remove.c (main): Enhance test for trailing '.'.
43740         * tests/test-rmdir.h (test_rmdir_func): Likewise.
43741
43742 2009-10-01  Jim Meyering  <meyering@redhat.com>
43743
43744         maint.mk: requiring "make major" was annoying, for a "minor" release.
43745         What is intended is "stable", to contrast with alpha and beta,
43746         so require "make stable", not "make major".
43747         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
43748         (get_tool_versions): Likewise.
43749         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
43750
43751 2009-09-30  Ben Pfaff  <blp@gnu.org>
43752
43753         Fix broken build of replacement for Windows tmpfile().
43754         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
43755         flags argument added along with the 'mkostemp' module.
43756
43757 2009-09-28  Bruno Haible  <bruno@clisp.org>
43758
43759         Avoid identifier clash with POSIX function 'remove' defined as a macro.
43760         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
43761         to 'remove_elt'.
43762         (gl_list_remove): Update.
43763         * lib/gl_list.c (gl_list_remove): Update.
43764         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
43765         to 'remove_elt'.
43766         (gl_oset_remove): Update.
43767         * lib/gl_list.c (gl_oset_remove): Update.
43768         Reported by Eric Blake.
43769
43770 2009-09-28  Eric Blake  <ebb9@byu.net>
43771
43772         doc: mention yet more cygwin 1.7 status
43773         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
43774         cygwin.
43775         * doc/glibc-functions/execvpe.texi (execvpe): New file.
43776         * doc/gnulib.texi (Glibc unistd.h): Mention it.
43777
43778         argp: fix test failure
43779         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
43780         that are not upper-case.  Pass correct range to tolower.
43781
43782 2009-09-27  Jim Meyering  <meyering@redhat.com>
43783
43784         test-yesno: work around sparc-dash here-document infelicity
43785         Without this change, the literal \177 byte in a here document
43786         would make dash 0.5.5.1-3 access uninitialized memory.
43787         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
43788         Instead, use a marker, "@", and filter through tr to create the desired
43789         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
43790
43791 2009-09-27  Bruno Haible  <bruno@clisp.org>
43792
43793         Disable untested support for new flavours of ACLs on AIX.
43794         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
43795         progress.
43796         * lib/set-mode-acl.c (qset_acl): Likewise.
43797
43798 2008-12-07  Bruno Haible  <bruno@clisp.org>
43799
43800         Add support for new flavours of ACLs on AIX. (Untested.)
43801         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
43802         (file_has_acl): Add support for newer AIX.
43803         * lib/set-mode-acl.c (qset_acl): Likewise.
43804         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
43805         Rainer Tammer <tammer@tammer.net>.
43806
43807 2009-09-26  Eric Blake  <ebb9@byu.net>
43808
43809         argp: fix compilation of getopt
43810         * lib/getopt.in.h (includes): Use different guard than glibc.
43811         Reported by Sergey Poznyakoff.
43812
43813         doc: mention more cygwin 1.7 status
43814         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
43815         bug.
43816         * doc/posix-functions/execl.texi (execl): Likewise.
43817         * doc/posix-functions/execle.texi (execle): Likewise.
43818         * doc/posix-functions/execlp.texi (execlp): Likewise.
43819         * doc/posix-functions/execv.texi (execv): Likewise.
43820         * doc/posix-functions/execve.texi (execve): Likewise.
43821         * doc/posix-functions/execvp.texi (execvp): Likewise.
43822         * doc/glibc-functions/canonicalize_file_name.texi
43823         (canonicalize_file_name): Cygwin 1.7 now provides this.
43824         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
43825         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
43826         on AT_SYMLINK_NOFOLLOW.
43827
43828 2009-09-24  Eric Blake  <ebb9@byu.net>
43829
43830         test-linkat: make test more robust
43831         * tests/test-linkat.c (main): Avoid collision with EEXIST.
43832
43833         getopt: fix inclusion guards for cygwin
43834         * modules/getopt-posix (Depends-on): Add include-next.
43835         (Makefile.am): Substitute more items in replacement header.
43836         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
43837         <getopt.h>.
43838         * lib/getopt.in.h (includes): Use split inclusion guard, and
43839         prefer <getopt.h> over include <unistd.h> when one is present.
43840         (option): Also override name of 'struct option'.
43841
43842         same-inode: revert prior change; it is not yet ready
43843         * NEWS: Undo mention of this change.
43844         * lib/same-inode.h (same-inode.h): Undo tri-state change.
43845         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
43846         * lib/cycle-check.c (cycle_check): Likewise.
43847         * lib/same.c (same_name): Likewise.
43848         * lib/at-func2.c (at_func2): Likewise.
43849
43850 2009-09-23  Eric Blake  <ebb9@byu.net>
43851
43852         linkat: new module
43853         * modules/linkat: New file.
43854         * lib/at-func2.c (at_func2): Likewise.
43855         * lib/linkat.c (linkat): Likewise.
43856         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
43857         * lib/openat-priv.h (at_func2): Add declaration.
43858         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
43859         * modules/unistd (Makefile.am): Substitute them.
43860         * lib/unistd.in.h (linkat): Declare it.
43861         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
43862         * doc/posix-functions/linkat.texi (linkat): Likewise.
43863         * doc/posix-functions/link.texi (link): Tweak wording.
43864         * tests/test-link.c (main): Move guts...
43865         * tests/test-link.h (test_link): ...into new file.
43866         * modules/linkat-tests: New test.
43867         * tests/test-linkat.c: Likewise.
43868         * modules/link-tests (Files): Ship new file.
43869         (Depends-on): Add stdbool.
43870
43871         dirname: add library-safe mdir_name
43872         * lib/dirname.h (mdir_name): New prototype.
43873         * lib/dirname.c (dir_name): Move guts...
43874         (mdir_name): ...to new function that avoids xalloc_die.
43875
43876         fchdir: another mingw fix
43877         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
43878         * lib/fchdir.c (get_name): New helper method; skips canonicalize
43879         on mingw (where it has not yet been ported), and make it optional
43880         elsewhere.
43881         (_gl_register_fd): Use it.
43882
43883         same-inode: make SAME_INODE tri-state, to port to mingw
43884         * NEWS: Mention this change.
43885         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
43886         st_ino always being 0.
43887         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
43888         * lib/cycle-check.c (cycle_check): Likewise.
43889         * lib/same.c (same_name): Likewise.
43890
43891         lstat: avoid mingw compilation error
43892         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
43893         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
43894         lstat ourselves.
43895         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
43896         was adequate.
43897         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
43898         the checks for lstat.
43899         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
43900
43901         link: fix test failure on Solaris 9
43902         * lib/link.c (rpl_link): Don't assume link will catch bogus
43903         trailing slash on source.
43904
43905         test-symlinkat: enhance test
43906         * tests/test-readlink.c (main): Move guts...
43907         * tests/test-readlink.h (test_readlink): ...into new file.
43908         * tests/test-symlink.c (main): Move guts...
43909         * tests/test-symlink.h (test_symlink): ...into new file.
43910         * tests/test-symlinkat.c (main): Use new files for further
43911         coverage.
43912         (do_symlink, do_readlink): New helper functions.
43913         * modules/symlink-tests (Files): Ship new file.
43914         (Depends-on): Add stdbool.
43915         * modules/readlink-tests (Files): Ship new file.
43916         (Depends-on): Add stdbool.
43917         * modules/symlinkat-tests (Files): Use new files.
43918
43919 2009-09-23  Eric Blake  <ebb9@byu.net>
43920
43921         readlink: document portability issue with symlink length
43922         * doc/posix-functions/lstat.texi (lstat): Mention that some file
43923         systems have bogus st_size on symlinks, and mention the
43924         areadlink-with-size module.
43925         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
43926         * doc/posix-functions/readlink.texi (readlink): Mention the
43927         areadlink module, and ERANGE failure.
43928         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
43929         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
43930
43931         readlink: fix Solaris 9 bug with trailing slash
43932         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
43933         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
43934         * doc/posix-functions/readlink.texi (readlink): Document this.
43935         * modules/readlink-tests: New test.
43936         * tests/test-readlink.c: Likewise.
43937
43938         readlink: fix cygwin 1.5.x bug with return type
43939         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
43940         * lib/unistd.in.h (readlink): Use ssize_t.
43941         * lib/readlink.c (readlink): Likewise.
43942         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
43943         * modules/unistd (Makefile.am): Substitute it.
43944         * lib/unistd.in.h (readlink): Declare replacement.
43945         * doc/posix-functions/readlink.texi (readlink): Document this.
43946
43947         symlink: use throughout gnulib
43948         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
43949         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
43950         symlink is not used.
43951         * modules/symlinkat (Depends-on): Add symlink.
43952         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
43953         * modules/canonicalize-tests (Depends-on): Likewise.
43954         * modules/lstat-tests (Depends-on): Likewise.
43955         * modules/openat-tests (Depends-on): Likewise.
43956         * modules/remove-tests (Depends-on): Likewise.
43957         * modules/rmdir-tests (Depends-on): Likewise.
43958         * modules/unlink-tests (Depends-on): Likewise.
43959         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
43960         * tests/test-canonicalize.c (symlink): Likewise.
43961         * tests/test-fstatat.c (symlink): Likewise.
43962         * tests/test-lstat.c (symlink): Likewise.
43963         * tests/test-remove.c (symlink): Likewise.
43964         * tests/test-rmdir.c (symlink): Likewise.
43965         * tests/test-unlink.c (symlink): Likewise.
43966         * tests/test-unlinkat.c (symlink): Likewise.
43967
43968         symlink: new module, for Solaris 9 bug
43969         * modules/symlink: New file.
43970         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
43971         * lib/symlink.c: Likewise.
43972         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
43973         * modules/unistd (Makefile.am): Substitute them.
43974         * lib/unistd.in.h (symlink): Declare replacement.
43975         * MODULES.html.sh (File system functions): Mention it.
43976         * doc/posix-functions/symlink.texi (symlink): Likewise.
43977         * modules/symlink-tests: New test.
43978         * tests/test-symlink.c: Likewise.
43979
43980 2009-09-23  Bruno Haible  <bruno@clisp.org>
43981
43982         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
43983         when needed.
43984         Test case: gnulib-tool --import --with-tests atexit inttypes.
43985         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
43986
43987 2009-09-23  Bruno Haible  <bruno@clisp.org>
43988
43989         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
43990         subcommand, not in a subshell.
43991
43992 2009-09-22  Eric Blake  <ebb9@byu.net>
43993
43994         unistd: sort replacement declarations
43995         * lib/unistd.in.h: Sort declarations.
43996
43997         open, openat: minor optimization
43998         * lib/open.c (open): If open succeeded, len is non-zero.
43999         * lib/openat.c (rpl_openat): Likewise.
44000
44001         link-follow: ensure correct result
44002         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
44003         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
44004         distinguish between possible failures.
44005
44006 2009-09-21  Eric Blake  <ebb9@byu.net>
44007
44008         fts: avoid compiler warning
44009         * lib/fts.c (dirent_inode_sort_may_be_useful)
44010         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
44011
44012 2009-09-19  Bruno Haible  <bruno@clisp.org>
44013
44014         * lib/progreloc.c (canonicalize_file_name): New declaration.
44015
44016 2009-09-19  Eric Blake  <ebb9@byu.net>
44017
44018         link: fix quoting
44019         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
44020
44021         openat: fix openat bugs on Solaris 9
44022         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
44023         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
44024         * modules/openat (Depends-on): Add open.
44025         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
44026         * modules/fcntl-h (Makefile.am): Substitute it.
44027         * lib/fcntl.in.h (openat): Declare replacement.
44028         * doc/posix-functions/openat.texi (openat): Document this.
44029
44030         openat: move fstatat and unlinkat into correct files
44031         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
44032         compiled.
44033         * lib/openat.c (fstatat, unlinkat): Move...
44034         * lib/fstatat.c (fstatat): ...into correct files.
44035         * lib/unlinkat.c (unlinkat): Likewise.
44036
44037         openat: fix unlinkat bugs on Solaris 9
44038         * lib/unlinkat.c (unlinkat): New file.
44039         * modules/openat (Depends-on): Add unlink.
44040         (Files): Distribute it.
44041         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
44042         trailing slash behavior is broken.
44043         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
44044         * modules/unistd (Makefile.am): Substitute it.
44045         * lib/unistd.in.h (unlinkat): Declare replacement.
44046         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
44047
44048         openat: fix fstatat bugs on Solaris 9
44049         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
44050         stat.
44051         * doc/posix-functions/fstatat.texi (fstatat): Document this.
44052
44053         test-unlinkat: enhance test, to expose Solaris 9 bug
44054         * tests/test-unlink.c (main): Factor guts...
44055         * tests/test-unlink.h (test_rmdir_func): ...into new file.
44056         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
44057         * tests/test-rmdir.c (main): Adjust caller.
44058         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
44059         (unlinker): New helper function.
44060         (rmdirat): Enhance check.
44061         * modules/rmdir-tests (Depends-on): Add stdbool.
44062         * modules/unlink-tests (Depends-on): Likewise.
44063         (Files): Add test-unlink.h.
44064         * modules/openat-tests (Files): Likewise.
44065         (Depends-on): Add unlinkdir.
44066
44067         test-fstatat: new test, to expose Solaris 9 bugs
44068         * tests/test-stat.c (main): Factor guts...
44069         * tests/test-stat.h (test_stat_func): ...into new file.
44070         * tests/test-lstat.c (main): Factor guts...
44071         * tests/test-lstat.h (test_lstat_func): ...into new file.
44072         * tests/test-fstatat.c: New file.
44073         * modules/stat-tests (Files): Add test-stat.h.
44074         * modules/lstat-tests (Files): Add test-lstat.h.
44075         (Depends-on): Add stdbool.
44076         * modules/openat-tests (Depends-on): Add pathmax.
44077         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
44078         (Makefile.am): Run new test.
44079
44080         remove: new module, for mingw and Solaris 9 bugs
44081         * modules/remove: New file.
44082         * lib/remove.c: Likewise.
44083         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
44084         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
44085         * modules/stdio (Makefile.am): Use them.
44086         * lib/stdio.in.h (remove): Declare replacement.
44087         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44088         * doc/posix-functions/remove.texi (remove): Likewise.
44089         * modules/remove-tests: New test.
44090         * tests/test-remove.c: Likewise.
44091
44092         unlink: new module, for Solaris 9 bug
44093         * modules/unlink: New file.
44094         * lib/unlink.c: Likewise.
44095         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
44096         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
44097         * modules/unistd (Makefile.am): Use them.
44098         * lib/unistd.in.h (stat): Declare replacement.
44099         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44100         * doc/posix-functions/unlink.texi (unlink): Likewise.
44101         * modules/unlink-tests: New test.
44102         * tests/test-unlink.c: Likewise.
44103
44104         lstat: fix Solaris 9 bug
44105         * lib/lstat.c (lstat): Also check for trailing slash on
44106         non-symlink, non-directories.  Use stat module to simplify logic.
44107         * doc/posix-functions/lstat.texi (lstat): Document it.
44108         * modules/lstat-tests (Depends-on): Add errno, same-inode.
44109         (configure.ac): Check for symlink.
44110         * tests/test-lstat.c (main): Add more tests.
44111
44112         stat: add as dependency to other modules
44113         * modules/chown (Depends-on): Add stat.
44114         * modules/euidaccess (Depends-on): Likewise.
44115         * modules/fchdir (Depends-on): Likewise.
44116         * modules/isdir (Depends-on): Likewise.
44117         * modules/link (Depends-on): Likewise.
44118         * modules/lstat (Depends-on): Likewise.
44119         * modules/mkdir-p (Depends-on): Likewise.
44120         * modules/modechange (Depends-on): Likewise.
44121         * modules/open (Depends-on): Likewise.
44122         * modules/readlink (Depends-on): Likewise.
44123         * modules/same (Depends-on): Likewise.
44124
44125         stat: fix Solaris 9 bug
44126         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
44127         slash.
44128         * lib/stat.c (rpl_stat): Work around it.
44129         * doc/posix-functions/stat.texi (stat): Update documentation.
44130
44131         stat: new module, for mingw bug
44132         * modules/stat: New file.
44133         * lib/stat.c: Likewise.
44134         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
44135         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
44136         * modules/sys_stat (Makefile.am): Use them.
44137         * lib/sys_stat.in.h (stat): Declare replacement.
44138         * lib/openat.c (fstatat): Deal with lstat and stat being function
44139         macros.
44140         * modules/openat (Depends-on): Add inline.
44141         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44142         * doc/posix-functions/stat.texi (stat): Likewise.
44143         * modules/stat-tests: New test.
44144         * tests/test-stat.c: Likewise.
44145
44146 2009-09-19  Jim Meyering  <meyering@redhat.com>
44147
44148         syntax-check: detect unnecessary inclusion of canonicalize.h
44149         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
44150
44151 2009-09-19  Eric Blake  <ebb9@byu.net>
44152
44153         canonicalize-lgpl: adjust clients to use correct header
44154         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
44155         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
44156         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
44157         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
44158         * lib/progreloc.c (includes): Likewise.
44159
44160 2009-09-19  Jim Meyering  <meyering@redhat.com>
44161
44162         test-posixtm.c: correct a comment
44163         * tests/test-posixtm.c: Correct first-line comment.
44164         Spotted by Eric Blake.
44165
44166 2009-09-16  Jim Meyering  <meyering@redhat.com>
44167
44168         posixtm-tests: make T const-correct; add a test case
44169         * tests/test-posixtm.c (T): Declare const.
44170         Add a test for -(2^31+1).
44171         Remove useless can-succeed-only-in-2002 test.
44172
44173         posixtm-tests: adjust the sole failing test
44174         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
44175         expected output matches what mktime now produces.  Cross-checked via
44176         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
44177
44178         posixtm: move #ifdef'd tests into a new module
44179         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
44180         * tests/test-posixtm.c: ... this new file.
44181         * modules/posixtm-tests: New module.
44182
44183 2009-09-19  Eric Blake  <ebb9@byu.net>
44184
44185         openat: simplify use of at-func.c
44186         * lib/at-func.c (includes): Include prerequisites here, to
44187         simplify requirements on client files.
44188         * lib/openat-priv.h: Add double-inclusion guard.
44189         * lib/faccessat.c (includes): Simplify.
44190         * lib/fchmodat.c (includes): Likewise.
44191         * lib/fchownat.c (includes): Likewise.
44192         * lib/mkdirat.c (includes): Likewise.
44193         * lib/mkfifoat.c (includes): Likewise.
44194         * lib/symlinkat.c (includes): Likewise.
44195
44196         openat: allow return of fd 0
44197         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
44198         * modules/save-cwd (Depends-on): Replace fcntl-safer with
44199         unistd-safer.
44200         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
44201         <fcntl.h>; this module does not leak fds.
44202         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
44203         must be allowed to return 0, leaving openat_safer to add the
44204         safety.
44205         (openat_permissive): Avoid writing to just-opened fd 2 if
44206         restoring the current directory fails.
44207         * lib/openat-die.c (openat_restore_fail): Add comment.
44208         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
44209         (save_cwd): Guarantee safe fd, but without use of open_safer.
44210         * tests/test-openat.c: New test.
44211         * modules/openat-tests (Files, Makefile.am): Distribute and build
44212         new file.
44213
44214         relocatable-prog-wrapper: fix build
44215         * modules/relocatable-prog-wrapper (Files): Update name of
44216         canonicalize m4 file, broken on 2009-09-17.
44217         Reported by emad hajjar <aleppos@hotmail.com>.
44218
44219 2009-09-19  Bruno Haible  <bruno@clisp.org>
44220
44221         * lib/safe-alloc.h: Use the standard header with GPL copyright.
44222         * lib/safe-alloc.c: Likewise.
44223         Reported by Ian Beckwith <ianb@erislabs.net>.
44224
44225 2009-09-18  Bruno Haible  <bruno@clisp.org>
44226
44227         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
44228         Reported by <erobles@sensacd.com.mx>.
44229
44230 2009-09-17  Eric Blake  <ebb9@byu.net>
44231
44232         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
44233         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
44234         slashes when checking if last component is missing.
44235         * tests/test-canonicalize.c (main): Test this.
44236
44237         canonicalize, canonicalize-lgpl: honor // if distinct from /
44238         * modules/canonicalize (Files): Add double-slash-root.m4.
44239         * modules/canonicalize-lgpl (Files): Likewise.
44240         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
44241         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
44242         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
44243         fallback definition.
44244         (canonicalize_filename_mode): Use it to protect //.
44245         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
44246         (__realpath): Likewise.
44247         * tests/test-canonicalize.c (main): Test this.
44248         * tests/test-canonicalize-lgpl.c (main): Likewise.
44249         * modules/canonicalize-tests (Depends-on): Add same-inode.
44250         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
44251
44252         canonicalize-lgpl: fix glibc bug with trailing slash
44253         * m4/canonicalize-lgpl.m4: Move contents...
44254         * m4/canonicalize.m4: ...here.
44255         (gl_CANONICALIZE_LGPL): Factor realpath check...
44256         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
44257         glibc 2.3.5 bug, fixed 2005-04-27.
44258         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
44259         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
44260         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
44261         * modules/canonicalize-lgpl (Files): Manage file rename.
44262         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
44263         * modules/stdlib (Makefile.am): Substitute witness.
44264         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
44265         is needed.
44266         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
44267         replacement is required.
44268         * lib/canonicalize.c (canonicalize_file_name): Likewise.
44269         * doc/glibc-functions/canonicalize_file_name.texi
44270         (canonicalize_file_name): Document this.
44271         * doc/posix-functions/realpath.texi (realpath): Likewise.
44272
44273         canonicalize-lgpl: reject non-directory with trailing slash
44274         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
44275         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
44276         catches failures in glibc 2.3.5.
44277         * tests/test-canonicalize.c (main): Likewise.
44278
44279         canonicalize-lgpl: use native realpath if it works
44280         * lib/canonicalize-lgpl.c (realpath): Guard with
44281         FUNC_REALPATH_WORKS.
44282         * lib/stdlib.in.h (realpath): Make declaration optional based on
44283         HAVE_REALPATH.
44284         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
44285         native realpath works.
44286         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
44287         * modules/stdlib (Makefile.am): Substitute witness.
44288
44289         canonicalize, canonicalize-lgpl: use <stdlib.h>
44290         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
44291         (Include): Mention <stdlib.h>.
44292         (configure.ac): Mention functions we provide.
44293         * modules/canonicalize (configure.ac): Likewise.
44294         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
44295         realpath if canonicalize_file_name is missing.
44296         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
44297         * modules/stdlib (Makefile.am): Substitute witnesses.
44298         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
44299         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
44300         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
44301         * NEWS: Document this.
44302         * doc/glibc-functions/canonicalize_file_name.texi
44303         (canonicalize_file_name): Likewise.
44304         * doc/posix-functions/realpath.texi (realpath): Likewise.
44305         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
44306
44307         test-canonicalize: consolidate into single C program
44308         * tests/test-canonicalize.sh: Delete; move setup into...
44309         * tests/test-canonicalize.c (main): ...the program, making it
44310         easier to run in debugger.  Add some tests.
44311         * modules/canonicalize-tests (Files): Remove unused file.
44312         (Depends-on): Add progname.
44313         (configure.ac, Makefile.am): Simplify.
44314
44315         test-canonicalize-lgpl: consolidate into single C program
44316         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
44317         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
44318         easier to run in debugger.  Add some tests.
44319         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
44320         (configure.ac, Makefile.am): Simplify.
44321
44322         canonicalize: avoid resolvepath
44323         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
44324         unnecessary checks.
44325         * lib/canonicalize.c (includes): Simplify.
44326         (canonicalize_file_name): Drop resolvepath implementation.
44327         * modules/canonicalize (Depends-on): Drop filenamecat.
44328
44329         canonicalize: don't lose errno
44330         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
44331         over calls to free.
44332
44333         canonicalize: simplify errno handling
44334         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
44335         assignment.
44336
44337         canonicalize, canonicalize-lgpl: update module dependencies
44338         * modules/canonicalize (Depends-on): Add extensions, lstat,
44339         pathmax, stdlib.
44340         (Files): Drop pathmax.h.
44341         (configure.ac): Adjust macro name.
44342         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
44343         lstat, stdlib, sys_stat.
44344         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
44345         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
44346         extensions.
44347         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
44348         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
44349         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
44350         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
44351         declaration, if available.
44352         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
44353         we can rely on the readlink module.
44354         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
44355         (includes): Use <unistd.h> unconditionally.
44356
44357 2009-09-17  Eric Blake  <ebb9@byu.net>
44358
44359         maint: make Include sections of modules consistent
44360         * modules/alloca: Use only header name; no need to list #include.
44361         * modules/alloca-opt: Likewise.
44362         * modules/arpa_inet: Likewise.
44363         * modules/canon-host: Likewise.
44364         * modules/configmake: Likewise.
44365         * modules/dirent: Likewise.
44366         * modules/eealloc: Likewise.
44367         * modules/environ: Likewise.
44368         * modules/fchdir: Likewise.
44369         * modules/fcntl: Likewise.
44370         * modules/fcntl-h: Likewise.
44371         * modules/gethrxtime: Likewise.
44372         * modules/gettime: Likewise.
44373         * modules/ignore-value: Likewise.
44374         * modules/inet_ntop: Likewise.
44375         * modules/inet_pton: Likewise.
44376         * modules/inttypes: Likewise.
44377         * modules/isnand-nolibm: Likewise.
44378         * modules/isnanf-nolibm: Likewise.
44379         * modules/mbchar: Likewise.
44380         * modules/mbfile: Likewise.
44381         * modules/mbiter: Likewise.
44382         * modules/mbuiter: Likewise.
44383         * modules/netdb: Likewise.
44384         * modules/netinet_in: Likewise.
44385         * modules/nproc: Likewise.
44386         * modules/pagealign_alloc: Likewise.
44387         * modules/poll: Likewise.
44388         * modules/printf-frexp: Likewise.
44389         * modules/pthread: Likewise.
44390         * modules/putenv: Likewise.
44391         * modules/random_r: Likewise.
44392         * modules/relocatable-prog: Likewise.
44393         * modules/search: Likewise.
44394         * modules/select: Likewise.
44395         * modules/selinux-h: Likewise.
44396         * modules/settime: Likewise.
44397         * modules/signal: Likewise.
44398         * modules/size_max: Likewise.
44399         * modules/socklen: Likewise.
44400         * modules/ssize_t: Likewise.
44401         * modules/stdarg: Likewise.
44402         * modules/stdbool: Likewise.
44403         * modules/stddef: Likewise.
44404         * modules/stdint: Likewise.
44405         * modules/stdio: Likewise.
44406         * modules/stdlib: Likewise.
44407         * modules/string: Likewise.
44408         * modules/strings: Likewise.
44409         * modules/sys_file: Likewise.
44410         * modules/sys_ioctl: Likewise.
44411         * modules/sys_select: Likewise.
44412         * modules/sys_socket: Likewise.
44413         * modules/sys_stat: Likewise.
44414         * modules/sys_time: Likewise.
44415         * modules/sys_times: Likewise.
44416         * modules/sys_utsname: Likewise.
44417         * modules/sys_wait: Likewise.
44418         * modules/sysexits: Likewise.
44419         * modules/time: Likewise.
44420         * modules/times: Likewise.
44421         * modules/tmpfile: Likewise.
44422         * modules/trim: Likewise.
44423         * modules/unistd: Likewise.
44424         * modules/wchar: Likewise.
44425         * modules/wctype: Likewise.
44426
44427 2009-09-17  Bruno Haible  <bruno@clisp.org>
44428
44429         Make getdate.y compile on QNX and NetBSD 5 / i386.
44430         * m4/getdate.m4 (gl_GETDATE): Conditionally define
44431         TIME_T_FITS_IN_LONG_INT.
44432         * lib/getdate.y (long_time_t): New type.
44433         (relative_time): Change type of 'seconds' field to long_time_t.
44434         (get_date): Update types of local variables. Check against overflow
44435         during conversion from long_time_t to time_t.
44436         Reported by Matt Kraai <kraai@ftbfs.org>
44437         and Hasso Tepper <hasso@netbsd.org>.
44438
44439 2009-09-17  Bruno Haible  <bruno@clisp.org>
44440
44441         * modules/COPYING: Update copyright years.
44442         * modules/README: Likeiwse.
44443         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
44444         Reported by Ian Beckwith <ianb@erislabs.net>.
44445
44446 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
44447
44448         * users.txt: Update references for gnuit package.
44449
44450 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
44451
44452         * m4/getdelim.m4: Fix typo in copyright line.
44453
44454 2009-09-17  Bruno Haible  <bruno@clisp.org>
44455
44456         * lib/atoll.c: Use the standard header with GPL copyright.
44457         * lib/argz.in.h: Likewise.
44458         * lib/glob.c: Likewise.
44459         * lib/glob-libc.h: Likewise.
44460         * lib/random_r.c: Likewise.
44461         * lib/siglist.h: Likewise.
44462         * lib/strsignal.c: Likewise.
44463         Reported by Ian Beckwith <ianb@erislabs.net>.
44464
44465 2009-09-17  Eric Blake  <ebb9@byu.net>
44466
44467         rmdir: ensure correct dependency order
44468         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
44469
44470 2009-09-17  Bruno Haible  <bruno@clisp.org>
44471
44472         Disable assertion that fails on NetBSD 5 / i386.
44473         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
44474         Reported by Sam Steingold <sds@gnu.org>
44475         and Hasso Tepper <hasso@netbsd.org>.
44476
44477 2009-09-16  Eric Blake  <ebb9@byu.net>
44478
44479         unlinkdir: port to mingw
44480         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
44481         on which no one can unlink a directory.
44482
44483         stdlib: sort witness names
44484         * modules/stdlib (Makefile.am): Sort replacements.
44485         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
44486         * lib/stdlib.in.h: Likewise.
44487
44488         parse-duration-tests: avoid link failure
44489         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
44490         LIBINTL.
44491         Reported by Tom G. Christensen.
44492
44493         openat-tests: ensure unlinkat behaves like rmdir
44494         * tests/test-rmdir.c (main): Factor guts...
44495         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
44496         * modules/rmdir-tests (Files): Ship new file.
44497         * modules/openat-tests: New test.
44498         * tests/test-unlinkat.c: Likewise.
44499
44500         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
44501         * modules/rmdir-errno (Status, Notice): Now obsolete.
44502
44503         rmdir: work around cygwin 1.5.x and mingw bugs
44504         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
44505         * lib/rmdir.c (rmdir): Work around it.
44506         * modules/rmdir (Status, Notice): No longer obsolete.
44507         (Files): Add dos.m4.
44508         (Depends-on): Add unistd.
44509         (configure.ac): Set witnesses.
44510         (License): Relax to LGPLv2+.
44511         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
44512         * modules/unistd (Makefile.am): Substitute witnesses.
44513         * lib/unistd.in.h (rmdir): Declare replacement.
44514         * doc/posix-functions/rmdir.texi (rmdir): Document this.
44515         * modules/rmdir-tests: New tests.
44516         * tests/test-rmdir.c: Likewise.
44517
44518 2009-09-15  Eric Blake  <ebb9@byu.net>
44519
44520         fchdir: improve use of replacement functions
44521         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
44522         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
44523         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
44524         REPLACE_CLOSEDIR.
44525         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
44526         * modules/sys_stat (Makefile.am): Substitute correct witness.
44527         * modules/dirent (Makefile.am): Likewise.
44528         * modules/unistd (Makefile.am): Likewise.
44529         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
44530         * lib/unistd.in.h (dup): Likewise.
44531         * lib/sys_stat.in.h (fstat): Likewise.
44532
44533         maint: ignore gnulib-tool temp files
44534         * .gitignore: Ignore files created during gnulib-tool --test.
44535
44536 2009-09-13  Jim Meyering  <meyering@redhat.com>
44537
44538         posixtm: don't reject a time that specify "60" as the number of seconds
44539         * lib/posixtm.c (posixtime): The code to reject invalid dates
44540         would also reject a time specified with the .60 suffix.
44541         But POSIX allows that, in order to accommodate leap seconds.
44542         So don't reject it.
44543         (main): Adjust tests accordingly.
44544         * modules/posixtm (Depends-on): Add stpcpy.
44545
44546 2009-09-11  Jim Meyering  <meyering@redhat.com>
44547
44548         announce-gen: include [$release_type] in emitted Subject:
44549         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
44550         e.g., [stable] in the emitted Subject: line.
44551
44552 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44553
44554         Remove obsolete macros from several modules.
44555         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
44556         obsolete Autoconf macros with their modern counterparts.
44557         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
44558         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
44559         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
44560         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
44561         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
44562         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
44563         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
44564         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
44565         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
44566         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
44567         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
44568         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
44569         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
44570         * m4/sockets.m4 (gl_SOCKETS): Likewise.
44571         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
44572         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
44573         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
44574         * m4/time_r.m4 (gl_TIME_R): Likewise.
44575         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
44576         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
44577         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
44578
44579         Fix copyright header in build-aux scripts.
44580         * build-aux/git-version-gen: Fix copyright header to match GPLv3
44581         recommendation.
44582         * build-aux/ncftpput-ftp: Likewise.
44583         * build-aux/update-copyright: Likewise.
44584
44585 2009-09-09  Eric Blake  <ebb9@byu.net>
44586
44587         test-link: allow Linux choice of errno
44588         * tests/test-link.c (main): Relax test for alternate error.
44589
44590         strndup: fix improper m4 caching
44591         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
44592         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
44593         (gl_PREREQ_STRNDUP): Delete.
44594         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
44595         * modules/string (Makefile.am): Substitute it.
44596         * lib/string.in.h (strndup): Modernize prototype.
44597
44598         getcwd: port to mingw
44599         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
44600         different from the POSIX assumptions made throughout the getcwd
44601         module; fortunately, the mingw getcwd does not need replacement.
44602         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
44603         * modules/getcwd-tests: New test.
44604         * tests/test-getcwd.c: Likewise.
44605
44606         link: fix platform bugs
44607         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
44608         * lib/link.c (link): Work around them.  Fix related mingw bug.
44609         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
44610         * modules/unistd (Makefile.am): Substitute it.
44611         * lib/unistd.in.h (link): Declare replacement.
44612         * doc/posix-functions/link.texi (link): Document this.
44613         * modules/link (Depends-on): Add strdup-posix, sys_stat.
44614
44615         test-link: consolidate into single C program, test more cases
44616         * tests/test-link.sh: Delete.
44617         * tests/test-link.c: Test more error conditions.  Exposes bugs on
44618         at least Cygwin and Solaris.
44619         * modules/link-tests (Files): Remove unused file.
44620         (Depends-on): Add errno, sys_stat.
44621         (Makefile.am): Simplify.
44622
44623 2009-09-08  Bruno Haible  <bruno@clisp.org>
44624
44625         Work around towlower, towupper bug on mingw.
44626         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
44627         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
44628         * doc/posix-functions/towlower.texi: Mention the mingw bug.
44629         * doc/posix-functions/towupper.texi: Likewise.
44630         Reported by Eric Blake.
44631
44632 2009-09-08  Jim Meyering  <meyering@redhat.com>
44633
44634         build: don't try to run autoheader if we don't use it
44635         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
44636         is not used in configure.ac.
44637
44638 2009-09-08  Eric Blake  <ebb9@byu.net>
44639
44640         euidaccess: fix compilation error
44641         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
44642
44643         rawmemchr: relax license
44644         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
44645         okay.
44646         Reported by Jim Meyering.
44647
44648         mkfifoat: new module
44649         * modules/mkfifoat: New file.
44650         * lib/mkfifoat.c: Likewise.
44651         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
44652         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
44653         * modules/sys_stat (Makefile.am): Use them.
44654         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
44655         * MODULES.html.sh (File system functions): Mention module.
44656         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
44657         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
44658         * modules/mkfifoat-tests: New test.
44659         * tests/test-mkfifoat.c: Likewise.
44660
44661         strchrnul: relax license
44662         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
44663         okay.
44664         Reported by Jim Meyering.
44665
44666 2009-09-08  Eric Blake  <ebb9@byu.net>
44667
44668         fstatat: fix compilation on Solaris
44669         * lib/fstatat.c (includes): Add fcntl.h.
44670         Reported by Pádraig Brady.
44671
44672 2009-09-07  Eric Blake  <ebb9@byu.net>
44673
44674         rename: modernize replacement
44675         * modules/rename (Depends-on): Add stdio.
44676         (configure.ac): Declare witness.
44677         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
44678         stdio take care of replacement.
44679         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
44680         * modules/stdio (Makefile.am): Substitute them.
44681         * lib/stdio.in.h (rename): Declare replacement.
44682         * lib/rename.c (includes): Allow cross-compilation to non-windows
44683         machines.
44684         * doc/posix-functions/rename.texi (rename): Improve
44685         documentation.
44686
44687         stdio: sort witness names
44688         * modules/stdio (Makefile.am): Sort replacements.
44689         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
44690         * lib/stdio.in.h: Likewise.
44691
44692         getcwd: minor cleanups
44693         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
44694         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
44695
44696         openat: provide more convenience names
44697         * modules/faccessat (configure.ac): Add C witness.
44698         * lib/unistd.in.h (readlinkat): Fix typo.
44699         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
44700         convenience wrappers.
44701         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
44702         wrappers in syntax checks.
44703
44704 2009-09-06  Eric Blake  <ebb9@byu.net>
44705
44706         doc: fix comments in recent patches
44707         * lib/faccessat.c: Mention correct function.
44708         * lib/fchmodat.c: Likewise.
44709         * lib/fchownat.c: Likewise.
44710         * lib/symlinkat.c: Likewise.
44711         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
44712         constants.
44713
44714         faccessat, symlinkat: continue cleanup of previous patch
44715         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
44716         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
44717         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
44718         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
44719         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
44720         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
44721         set.
44722
44723 2009-09-06  Bruno Haible  <bruno@clisp.org>
44724
44725         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
44726         (fstatat): Declare if GNULIB_FSTATAT is set.
44727         (mkdirat): Declare if GNULIB_MKDIRAT is set.
44728         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
44729         (unlinkat): Declare if GNULIB_UNLINKAT is set.
44730         * modules/fcntl-h (Files): Remove m4/openat.m4.
44731         * modules/sys_stat (Files): Remove m4/openat.m4.
44732         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
44733         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
44734         * modules/unistd (Files): Remove m4/openat.m4.
44735         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
44736         GNULIB_OPENAT.
44737         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
44738         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
44739         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
44740         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
44741         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
44742         gl_OPENAT_DEFAULTS.
44743         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
44744         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
44745         Don't require gl_OPENAT_DEFAULTS.
44746         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
44747         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
44748         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
44749         (gl_OPENAT_DEFAULTS): Remove macro.
44750
44751 2009-09-06  Bruno Haible  <bruno@clisp.org>
44752
44753         * modules/openat (configure.ac): Remove unneeded witness.
44754
44755 2009-09-06  Bruno Haible  <bruno@clisp.org>
44756
44757         Set errno to ENOSYS when a function is entirely unsupported.
44758         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
44759         EOPNOTSUPP.
44760         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
44761         * modules/chown (Depends-on): Remove errno.
44762
44763 2009-09-06  Bruno Haible  <bruno@clisp.org>
44764
44765         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
44766
44767 2009-09-06  Bruno Haible  <bruno@clisp.org>
44768
44769         * lib/sys_stat.in.h: Fix preprocessor command indentation.
44770
44771 2009-09-06  Ben Pfaff  <blp@gnu.org>
44772             Bruno Haible  <bruno@clisp.org>
44773
44774         Work around a glibc bug in strtok_r.
44775         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
44776         Undefine if UNDEFINE_STRTOK_R is set.
44777         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
44778         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
44779         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
44780         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
44781         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
44782         UNDEFINE_STRTOK_R.
44783         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
44784
44785 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
44786
44787         exclude: minor fix
44788         * lib/exclude.c: Include wctype.h
44789
44790 2009-09-06  Akim Demaille  <demaille@gostai.com>
44791
44792         bootstrap: improve error message
44793         * build-aux/bootstrap (find_tool): Upon failure, report the list
44794         of candidates.
44795         Honor the initial value of the envvar.
44796
44797 2009-09-05  Eric Blake  <ebb9@byu.net>
44798
44799         symlinkat: new module
44800         * modules/symlinkat: New file.
44801         * lib/symlinkat.c: Likewise.
44802         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
44803         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
44804         * modules/unistd (Makefile.am): Use them.
44805         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
44806         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
44807         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
44808         * MODULES.html.sh (File system functions): Mention module.
44809         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
44810         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
44811         * modules/symlinkat-tests: New test.
44812         * tests/test-symlinkat.c: Likewise.
44813
44814         test-openat-safer: add more checks
44815         * tests/test-openat-safer.c (main): Check more code paths.
44816
44817 2009-09-05  Jim Meyering  <meyering@redhat.com>
44818
44819         syntax-check: detect unnecessary inclusion of openat.h
44820         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
44821
44822 2009-09-05  Bruno Haible  <bruno@clisp.org>
44823
44824         Support towlower, towupper.
44825         * doc/posix-functions/towlower.texi: Mention module wctype.
44826         * doc/posix-functions/towupper.texi: Likewise.
44827         * lib/wctype.in.h (towlower, towupper): New functions.
44828         * tests/test-wctype.c: Include stdio.h, stdlib.h.
44829         (ASSERT): New macro.
44830         (e): New variable.
44831         (main): Test also towlower, towupper. Test WEOF argument.
44832         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
44833
44834 2009-09-05  Bruno Haible  <bruno@clisp.org>
44835
44836         Fix conversion behaviour when the input is invalid.
44837         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
44838         mark occurring in first pass of indirect conversion.
44839         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
44840         input.
44841         Found by clang's static analyzer.
44842
44843 2009-09-05  Bruno Haible  <bruno@clisp.org>
44844
44845         * tests/test-striconveh.c (main): Test indirect conversion on platforms
44846         where direct conversion is possible.
44847
44848 2009-09-04  Eric Blake  <ebb9@byu.net>
44849
44850         openat: fail with ENOENT on empty name
44851         * lib/openat-proc.c (openat_proc_name): Special-case the empty
44852         buffer.
44853
44854         link-follow: fix logic bug in prior patch
44855         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
44856         reversed sense of yes and no in prior patch.  Avoid confusing
44857         compilation failure with desired semantics.
44858
44859         link-follow: accommodate mingw and cross-compilation
44860         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
44861         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
44862         cross-compilation results to -1, to make linkat easier to
44863         implement when cross-compiling.  Trivially support mingw.
44864         * modules/link-follow (configure.ac): Call new name.
44865         * NEWS: Mention this.
44866
44867 2009-09-03  Eric Blake  <ebb9@byu.net>
44868
44869         faccessat: compile replacement
44870         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
44871         needed.
44872
44873         fts: fix compilation error
44874         * lib/fts.c (includes): Re-add "openat.h", for
44875         openat_needs_fchdir.
44876
44877         faccessat: new module
44878         * modules/faccessat: New file.
44879         * lib/faccessat.c: Likewise.
44880         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
44881         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
44882         * modules/unistd (Makefile.am): Use it.
44883         * lib/unistd.in.h (faccessat): Declare it.
44884         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
44885         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
44886         * MODULES.html.sh (File system functions): Mention it.
44887         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
44888         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
44889
44890         euidaccess: prefer POSIX over non-standard implementation
44891         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
44892         * lib/euidaccess.c (euidaccess): Use it if available.
44893
44894         openat: make template easier to use
44895         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
44896         AT_FUNC_F2 to be undefined.
44897         (VALIDATE_FLAG): New macro; use it to reject bad flags.
44898         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
44899         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
44900         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
44901         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
44902         Likewise.
44903         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
44904         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
44905         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
44906         Likewise.
44907
44908         openat: declare in POSIX headers
44909         * NEWS: Mention this.
44910         * modules/openat (configure.ac): Declare witnesses.
44911         (Depends-on): Add fcntl-h, sys_stat, unistd.
44912         (Include): Mention correct headers.
44913         * modules/fcntl-h (Depends-on): Add link-warning.
44914         (Files): Add openat.m4.
44915         (Makefile.am): Substitute witnesses.
44916         * modules/sys_stat (Files, Makefile.am): Likewise.
44917         * modules/unistd (Files, Makefile.am): Likewise.
44918         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
44919         (gl_OPENAT_DEFAULTS): New macro.
44920         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
44921         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
44922         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
44923         (SYS_STAT_H): Remove unused variable.
44924         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
44925         * lib/fcntl--.h (includes): Remove unneeded header.
44926         * lib/openat-safer.c (includes): Likewise.
44927         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
44928         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
44929         appropriate headers.
44930         (__OPENAT_PREFIX): Delete.
44931         * lib/fcntl.in.h (openat): Provide declaration.
44932         (AT_FDCWD): Fix Solaris bug.
44933         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
44934         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
44935         * lib/fchmodat.c (includes):  Adjust to find declaration.
44936         * lib/fchownat.c (includes): Likewise.
44937         * lib/mkdirat.c (includes): Likewise.
44938         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
44939         still visible.
44940
44941 2009-09-02  Eric Blake  <ebb9@byu.net>
44942
44943         errno: use consistently
44944         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
44945         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
44946         * lib/canonicalize.c (ELOOP): Likewise.
44947         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
44948         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
44949         * lib/lchown.c (EOPNOTSUPP): Likewise.
44950         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
44951         * lib/savewd.c (ESTALE): Likewise.
44952         * lib/settime.c (ENOSYS): Likewise.
44953         * lib/utimens.c (ENOSYS): Likewise.
44954         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
44955         * lib/chdir-safer.c (ELOOP): Likewise.
44956         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
44957         * modules/c-stack (Depends-on): Add errno.
44958         * modules/canonicalize (Depends-on): Likewise.
44959         * modules/chdir-safer (Depends-on): Likewise.
44960         * modules/fdopendir (Depends-on): Likewise.
44961         * modules/inet_ntop (Depends-on): Likewise.
44962         * modules/inet_pton (Depends-on): Likewise.
44963         * modules/lchown (Depends-on): Likewise.
44964         * modules/openat (Depends-on): Likewise.
44965         * modules/savewd (Depends-on): Likewise.
44966         * modules/settime (Depends-on): Likewise.
44967         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
44968
44969         fts: avoid leaking fds
44970         * modules/fts (Depends-on): Add cloexec.
44971         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
44972         flag.
44973
44974         fts: make directory fds more robust
44975         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
44976         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
44977
44978         backupfile, chdir-long, fts, savedir: make safer
44979         * lib/backupfile.c (includes): Use "dirent--.h", since
44980         numbered_backup can write to stderr during readdir.
44981         * lib/savedir.c (includes): Likewise.
44982         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
44983         emulation can write to stderr on failure.
44984         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
44985         * lib/getcwd.c: Document why opendir_safer is unused.
44986         * lib/glob.c: Likewise.
44987         * lib/scandir.c: Likewise.
44988         * lib/openat-proc.c: Likewise, for open_safer.
44989         * modules/backupfile (Depends-on): Add dirent-safer.
44990         * modules/savedir (Depends-on): Likewise.
44991         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
44992         * modules/chdir-long (Depends-on): Add openat-safer.
44993
44994         openat-safer: new module
44995         * modules/openat-safer: New file.
44996         * lib/openat-safer.c: Likewise.
44997         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
44998         * lib/fcntl-safer.h (openat_safer): Declare.
44999         * lib/fcntl--.h (openat): Override.
45000         * MODULES.html.sh (File descriptor based I/O): Mention it.
45001         * lib/openat.h: Add double-inclusion guards.
45002         * lib/openat.c (includes): Only include "fcntl-safer.h", not
45003         "fcntl--.h", so we can implement openat.
45004         * modules/openat-safer-tests: New test.
45005         * tests/test-openat-safer.c: New file.
45006
45007         dirent-safer: new module
45008         * modules/dirent-safer: New file.
45009         * lib/dirent--.h: Likewise.
45010         * lib/dirent-safer.h: Likewise.
45011         * lib/opendir-safer.c: Likewise.
45012         * m4/dirent-safer.m4: Likewise.
45013         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
45014         * modules/dirent-safer-tests: New test.
45015         * tests/test-dirent-safer.c: New file.
45016         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
45017
45018         fdopendir: optimize on mingw
45019         * lib/unistd.in.h (_gl_directory_name): New prototype.
45020         * lib/fchdir.c (_gl_directory_name): Implement it.
45021         (fchdir): Use it to simplify implementation.
45022         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
45023         fchdir, when available, to avoid calling [f]chdir().
45024
45025         fdopendir: split into its own module
45026         * lib/openat.c (fdopendir): Move...
45027         * lib/fdopendir.c: ...into new file.
45028         * modules/fdopendir: New module.
45029         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
45030         * modules/openat (Depends-on): Add fdopendir.
45031         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
45032         fdopendir here.
45033         * modules/savedir (Depends-on): Only need fdopendir, not full
45034         openat.
45035         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
45036         * lib/openat.h (fdopendir): Drop prototype.
45037         * lib/dirent.in.h (fdopendir): Provide prototype.
45038         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
45039         * modules/dirent (Makefile.am): Substitute them.
45040         * MODULES.html.sh (File system functions): Mention it.
45041         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
45042         * modules/fdopendir-tests: New file.
45043         * tests/test-fdopendir.c: Likewise.
45044
45045         fchdir: use more consistent macro convention
45046         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
45047         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
45048         REPLACE_FCHDIR, rather than relying on config.h macros.
45049         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
45050         inside a single make-time REPLACE_FCHDIR block, rather than using
45051         the config.h FCHDIR_REPLACEMENT.
45052         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
45053         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
45054         Manage fstat replacement.
45055         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
45056         REPLACE_FCHDIR.
45057         * modules/sys_stat (Files): Add m4/unistd_h.m4.
45058         (Makefile.am): Substitute REPLACE_FCHDIR.
45059         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
45060         FCHDIR_REPLACEMENT.
45061         * lib/dup-safer.c (dup_safer): Likewise.
45062         * lib/dup2.c (rpl_dup2): Likewise.
45063         * lib/dup3.c (rpl_dup3): Likewise.
45064         * lib/open.c (rpl_open): Likewise.
45065
45066         fchdir: simplify error handling, and support dup3
45067         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
45068         stdbool, malloc-posix, realloc-posix.
45069         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
45070         (ensure_dirs_slot): Return false on allocation failure.
45071         (rpl_dup2): Delete.
45072         (_gl_register_dup): New function.
45073         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
45074         (_gl_register_fd): Close fd on allocation failure.
45075         * lib/fcntl.in.h (_gl_register_fd): Update signature.
45076         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
45077         prototype.
45078         (rpl_dup2_fchdir): Delete prototype.
45079         * lib/open.c (open): Update caller.
45080         * lib/dup2.c (dup2): Track fchdir metadata.
45081         * lib/dup3.c (dup3): Likewise.
45082         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
45083         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
45084
45085 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45086
45087         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
45088         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
45089         don't pass arguments to AC_OUTPUT.
45090
45091 2009-09-02  Bruno Haible  <bruno@clisp.org>
45092
45093         * modules/mkdtemp (License): Relicense under LGPLv2+.
45094         Reported by Paolo Bonzini.
45095
45096 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45097
45098         Replace uses of obsolete autoconf macros in Jim's modules.
45099         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
45100         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
45101         can evoke a warning from autoconf when run with -Wobsolete
45102         enabled.  They were declared obsolete for good reasons (see
45103         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
45104         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
45105         should not continue using the deprecated macros.
45106         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
45107         obsolete Autoconf macros with modern counterparts.
45108         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
45109         * m4/dos.m4 (gl_AC_DOS): Likewise.
45110         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
45111         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
45112         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
45113         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
45114         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
45115         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
45116         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
45117         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
45118         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
45119         Likewise.
45120         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
45121         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
45122         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
45123         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
45124         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
45125         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
45126
45127 2009-09-01  Eric Blake  <ebb9@byu.net>
45128
45129         fchdir: fix off-by-one bug in previous patch
45130         * lib/fchdir.c (rpl_fstat): Use correct bounds.
45131         (_gl_unregister_fd): Delete useless if.
45132
45133 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
45134
45135         maint.mk: sort the list of syntax-check rules
45136         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
45137         easier to get a sense of progress when the rules are run sequentially
45138         and take a long time.
45139
45140 2009-09-01  Simon Josefsson  <simon@josefsson.org>
45141
45142         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
45143         * modules/netinet_in: Likewise.
45144         * modules/sys_file: Likewise.
45145         * modules/sys_ioctl: Likewise.
45146         * modules/sys_select: Likewise.
45147         * modules/sys_socket: Likewise.
45148         * modules/sys_stat: Likewise.
45149         * modules/sys_time: Likewise.
45150         * modules/sys_times: Likewise.
45151         * modules/sys_utsname: Likewise.
45152         * modules/sys_wait: Likewise.
45153
45154 2009-09-01  Jim Meyering  <meyering@redhat.com>
45155
45156         fts: help ensure that return values are not ignored
45157         * lib/fts_.h (__GNUC_PREREQ): Define.
45158         (__attribute_warn_unused_result__): Define.
45159         (fts_children, fts_close, fts_open, fts_read): Declare with
45160         __attribute_warn_unused_result__.
45161
45162         fts: fts_close now fails also when closing a dir file descriptor fails
45163         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
45164         and propagate to caller, along with errno.
45165
45166         announce-gen: correct formatting in --help output
45167         * build-aux/announce-gen (usage): Move the one-line description in
45168         --help output "up", to where it belongs, just after Usage:.
45169
45170 2009-08-31  Eric Blake  <ebb9@byu.net>
45171
45172         fchdir: port to mingw
45173         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
45174         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
45175         opened, then use a substitute.
45176         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
45177         replacement.
45178         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
45179         (_gl_register_fd): No need to check stat if open already filters
45180         all directories.
45181         (fchdir): Fix error condition to match POSIX.
45182         * modules/fchdir (Depends-on): Add sys_stat.
45183         * doc/posix-functions/open.texi (open): Document the limitation.
45184         * modules/fchdir-tests: New file.
45185         * tests/test-fchdir.c: Likewise.
45186
45187         canonicalize: allow cross-testing from cygwin to mingw
45188         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
45189         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
45190         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
45191         Likewise.
45192         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
45193         target does not support symlinks.
45194         * tests/test-canonicalize-lgpl.sh: Likewise.
45195
45196         chown: avoid compilation warning on mingw
45197         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
45198         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
45199         mingw.
45200         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
45201         * modules/chown (Depends-on): Add errno.
45202
45203 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
45204
45205         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
45206         command.
45207
45208 2009-08-31  Jim Meyering  <meyering@redhat.com>
45209
45210         canonicalize: remove useless initialization
45211         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
45212         initialization of local, "end".
45213
45214 2009-08-30  Bruno Haible  <bruno@clisp.org>
45215
45216         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
45217         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
45218         ENOSYS.
45219
45220 2009-08-30  Bruno Haible  <bruno@clisp.org>
45221
45222         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
45223         /usr/xpg4/bin/tr when it exists.
45224         * tests/test-pipe-filter-gi1.sh: Likewise.
45225
45226 2009-08-30  Bruno Haible  <bruno@clisp.org>
45227
45228         Work around deficient /usr/bin/id program on Solaris.
45229         * tests/test-file-has-acl.sh (ID): New variable.
45230         * tests/test-set-mode-acl.sh (ID): Likewise.
45231         * tests/test-copy-acl.sh (ID): Likewise.
45232         * tests/test-copy-file.sh (ID): Likewise.
45233
45234 2009-08-30  Bruno Haible  <bruno@clisp.org>
45235
45236         New module 'xstriconveh'.
45237         * lib/xstriconveh.h: New file.
45238         * lib/xstriconveh.c: New file.
45239         * modules/xstriconveh: New file.
45240
45241 2009-08-30  Bruno Haible  <bruno@clisp.org>
45242
45243         Make it easier to use mem_cd_iconveh.
45244         * lib/striconveh.h (iconveh_t): New type.
45245         (iconveh_open, iconveh_close): New declarations.
45246         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
45247         with a single 'const iconveh_t *' argument.
45248         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
45249         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
45250         with a single 'const iconveh_t *' argument.
45251         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
45252         * tests/test-striconveh.c (main): Update.
45253         * NEWS: Mention the change.
45254
45255 2009-08-30  Bruno Haible  <bruno@clisp.org>
45256
45257         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
45258         problem.
45259
45260 2009-08-30  Bruno Haible  <bruno@clisp.org>
45261
45262         Work around iconv_open problem on Solaris.
45263         * lib/iconv_open-solaris.gperf: New file.
45264         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
45265         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
45266         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
45267         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
45268         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
45269         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
45270
45271 2009-08-29  Jim Meyering  <meyering@redhat.com>
45272
45273         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
45274         * top/maint.mk (cvs-check): Remove target; it was just an alias
45275         to the better-named vc-diff-check.
45276         (maintainer-distcheck): Remove rule.  It was used only from
45277         the (alpha/beta/major) target, and all of its commands but one
45278         were coreutils-specific.
45279         (vc-dist): Remove rule.
45280         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
45281         Run vc-diff-check, not vc-dist.
45282         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
45283
45284 2009-08-27  Bruno Haible  <bruno@clisp.org>
45285
45286         * tests/test-bitrotate.c (main): Remove test that uses a shift count
45287         of 0.
45288
45289 2009-08-27  Bruno Haible  <bruno@clisp.org>
45290
45291         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
45292         compilers.
45293         * doc/func.texi: Document the SunPRO C bug.
45294
45295 2009-08-27  Bruno Haible  <bruno@clisp.org>
45296
45297         Fix link error on Solaris.
45298         * tests/test-parse-duration.c (xstrdup): Remove function.
45299
45300 2009-08-26  Pádraig Brady  <P@draigbrady.com>
45301
45302         ignore-value: handle pointer types, too
45303         * lib/ignore-value.h (__attribute__): Remove definition.
45304         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
45305         of a more concise and more-often effective "(void) i" statement.
45306         (ignore_ptr): New function to suppress warnings from functions that
45307         return pointers, and to make it explicit that one function doesn't
45308         handle all cases.
45309
45310 2009-08-25  Bruno Haible  <bruno@clisp.org>
45311
45312         dup2: work around a Linux bug.
45313         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
45314         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
45315         * doc/posix-functions/dup2.texi: Mention the Linux bug.
45316         Reported by Simon Josefsson.
45317
45318 2009-08-25  Jim Meyering  <meyering@redhat.com>
45319
45320         libguestfs uses gnulib
45321         * users.txt: Add libguestfs.
45322
45323 2009-08-24  Eric Blake  <ebb9@byu.net>
45324
45325         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
45326         * lib/pipe2.c (includes): Add binary-io.h.
45327         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
45328
45329 2009-08-24  Bruno Haible  <bruno@clisp.org>
45330
45331         Tolerate declared but missing accept4 syscall.
45332         * lib/accept4.c (accept4): Invoke original accept4 function first, if
45333         available.
45334         * lib/sys_socket.in.h (accept4): If the function is already present,
45335         override it.
45336         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
45337         * modules/accept4 (Makefile.am): Compile accept4.c always.
45338         Reported by Paolo Bonzini and Eric Blake.
45339
45340 2009-08-23  Bruno Haible  <bruno@clisp.org>
45341
45342         New module 'accept4'.
45343         * lib/sys_socket.in.h (accept4): New declaration.
45344         * lib/accept4.c: New file.
45345         * m4/accept4.m4: New file.
45346         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
45347         GNULIB_ACCEPT4, HAVE_ACCEPT4.
45348         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
45349         HAVE_ACCEPT4.
45350         * modules/accept4: New file.
45351         * doc/glibc-functions/accept4.texi: Mention the new module.
45352
45353 2009-08-24  Jim Meyering  <meyering@redhat.com>
45354
45355         progname: also set global program_invocation_name, when possible
45356         Before this change, a libtool-enabled program that calls glibc's
45357         error function would report the program name as
45358         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
45359         * modules/progname (configure.ac): Check for a declaration of
45360         program_invocation_name.
45361         * lib/progname.c:  Include <errno.h>.
45362         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
45363         Set program_invocation_name.
45364
45365 2009-08-23  Bruno Haible  <bruno@clisp.org>
45366
45367         * lib/dup3.c: Include <string.h>.
45368
45369 2009-08-23  Bruno Haible  <bruno@clisp.org>
45370
45371         * lib/dup3.c (dup3): Test only once whether the system actually exists.
45372         * lib/pipe2.c (pipe2): Likewise.
45373         Suggested by Eric Blake.
45374
45375 2009-08-23  Bruno Haible  <bruno@clisp.org>
45376
45377         Tolerate declared but missing dup3 syscall.
45378         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
45379         * lib/unistd.in.h (dup3): If the function is already present,
45380         override it.
45381         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
45382         * modules/dup3 (Makefile.am): Compile dup3.c always.
45383         Reported by Paolo Bonzini.
45384
45385 2009-08-23  Bruno Haible  <bruno@clisp.org>
45386
45387         Tolerate declared but missing pipe2 syscall.
45388         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
45389         available.
45390         * lib/unistd.in.h (pipe2): If the function is already present,
45391         override it.
45392         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
45393         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
45394         Reported by Paolo Bonzini.
45395
45396 2009-08-23  Bruno Haible  <bruno@clisp.org>
45397
45398         * lib/pipe2.c (pipe2): Move #ifs inside function.
45399
45400 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
45401
45402         quotearg: document limitations of quote_these_too
45403         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
45404         those limitations are created.
45405         * lib/quotearg.h (set_char_quoting): Document that digits and
45406         letters that are special after backslash are not permitted.
45407         (quotearg_char): Cross-reference set_char_quoting documentation.
45408
45409 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
45410
45411         quotearg: implement custom_quoting_style
45412         * lib/quotearg.c: (struct quoting_options): Add left_quote and
45413         right_quote fields.
45414         (set_custom_quoting): New public function.
45415         (quotearg_buffer_restyled): Add left_quote and right_quote
45416         arguments, handle them very much like locale quoting, and update
45417         all uses.
45418         (quotearg_n_custom): New public function.
45419         (quotearg_n_custom_mem): New public function.
45420         (quotearg_custom): New public function.
45421         (quotearg_custom_mem): New public function.
45422         * lib/quotearg.h: Prototype and document new public functions.
45423         (enum quoting_style): For escape_quoting_style and
45424         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
45425         ignored even though they're otherwise like c_quoting_style.
45426         Add custom_quoting_style member and document with comparison to
45427         clocale_quoting_style.
45428         * tests/test-quotearg.c (custom_quotes): New array.
45429         (custom_results): New array.
45430         (main): Extend to test custom quoting.
45431
45432 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
45433
45434         quotearg: fix right quote escaping when it's in quote_these_too
45435         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
45436         quote, be sure to prepend only one backslash.
45437         * tests/test-quotearg.c (use_quote_double_quotes): New function.
45438         (main): Test it.
45439
45440 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
45441
45442         quotearg-tests: test escaping of embedded locale quotes
45443         * tests/test-quotearg.c (struct result_strings): Add member for
45444         new input.
45445         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
45446         (inputs): Add new input.
45447         (results_g): Add expected results.
45448         (flag_results): Likewise.
45449         (locale_results): Likewise.
45450         (compare_strings): Check those.
45451
45452 2009-08-23  Bruno Haible  <bruno@clisp.org>
45453
45454         Tests for module 'dup3'.
45455         * modules/dup3-tests: New file.
45456         * tests/test-dup3.c: New file.
45457
45458         New module 'dup3'.
45459         * lib/unistd.in.h (dup3): New declaration.
45460         * lib/dup3.c: New file.
45461         * m4/dup3.m4: New file.
45462         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
45463         HAVE_DUP3.
45464         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
45465         * modules/dup3: New file.
45466         * doc/glibc-functions/dup3.texi: Mention the new module.
45467
45468 2009-08-23  Bruno Haible  <bruno@clisp.org>
45469
45470         Tweak the dup2 test.
45471         * tests/test-dup2.c (main): Create the test file empty. Verify that an
45472         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
45473         the test file is still empty. Fix argument order of lseek.
45474
45475 2009-08-23  Bruno Haible  <bruno@clisp.org>
45476
45477         Avoid test link errors when the modules getopt-gnu, gettext are used.
45478         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
45479         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
45480
45481 2009-08-23  Bruno Haible  <bruno@clisp.org>
45482
45483         Fix getdtablesize() on mingw.
45484         * lib/getdtablesize.c (getdtablesize): Implement differently.
45485         * lib/unistd.in.h (getdtablesize): Improve comment.
45486
45487 2009-08-23  Bruno Haible  <bruno@clisp.org>
45488
45489         New module 'mkostemp'.
45490         Based on Ulrich Drepper's 2007-08-10 change in glibc.
45491         * lib/stdlib.in.h (mksotemp): New declaration.
45492         * lib/mkostemp.c: New file, from glibc with modifications.
45493         * lib/tempname.h (GT_FILE): Remove outdated comment.
45494         (gen_tempname): Add flags argument.
45495         * lib/tempname.c (__GT_BIGFILE): Remove macro.
45496         (__GT_FILE): Map to 1.
45497         (small_open, large_open): Remove macros.
45498         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
45499         * lib/mkstemp.c (mkstemp): Update.
45500         * lib/mkdtemp.c (mkdtemp): Likewise.
45501         * m4/mkostemp.m4: New file.
45502         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
45503         HAVE_MKOSTEMP.
45504         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
45505         HAVE_MKOSTEMP.
45506         * modules/mkostemp: New file, based on modules/mkstemp.
45507         * doc/glibc-functions/mkostemp.texi: Mention the new module.
45508         * NEWS: Mention the change.
45509
45510 2009-08-23  Bruno Haible  <bruno@clisp.org>
45511
45512         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
45513         Reported by Eric Blake.
45514
45515 2009-08-23  Bruno Haible  <bruno@clisp.org>
45516
45517         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
45518         Reported by Eric Blake.
45519
45520 2009-08-23  Bruno Haible  <bruno@clisp.org>
45521
45522         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
45523         * modules/pipe2 (Depends-on): Likewise.
45524
45525 2009-08-23  Eric Blake  <ebb9@byu.net>
45526
45527         fcntl-h: add O_TTY_INIT support
45528         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
45529         * tests/test-fcntl-h.c (o): Test it.
45530         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
45531
45532         fcntl-h: rename from fcntl, in preparation for fcntl(2)
45533         * modules/fcntl: Move <fcntl.h> header replacement...
45534         * modules/fcntl-h: ...to new name, so as not to collide with
45535         like-named function.
45536         * tests/test-fcntl.c: Rename...
45537         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
45538         * modules/fcntl-tests: Rename...
45539         * modules/fcntl-h-tests: ...to this.  Update test file name.
45540         * modules/chdir-long (Depends-on): Update clients.
45541         * modules/chdir-safer (Depends-on): Likewise.
45542         * modules/fcntl-safer (Depends-on): Likewise.
45543         * modules/fts (Depends-on): Likewise.
45544         * modules/mkancesdirs (Depends-on): Likewise.
45545         * modules/mkdir-p (Depends-on): Likewise.
45546         * modules/open (Depends-on): Likewise.
45547         * modules/savewd (Depends-on): Likewise.
45548         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
45549         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
45550
45551 2009-08-22  Bruno Haible  <bruno@clisp.org>
45552
45553         * modules/binary-io (License): Relicense under LGPL.
45554         * modules/pipe2 (License): Likewise.
45555
45556 2009-08-22  Bruno Haible  <bruno@clisp.org>
45557
45558         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
45559         return value.
45560         * lib/pipe-filter-gi.c (filter_init): Likewise.
45561         Reported by Eric Blake.
45562
45563 2009-08-22  Bruno Haible  <bruno@clisp.org>
45564
45565         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
45566         * modules/pipe (Depends-on): Add pipe2.
45567
45568 2009-08-22  Bruno Haible  <bruno@clisp.org>
45569
45570         Tests for module 'pipe2'.
45571         * modules/pipe2-tests: New file.
45572         * tests/test-pipe2.c: New file.
45573
45574         New module 'pipe2'.
45575         * lib/unistd.in.h (pipe2): New declaration.
45576         * lib/pipe2.c: New file.
45577         * m4/pipe2.m4: New file.
45578         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
45579         HAVE_PIPE2.
45580         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
45581         * modules/pipe2: New file.
45582         * doc/glibc-functions/pipe2.texi: Mention the new module.
45583
45584 2009-08-22  Bruno Haible  <bruno@clisp.org>
45585
45586         Reference some new glibc functions.
45587         * doc/glibc-functions/accept4.texi: New file.
45588         * doc/glibc-functions/dup3.texi: New file.
45589         * doc/glibc-functions/mkostemp.texi: New file.
45590         * doc/glibc-functions/pipe2.texi: New file.
45591         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
45592         (Glibc sys/socket.h): Refer to accept4.
45593         (Glibc unistd.h): Refer to dup3, pipe2.
45594         Reported by Eric Blake.
45595
45596 2009-08-22  Jim Meyering  <meyering@redhat.com>
45597             Bruno Haible  <bruno@clisp.org>
45598
45599         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
45600         This makes it so packages using automake-1.11's silent-rules option
45601         can print e.g., a single "GEN    configmake.h" line, rather than
45602         the 30+ statements that perform the job.  If you want to see the
45603         actual commands, you can still run "make V=1".
45604         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
45605         so that make output is abbreviated when those variables are defined
45606         appropriately.
45607         * modules/argz: Likewise.
45608         * modules/arpa_inet: Likewise.
45609         * modules/byteswap: Likewise.
45610         * modules/configmake: Likewise.
45611         * modules/dirent: Likewise.
45612         * modules/errno: Likewise.
45613         * modules/fcntl: Likewise.
45614         * modules/float: Likewise.
45615         * modules/fnmatch: Likewise.
45616         * modules/getopt-posix: Likewise.
45617         * modules/glob: Likewise.
45618         * modules/iconv_open: Likewise.
45619         * modules/inttypes: Likewise.
45620         * modules/localcharset: Likewise.
45621         * modules/locale: Likewise.
45622         * modules/math: Likewise.
45623         * modules/netdb: Likewise.
45624         * modules/netinet_in: Likewise.
45625         * modules/poll: Likewise.
45626         * modules/posix_spawnp-tests: Likewise.
45627         * modules/sched: Likewise.
45628         * modules/search: Likewise.
45629         * modules/selinux-h: Likewise.
45630         * modules/signal: Likewise.
45631         * modules/spawn: Likewise.
45632         * modules/stdarg: Likewise.
45633         * modules/stdbool: Likewise.
45634         * modules/stddef: Likewise.
45635         * modules/stdint: Likewise.
45636         * modules/stdio: Likewise.
45637         * modules/stdlib: Likewise.
45638         * modules/string: Likewise.
45639         * modules/strings: Likewise.
45640         * modules/sys_file: Likewise.
45641         * modules/sys_ioctl: Likewise.
45642         * modules/sys_select: Likewise.
45643         * modules/sys_socket: Likewise.
45644         * modules/sys_stat: Likewise.
45645         * modules/sys_time: Likewise.
45646         * modules/sys_times: Likewise.
45647         * modules/sys_utsname: Likewise.
45648         * modules/sys_wait: Likewise.
45649         * modules/sysexits: Likewise.
45650         * modules/time: Likewise.
45651         * modules/unistd: Likewise.
45652         * modules/wchar: Likewise.
45653         * modules/wctype: Likewise.
45654
45655 2009-08-22  Jim Meyering  <meyering@redhat.com>
45656
45657         announce-gen: detect write failure
45658         * build-aux/announce-gen: Add Coda at end.
45659         Remove equivalent-but-more-verbose block at top.
45660
45661 2009-08-19  Akim Demaille  <demaille@gostai.com>
45662
45663         bootstrap: --help to stdout.
45664         * bootstrap (usage): Don't send --help to stderr.
45665         Use a here doc instead of a long string.
45666
45667 2009-08-21  Eric Blake  <ebb9@byu.net>
45668
45669         test-popen-safer: split from test-popen
45670         * tests/test-popen.c (main): Move...
45671         * tests/test-popen.h: ...into new file.
45672         * tests/test-popen-safer2.c: New file.
45673         * modules/popen-tests (Files): Add test-popen.h.
45674         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
45675         Suggested by Bruno Haible.
45676
45677         test-fcntl-safer: split from test-open
45678         * tests/test-open.c (main): Move...
45679         * tests/test-open.h: ...into new file.
45680         * tests/test-fcntl-safer.c: New file.
45681         * modules/open-tests (Files): Add test-open.h.
45682         * modules/fcntl-safer-tests: New file.
45683         Suggested by Bruno Haible.
45684
45685         test-fopen-safer: split from test-fopen
45686         * tests/test-fopen.c (main): Move...
45687         * tests/test-fopen.h: ...into new file.
45688         * tests/test-fopen-safer.c: New file.
45689         * modules/fopen-tests (Files): Add test-fopen.h.
45690         * modules/fopen-safer-tests: New file.
45691         Suggested by Bruno Haible.
45692
45693 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
45694
45695         popen-safer: test O_CLOEXEC at run-time.
45696         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
45697
45698 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
45699
45700         fcntl: move more flags to the header
45701         * lib/cloexec.c: Do not define FD_CLOEXEC here.
45702         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
45703         * lib/fcntl.in.h: Do both things here.
45704
45705 2009-08-21  Jim Meyering  <meyering@redhat.com>
45706
45707         consistently remove $@-t before redirecting to it
45708         * modules/argz: Remove $@-t and $@ before redirecting to the former.
45709         * modules/alloca-opt: Likewise.
45710         * modules/byteswap: Likewise.
45711         * modules/fnmatch: Likewise.
45712         * modules/getopt-posix: Likewise.
45713         * modules/glob: Likewise.
45714         * modules/poll: Likewise.
45715         * modules/posix_spawnp-tests: Likewise.
45716         * modules/sys_socket: Likewise.
45717         * modules/sysexits: Likewise.
45718
45719 2009-08-21  Eric Blake  <ebb9@byu.net>
45720
45721         popen: simplify access to original popen
45722         * lib/popen.c (rpl_popen): No need to worry about popen being a
45723         macro.
45724         Reported by Bruno Haible.
45725
45726 2009-08-20  Eric Blake  <ebb9@byu.net>
45727
45728         build: avoid some compiler warnings
45729         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
45730         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
45731         type.
45732         (new_exclude_segment, excluded_file_pattern_p)
45733         (excluded_file_name_p): Reduce scope.
45734         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
45735         old-style declaration.
45736
45737 2009-08-20  Simon Josefsson  <simon@josefsson.org>
45738
45739         * tests/test-exclude1.sh: Handle Windows EOL.
45740         * tests/test-exclude2.sh: Likewise.
45741         * tests/test-exclude3.sh: Likewise.
45742         * tests/test-exclude4.sh: Likewise.
45743         * tests/test-exclude5.sh: Likewise.
45744         * tests/test-exclude6.sh: Likewise.
45745         * tests/test-exclude7.sh: Likewise.
45746
45747 2009-08-19  Akim Demaille  <demaille@gostai.com>
45748
45749         bootstrap: find sha1sum when named gsha1sum.
45750         * bootstrap (find_tool): New.
45751         ($SHA1SUM): New.
45752         Use it.
45753
45754 2009-08-20  Jim Meyering  <meyering@redhat.com>
45755
45756         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
45757         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
45758         expression that converts "." in a file name to "\." in the resulting
45759         regexp.  Start with a dummy statement, so that prior shell variable
45760         definitions are expanded portably.  Reported by Simon Josefsson.
45761
45762 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
45763
45764         Fix polling for writeability of a screen buffer.
45765         * lib/poll.c: Distinguish input and screen buffers for the
45766         Win32 implementation.
45767         * lib/select.c: Likewise.
45768
45769 2009-08-19  Eric Blake  <ebb9@byu.net>
45770
45771         popen-safer: prevent popen from clobbering std descriptors
45772         * modules/popen-safer: New file.
45773         * lib/popen-safer.c: Likewise.
45774         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
45775         * lib/stdio--.h (popen): Provide override.
45776         * lib/stdio-safer.h (popen_safer): Provide declaration.
45777         * tests/test-popen.c (includes): Partially test this.
45778         * modules/popen-safer-tests: New file, for more tests.
45779         * tests/test-popen-safer.c: Likewise.
45780         * MODULES.html.sh (file stream based Input/Output): Mention it.
45781
45782         tests: test some of the *-safer modules
45783         * modules/fopen-safer (Depends-on): Add fopen.
45784         * modules/fcntl-safer (Depends-on): Add fcntl.
45785         * modules/stdlib-safer (Depends-on): Add stdlib.
45786         (configure.ac): Set indicator.
45787         * modules/unistd-safer (configure.ac): Likewise.
45788         * modules/tmpfile-safer (configure.ac): Likewise.
45789         (Depends-on): Add tmpfile.
45790         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
45791         active.
45792         * tests/test-fopen.c (includes): Test safer versions when they are
45793         in use.
45794         * tests/test-open.c (includes): Likewise.
45795
45796         popen: fix cygwin 1.5 bug when stdin closed
45797         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
45798         * modules/popen: New file.
45799         * modules/popen-tests: Likewise.
45800         * tests/test-popen.c: Likewise.
45801         * m4/popen.m4: Likewise.
45802         * lib/popen.c: Likewise.
45803         * lib/stdio.in.h (popen): New declaration.
45804         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
45805         * modules/stdio (Makefile.am): Likewise.
45806         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
45807
45808 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
45809
45810         maint.mk: give full control over update-copyright exclusions
45811         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
45812         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
45813         (update-copyright): Don't force inclusion of top-level
45814         ChangeLog.  Don't force exclusion of all COPYING files, but make
45815         them the default exclusion instead.
45816
45817 2009-08-16  Bruno Haible  <bruno@clisp.org>
45818
45819         Fix test failures on Solaris 10.
45820         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
45821         tests when Solaris iconv() is used.
45822         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
45823         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
45824         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
45825         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
45826         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
45827
45828 2009-08-16  Bruno Haible  <bruno@clisp.org>
45829
45830         Fix test failures on Solaris 10.
45831         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
45832         'tr' program and pass it as first argument.
45833         * tests/test-pipe-filter-gi1.sh: Likewise.
45834         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
45835         program as first argument.
45836         * tests/test-pipe-filter-gi1.c (main): Likewise.
45837
45838 2009-08-16  Eric Blake  <ebb9@byu.net>
45839
45840         fpurge: fix previous commits
45841         * modules/fpurge (Makefile.am): Make replacement conditional,
45842         partially reverting 2007-04-29 change; missed in previous
45843         attempt.
45844         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
45845         is missing.
45846
45847 2009-08-16  Bruno Haible  <bruno@clisp.org>
45848
45849         Clarify fpurge's effect on the file position.
45850         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
45851         * tests/test-fpurge.c (main): Make a second pass for checking the file
45852         position.
45853
45854 2009-08-16  Bruno Haible  <bruno@clisp.org>
45855
45856         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
45857         declaration of fpurge is missing.
45858         * tests/test-fpurge.c (main): Check that the file has not more contents
45859         than expected. Close the file before removing it.
45860
45861 2009-08-15  Eric Blake  <ebb9@byu.net>
45862
45863         fpurge: don't wrap working cygwin implementation
45864         * lib/fpurge.c (fpurge): Fix comment typo.
45865         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
45866         1.7 to avoid replacement.
45867         * tests/test-fpurge.c (main): Enhance test.
45868
45869 2009-08-15  Eric Blake  <ebb9@byu.net>
45870         and Jim Meyering  <meyering@redhat.com>
45871
45872         test-update-copyright: skip if perl is insufficient
45873         * tests/test-update-copyright.sh: Failure to run maintainer tool
45874         should not cause testsuite failure on cygwin 1.5.
45875
45876 2009-08-14  Eric Blake  <ebb9@byu.net>
45877
45878         doc: mention more functions added in cygwin 1.7.0
45879         * doc/posix-headers/limits.texi (limits.h): Update for recent
45880         cygwin additions.
45881         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
45882         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
45883         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
45884         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
45885         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
45886
45887 2009-08-14  Eric Blake  <ebb9@byu.net>
45888
45889         maint.mk: simplify update-copyright rule
45890         * top/maint.mk (update-copyright-local): Delete, and document how
45891         to do it in cfg.mk instead.
45892         (update-copyright-exclude-regexp): Delete, and document how to do
45893         it in .x-update-copyright instead.
45894         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
45895         exclude ChangeLog.
45896
45897 2009-08-14  Bruno Haible  <bruno@clisp.org>
45898
45899         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
45900
45901 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
45902
45903         maint.mk: support update-copyright-env
45904         * top/maint.mk (update-copyright-env): Define place-holder.
45905         (update-copyright): Expand $(update-copyright-env) before
45906         invoking update-copyright.
45907
45908 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
45909
45910         update-copyright: implement forced reformatting
45911         * build-aux/update-copyright: Implement and document
45912         UPDATE_COPYRIGHT_FORCE.
45913         * tests/test-update-copyright.sh: Test it.
45914
45915 2009-08-14  Eric Blake  <ebb9@byu.net>
45916         and Bruno Haible  <bruno@clisp.org>
45917
45918         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
45919         * tests/test-locale.c: Revert previous patch related to NULL.
45920         * tests/test-stdio.c: Likewise.
45921         * tests/test-stdlib.c: Likewise.
45922         * tests/test-string.c: Likewise.
45923         * tests/test-unistd.c: Likewise.
45924         * modules/time-tests (Depends-on): Add verify.
45925         * modules/wchar-tests (Depends-on): Likewise.
45926         * tests/test-time.c: Test for NULL compliance.
45927         * tests/test-wchar.c: Likewise.
45928         * modules/locale (Depends-on): Add stddef.
45929         * modules/stdio (Depends-on): Likewise.
45930         * modules/stdlib (Depends-on): Likewise.
45931         * modules/string (Depends-on): Likewise.
45932         * modules/time (Depends-on): Likewise.
45933         * modules/unistd (Depends-on): Likewise.
45934         * modules/wchar (Depends-on): Likewise.
45935         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
45936         * lib/stdlib.in.h (includes): Likewise.
45937         * lib/string.in.h (includes): Likewise.
45938         * lib/time.in.h (includes): Likewise.
45939         * lib/unistd.in.h (includes): Likewise.
45940         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
45941         replaced.
45942         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
45943         * m4/stddef_h.m4: New file.
45944         * modules/stddef: Likewise.
45945         * lib/stddef.in.h: Likewise.
45946         * modules/stddef-tests: Likewise.
45947         * tests/test-stddef.c: Likewise.
45948         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
45949         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
45950         * doc/posix-headers/locale.texi (locale.h): Likewise.
45951         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
45952         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
45953         * doc/posix-headers/string.texi (string.h): Likewise.
45954         * doc/posix-headers/time.texi (time.h): Likewise.
45955         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
45956         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
45957
45958 2009-08-14  Eric Blake  <ebb9@byu.net>
45959
45960         doc: improve git diff of texinfo files
45961         * .gitattributes: Add rule for *.texi files, with hint on how to
45962         use it.
45963         Copied from m4, and based on a report by Bruno Haible.
45964
45965 2009-08-14  Bruno Haible  <bruno@clisp.org>
45966
45967         Disable multithread support by default on Cygwin 1.5.x for real.
45968         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
45969
45970 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
45971
45972         update-copyright: much ado about intervals
45973         * build-aux/update-copyright: Implement and document
45974         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
45975         of copyright year intervals.
45976         Also, document UPDATE_COPYRIGHT_YEAR.
45977         * tests/test-update-copyright.sh: Test it.
45978
45979         update-copyright: convert 2-digit to 4-digit years
45980         * build-aux/update-copyright: Implement and document.
45981         * tests/test-update-copyright.sh: Update.
45982
45983 2009-08-14  Jim Meyering  <meyering@redhat.com>
45984
45985         test-exclude: avoid coreutils "make check" failure
45986         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
45987         just as in test-argmatch.c.
45988
45989 2009-08-13  Eric Blake  <ebb9@byu.net>
45990
45991         test-dup2: fix bad assumption
45992         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
45993         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
45994
45995         test-version-etc: fix CRLF portability issue
45996         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
45997         recognize \r.
45998         * tests/test-argp-version-etc-1.sh: Likewise.
45999
46000         getopt: update client modules
46001         * modules/argp (Depends-on): Use getopt-gnu.
46002         * modules/git-merge-changelog (Depends-on): Likewise.
46003         * modules/long-options (Depends-on): Likewise.
46004         * modules/xstrtol (Depends-on): Likewise.
46005
46006 2009-08-13  Simon Josefsson  <simon@josefsson.org>
46007
46008         * tests/test-version-etc.sh: Don't fail on different
46009         project/version.  Don't fail on CRLF differences.  Rewrite to use
46010         multiple -e instead of multiple sed forks, suggested by Eric Blake
46011         <ebb9@byu.net>.
46012         * tests/test-argp-version-etc-1.sh: Likewise.
46013
46014 2009-08-13  Simon Josefsson  <simon@josefsson.org>
46015
46016         * tests/test-version-etc.sh: Don't fail on different
46017         project/version.
46018
46019 2009-08-12  Bruno Haible  <bruno@clisp.org>
46020
46021         Tests for modules 'getopt-posix', 'getopt-gnu'.
46022         * modules/getopt-posix-tests: New file.
46023         * tests/test-getopt.c: New file.
46024         * tests/test-getopt.h: New file.
46025         * tests/test-getopt_long.h: New file.
46026
46027         New modules 'getopt-posix', 'getopt-gnu'.
46028         * modules/getopt-gnu: New file, renamed from modules/getopt.
46029         * modules/getopt-posix: New file.
46030         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
46031         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
46032         (gl_GETOPT): Remove macro.
46033         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
46034         Disable the test against BSD systems that declare optreset. Test
46035         against mingw bug. Test against lack of support of optional arguments
46036         on many platforms.
46037         * doc/glibc-headers/getopt.texi: Update module name and list of
46038         relevant platforms.
46039         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
46040         'getopt-gnu' and more portability problems.
46041         * NEWS: Mention the changes.
46042
46043 2009-08-12  Bruno Haible  <bruno@clisp.org>
46044
46045         Ensure that optarg etc. get declared by <unistd.h>.
46046         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
46047         AC_USE_SYSTEM_EXTENSIONS.
46048         * modules/getopt (Depends-on): Add 'extensions'.
46049
46050 2009-08-12  Bruno Haible  <bruno@clisp.org>
46051
46052         Avoid test link errors.
46053         * modules/pipe-filter-ii-tests (Makefile.am): Define
46054         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
46055         * modules/pipe-filter-gi-tests (Makefile.am): Define
46056         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
46057         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46058
46059 2009-08-12  Bruno Haible  <bruno@clisp.org>
46060
46061         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
46062         gl_GETOPT_SUBSTITUTE before.
46063         (gl_GETOPT): Use it.
46064         * m4/argp.m4 (gl_ARGP): Update.
46065         Reported by Sergey Poznyakoff.
46066
46067         * m4/getopt.m4: Reorder macros.
46068         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
46069         (gl_GETOPT_SUBSTITUTE): Remove macro.
46070
46071 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
46072
46073         Minor improvement in gitlog-to-changelog
46074
46075         * build-aux/gitlog-to-changelog: New option `--format' makes
46076         output format string configurable.
46077
46078 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
46079
46080         Optimize exclude: use hash tables for non-wildcard patterns.
46081
46082         * lib/exclude.c: Include hash.h and mbuiter.h
46083         (struct exclude_pattern, exclude_segment): New data types.
46084         (struct exclude): Rewrite.
46085         (fnmatch_pattern_has_wildcards): New function.
46086         (new_exclude_segment, free_exclude_segment): New functions.
46087         (excluded_file_pattern_p, excluded_file_name_p): New functions.
46088         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
46089         * lib/exclude.h (is_fnmatch_pattern): New prototype.
46090         * modules/exclude: Depend on hash and mbuiter.
46091
46092         * modules/exclude-tests: New file.
46093         * tests/test-exclude.c: New file.
46094         * tests/test-exclude1.sh: New file.
46095         * tests/test-exclude2.sh: New file.
46096         * tests/test-exclude3.sh: New file.
46097         * tests/test-exclude4.sh: New file.
46098         * tests/test-exclude5.sh: New file.
46099         * tests/test-exclude6.sh: New file.
46100         * tests/test-exclude7.sh: New file.
46101
46102 2009-08-12  Bruno Haible  <bruno@clisp.org>
46103
46104         Ensure that getopt() gets declared by <unistd.h>.
46105         * lib/unistd.in.h: Conditionally include getopt.h.
46106         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
46107         Set GNULIB_UNISTD_H_GETOPT.
46108         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
46109         GNULIB_UNISTD_H_GETOPT.
46110         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
46111
46112 2009-08-12  Bruno Haible  <bruno@clisp.org>
46113
46114         Clarify logic.
46115         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
46116         gl_replace_getopt instead of GETOPT_H.
46117
46118 2009-08-12  Bruno Haible  <bruno@clisp.org>
46119
46120         * m4/getopt.m4: Add comments.
46121
46122 2009-08-12  Bruno Haible  <bruno@clisp.org>
46123
46124         Disable multithread support by default on Cygwin 1.5.x.
46125         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
46126         set gl_use_threads=no if not specified otherwise.
46127
46128 2009-08-11  Bruno Haible  <bruno@clisp.org>
46129
46130         Avoid compilation error on NetBSD 5.0.
46131         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
46132         * tests/test-stdio.c: Likewise.
46133         * tests/test-stdlib.c: Likewise.
46134         * tests/test-string.c: Likewise.
46135         * tests/test-unistd.c: Likewise.
46136         Reported by Greg Troxel <gdt@ir.bbn.com>
46137         at <https://savannah.gnu.org/support/?106973>.
46138
46139 2009-08-11  Bruno Haible  <bruno@clisp.org>
46140
46141         * modules/dup2-tests (Depends-on): Remove close.
46142
46143         Undo 2009-07-19 commit.
46144         * modules/acl-tests (Depends-on): Remove close.
46145         * modules/binary-io-tests (Depends-on): Likewise.
46146         * modules/closein-tests (Depends-on): Likewise.
46147         * modules/flock-tests (Depends-on): Likewise.
46148         * modules/fsync-tests (Depends-on): Likewise.
46149         * modules/lseek-tests (Depends-on): Likewise.
46150         * modules/pipe-tests (Depends-on): Likewise.
46151         * modules/posix_spawn-tests (Depends-on): Likewise.
46152         * modules/posix_spawnp-tests (Depends-on): Likewise.
46153         * modules/stat-time-tests (Depends-on): Likewise.
46154         * modules/yesno-tests (Depends-on): Likewise.
46155
46156 2009-08-10  Bruno Haible  <bruno@clisp.org>
46157
46158         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
46159
46160 2009-08-10  Bruno Haible  <bruno@clisp.org>
46161
46162         Fix a gcc warning.
46163         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
46164
46165 2009-08-10  Bruno Haible  <bruno@clisp.org>
46166
46167         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
46168         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
46169         not only the first time.
46170         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
46171         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
46172         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
46173         is 1, not only the the first time.
46174
46175 2009-08-10  Bruno Haible  <bruno@clisp.org>
46176
46177         Make it possible to use module 'gethostname' without module 'close'.
46178         * lib/unistd.in.h (close): Evoke a link error only if
46179         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
46180         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
46181         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
46182         * modules/unistd (Makefile.am): Substitute
46183         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
46184         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
46185         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
46186         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
46187         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
46188         * modules/sys_ioctl (Makefile.am): Substitute
46189         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
46190         * modules/socket (configure.ac): On native Windows, set
46191         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
46192         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
46193         Reported by Sam Steingold <sds@gnu.org>.
46194
46195 2009-08-10  Bruno Haible  <bruno@clisp.org>
46196
46197         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
46198         * modules/ioctl (configure.ac): Likewise.
46199
46200 2009-08-10  Bruno Haible  <bruno@clisp.org>
46201
46202         Avoid collision between gnulib wrapper and libintl wrapper.
46203         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
46204         already defined in intl/printf.c.
46205         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
46206         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
46207
46208 2009-08-09  Bruno Haible  <bruno@clisp.org>
46209
46210         Make <sys/select.h> really self-contained, also on Solaris 10.
46211         * lib/sys_select.in.h: Include <string.h>.
46212         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
46213         Solaris 10 problem.
46214         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
46215         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
46216         Reported by Jim Meyering.
46217
46218 2009-08-09  Bruno Haible  <bruno@clisp.org>
46219
46220         Avoid warnings from 'aclocal' that are due to a use of macro name
46221         AM_XGETTEXT_OPTION that is not defined in automake.
46222         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
46223         automake.
46224         * modules/error (configure.ac): Likewise.
46225         * modules/propername (configure.ac): Likewise.
46226         * modules/vasprintf (configure.ac): Likewise.
46227         * modules/verror (configure.ac): Likewise.
46228         * modules/xprintf (configure.ac): Likewise.
46229         * modules/xvasprintf (configure.ac): Likewise.
46230
46231 2009-08-08  Bruno Haible  <bruno@clisp.org>
46232
46233         Avoid compilation error in C++ mode.
46234         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
46235         Reported by Sam Steingold <sds@gnu.org>.
46236
46237 2009-08-08  Bruno Haible  <bruno@clisp.org>
46238
46239         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
46240         for the various Unix platforms.
46241         * doc/posix-headers/limits.texi: Update platforms list regarding
46242         HOST_NAME_MAX.
46243         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46244
46245 2009-08-07  Jim Meyering  <meyering@redhat.com>
46246
46247         selinux-at: fix typo in a comment
46248         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
46249         Spotted by Paolo Bonzini.
46250
46251         selinux-at: remove redundant m4 code, add documentation
46252         * modules/selinux-at (configure.ac): Remove redundant code.
46253         LIB_SELINUX is already set via the dependent module, selinux-h.
46254         (Include): Add quotes around selinux-at.h.
46255         * lib/selinux-at.h: Add documentation.
46256         Reported by Bruno Haible in
46257         http://marc.info/?l=gnulib-bug&m=124958988300749
46258
46259 2009-08-07  Bruno Haible  <bruno@clisp.org>
46260
46261         Avoid link error on MacOS X 10.3 and 10.4.
46262         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
46263         on non-ELF systems.
46264         * lib/argp-pv.c (argp_program_version): Likewise.
46265         Reported by Simon Josefsson.
46266
46267 2009-08-07  Simon Josefsson  <simon@josefsson.org>
46268
46269         * tests/test-version-etc.sh: Use $EXEEXT.
46270
46271 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
46272
46273         update-copyright: update documentation to point to maint.mk
46274         * build-aux/update-copyright: Here.
46275
46276 2009-08-06  Jim Meyering  <meyering@redhat.com>
46277
46278         maint.mk: support update-copyright-local
46279         * top/maint.mk (update-copyright-local): Define place-holder.
46280         (update-copyright): Depend on $(update-copyright-local).
46281
46282 2009-08-06  Jim Meyering  <meyering@redhat.com>
46283
46284         selinux-at: new module
46285         Initially written for coreutils, this module will soon be
46286         used by findutils, too.
46287         * MODULES.html.sh [Misc]: Add selinux-at.
46288         * lib/selinux-at.h: New file, from coreutils.
46289         * lib/selinux-at.c: Likewise.
46290         * modules/selinux-at: Likewise.
46291         (License): Change from LGPL to GPL, since it depends
46292         on the GPL'd openat module.
46293
46294         doc: update README
46295         * README: Remove references to cogito.
46296         Remove cvs-repo-updating instructions from 2007.
46297         Don't imply that CVS is better if you have limited disk space.
46298
46299 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
46300
46301         update-copyright: support C-style comments
46302         * build-aux/update-copyright: Implement and document.
46303         * tests/test-update-copyright.sh: Test.
46304
46305 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
46306
46307         update-copyright: support omitted "(C)"
46308         * build-aux/update-copyright: Implement and document.  Also,
46309         allow variable whitespace before "(C)".
46310         * tests/test-update-copyright.sh: Test.
46311
46312 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
46313
46314         update-copyright: don't trip on non-FSF copyright statements
46315         * build-aux/update-copyright: Fix so that the first correctly
46316         formatted FSF copyright statement is recognized no matter what
46317         appears before it.  Update documentation.
46318         * tests/test-update-copyright.sh: Test that.
46319
46320 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
46321
46322         update-copyright: clean up code a little
46323         * build-aux/update-copyright: Append "_re" to the name of any
46324         variable holding a regular expression.
46325         Replace "old" and "new" with "stmt" in variable names.
46326         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
46327         handled correctly.
46328         Format code more consistently.
46329
46330 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
46331
46332         update-copyright-tests: improve portability
46333         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
46334         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
46335
46336 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
46337
46338         update-copyright: support @copyright{} and &copy;
46339         * build-aux/update-copyright: Implement and document.
46340         * tests/test-update-copyright.sh: Test.
46341
46342 2009-08-04  Jim Meyering  <meyering@redhat.com>
46343
46344         update-copyright-tests: correctly test EOL=\r\n handling
46345         * tests/test-update-copyright.sh: Put \r at the end of some lines
46346         for the dos-eol tests.  Based on a patch by Joel E. Denny.
46347
46348         maint.mk: make update-copyright exclusion list more configurable
46349         * top/maint.mk (update-copyright): Default to excluding COPYING,
46350         but allow an override, in case someone does want to update that file.
46351
46352         maint.mk: don't update copyright date in COPYING
46353         * top/maint.mk (update-copyright): Exclude COPYING.
46354
46355         maint.mk: add a copyright-updating rule
46356         * top/maint.mk (update-copyright): New rule.
46357         Derived from coreutils/Makefile.am.
46358
46359         update-copyright: rename some variables
46360         * build-aux/update-copyright: Rename a few variables for clarity.
46361         Tweak syntax.  List Joel E. Denny as coauthor.
46362
46363 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
46364
46365         update-copyright: fix bug for 2-digit last year and add tests
46366         * build-aux/update-copyright: Fix bug.
46367         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
46368         specified.
46369         * modules/update-copyright-tests: New
46370         * tests/test-update-copyright.sh: New.
46371
46372 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
46373
46374         update-copyright: handle leading tabs in line prefix
46375         * build-aux/update-copyright: Count leading tabs as 8 spaces
46376         when computing margin.  This helps with the formatting of
46377         ChangeLogs, for example.
46378         Fix documentation a little.
46379
46380 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
46381
46382         update-copyright: support EOL=\r\n
46383         * build-aux/update-copyright: Implement that.
46384
46385 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
46386
46387         update-copyright: automatically format copyright statements
46388         * build-aux/update-copyright: Implement that.
46389         Also, be a little more predictable and safer by always failing
46390         when the full copyright format is not perfectly recognized as an
46391         unbroken whole.  Discussed at
46392         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
46393         Rewrite documentation.
46394
46395 2009-08-03  Bruno Haible  <bruno@clisp.org>
46396
46397         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
46398
46399 2009-08-02  Bruno Haible  <bruno@clisp.org>
46400
46401         Tests for module 'uname'.
46402         * modules/uname-tests: New file.
46403         * tests/test-uname.c: New file.
46404
46405         New module 'uname'.
46406         * lib/uname.c: New file.
46407         * m4/uname.m4: New file.
46408         * modules/uname: New file.
46409         * doc/posix-functions/uname.texi: Mention the new module.
46410
46411 2009-08-02  Bruno Haible  <bruno@clisp.org>
46412
46413         Tests for module 'sys_utsname'.
46414         * modules/sys_utsname-tests: New file.
46415         * tests/test-sys_utsname.c: New file.
46416
46417         New module 'sys_utsname'.
46418         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
46419         * m4/sys_utsname_h.m4: New file.
46420         * modules/sys_utsname: New file.
46421         * doc/posix-headers/sys_utsname.texi: Mention the new module.
46422
46423 2009-08-02  Bruno Haible  <bruno@clisp.org>
46424
46425         Implicitly initialize the sockets library.
46426         * lib/gethostname.c: Include sockets.h.
46427         (rpl_gethostname): Invoke gl_sockets_startup.
46428         * lib/socket.c: Include sockets.h.
46429         (rpl_socket): Invoke gl_sockets_startup.
46430         * modules/gethostname (Depends-on): Add sockets.
46431         * modules/socket (Depends-on): Likewise.
46432         * tests/test-poll.c: Don't include sockets.h.
46433         (main): Don't invoke gl_sockets_startup.
46434         * tests/test-select.c: Don't include sockets.h.
46435         (main): Don't invoke gl_sockets_startup.
46436
46437 2009-08-02  Bruno Haible  <bruno@clisp.org>
46438
46439         Allow multiple calls to gl_sockets_startup.
46440         * lib/sockets.c (initialized_sockets_version): New variable.
46441         (gl_sockets_startup): Do nothing if already called for this or a higher
46442         version.
46443         (gl_sockets_cleanup): Reset initialized_sockets_version.
46444
46445 2009-08-03  Simon Josefsson  <simon@josefsson.org>
46446
46447         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
46448         different project/version.
46449
46450 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
46451             Bruno Haible  <bruno@clisp.org>
46452
46453         Tests for module 'pipe-filter-gi'.
46454         * modules/pipe-filter-gi-tests: New file.
46455         * tests/test-pipe-filter-gi1.sh: New file.
46456         * tests/test-pipe-filter-gi1.c: New file.
46457         * tests/test-pipe-filter-gi2.sh: New file.
46458         * tests/test-pipe-filter-gi2-main.c: New file.
46459         * tests/test-pipe-filter-gi2-child.c: New file.
46460
46461         New module 'pipe-filter-gi'.
46462         * lib/pipe-filter-gi.c: New file.
46463         * modules/pipe-filter-gi: New file.
46464
46465 2009-08-02  Bruno Haible  <bruno@clisp.org>
46466             Paolo Bonzini  <bonzini@gnu.org>
46467
46468         Tests for module 'pipe-filter-ii'.
46469         * modules/pipe-filter-ii-tests: New file.
46470         * tests/test-pipe-filter-ii1.sh: New file.
46471         * tests/test-pipe-filter-ii1.c: New file.
46472         * tests/test-pipe-filter-ii2.sh: New file.
46473         * tests/test-pipe-filter-ii2-main.c: New file.
46474         * tests/test-pipe-filter-ii2-child.c: New file.
46475
46476         New module 'pipe-filter-ii'.
46477         * lib/pipe-filter.h: New file.
46478         * lib/pipe-filter-ii.c: New file.
46479         * lib/pipe-filter-aux.h: New file.
46480         * modules/pipe-filter-ii: New file.
46481
46482 2009-08-02  Simon Josefsson  <simon@josefsson.org>
46483
46484         * lib/gc-libgcrypt.c: Change copyright to FSF.
46485         * lib/gc-gnulib.c: Likewise.
46486
46487 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
46488
46489         * lib/gethostname.c: Include limits.h.
46490
46491 2009-08-02  Simon Josefsson  <simon@josefsson.org>
46492             Bruno Haible  <bruno@clisp.org>
46493
46494         Ensure HOST_NAME_MAX as part of the gethostname module.
46495         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
46496         define also HOST_NAME_MAX.
46497         * tests/test-gethostname.c: Include <limits.h>.
46498         (main): Check also HOST_NAME_MAX.
46499         * doc/posix-headers/limits.texi: Document the mingw problem.
46500
46501 2009-08-02  Bruno Haible  <bruno@clisp.org>
46502
46503         * lib/gethostname.c (gethostname): Fix handling of large len argument.
46504         Add comments.
46505
46506 2009-03-31  Simon Josefsson  <simon@josefsson.org>
46507
46508         * lib/gethostname.c: Add Windows wrapper.
46509         * m4/gethostname.m4: Look for gethostname in -lws2_32.
46510         * modules/gethostname: Depend on sys_socket & errno, for also
46511         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
46512         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
46513
46514 2009-07-31  Jim Meyering  <meyering@redhat.com>
46515
46516         getloadavg: fix symbol name in comment
46517         * lib/getloadavg.c: Correct a typo I introduced when adding
46518         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
46519         Matt Kraai spotted the problem.
46520
46521 2009-07-29  Matt Kraai  <mkraai@beckman.com>
46522
46523         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
46524         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
46525         code also if ! defined N_NAME_POINTER.
46526         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
46527         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
46528         but the n_name member is a 12-byte array.
46529
46530 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
46531
46532         update-copyright: generalize comment handling
46533         * build-aux/update-copyright: Handle copyright statements
46534         within more comment styles.
46535         Document usage.
46536         Report any file with an external copyright holder or parse failure.
46537
46538 2009-07-29  Jim Meyering  <meyering@redhat.com>
46539
46540         mktime: correct setting of REPLACE_MKTIME
46541         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
46542
46543         update-copyright: new module
46544         * modules/update-copyright: New file.
46545         * build-aux/update-copyright: New file.
46546         * MODULES.html.sh (maint+release support): Add update-copyright.
46547
46548 2009-07-27  Bruno Haible  <bruno@clisp.org>
46549
46550         Fix compilation error when <ctime> is used and mktime is replaced.
46551         * lib/time.in.h (mktime): New declaration.
46552         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
46553         REPLACE_MKTIME instead of defining mktime in config.h.
46554         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
46555         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
46556         Reported by Ross McFarland <rwmcfa1@neces.com>.
46557
46558 2009-07-27  Bruno Haible  <bruno@clisp.org>
46559
46560         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
46561         Reported by Matt Kraai <mkraai@beckman.com>.
46562
46563 2009-07-25  Jim Meyering  <meyering@redhat.com>
46564
46565         maint.mk: avoid warnings about missing files
46566         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
46567         diagnostic when .prev-version does not exist.
46568         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
46569         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
46570         nonexistent cfg.mk.
46571         Suggestions from Simon Josefsson.
46572
46573 2009-07-25  Bruno Haible  <bruno@clisp.org>
46574
46575         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
46576         defined as macros. Needed on QNX 6.4.1.
46577         Reported by Matt Kraai <mkraai@beckman.com>.
46578
46579 2009-07-23  Jim Meyering  <meyering@redhat.com>
46580
46581         maint.mk: invoke "make dist" with a working value of XZ_OPT
46582         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
46583
46584 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
46585
46586         Make fseeko.c compile on QNX.
46587         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
46588
46589 2009-07-22  Peter Simons  <simons@cryp.to>
46590
46591         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
46592         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
46593         * lib/md4.h: Likewise.
46594         * lib/md5.h: Likewise.
46595         * lib/sha1.h: Likewise.
46596         * lib/sha256.h: Likewise.
46597         * lib/sha512.h: Likewise.
46598
46599         tests-sha1: don't assign literal string to 'char *' variable
46600         * tests/test-sha1.c (main): Declare locals with "const" to match
46601         attributes of the right hand side.
46602
46603 2009-07-21  Eric Blake  <ebb9@byu.net>
46604
46605         dup2: fix more mingw problems
46606         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
46607         fd to itself.
46608         * doc/posix-functions/dup2.texi (dup2): Document the bug.
46609         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
46610         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
46611         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
46612         care of mingw bugs.
46613
46614 2009-07-21  Jim Meyering  <meyering@redhat.com>
46615
46616         vc-list-files: avoid failure when /bin/sh is dash
46617         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
46618         On some Debian based systems, /bin/sh is a symlink to dash, and running
46619         this command would omit the "/" following each 'tests' prefix:
46620           dash -x build-aux/vc-list-files -C . tests
46621         That is because bash and dash work differently:
46622           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
46623           bash ok
46624           dash odd
46625
46626 2009-07-21  Eric Blake  <ebb9@byu.net>
46627
46628         dup2-tests: test previous patch
46629         * modules/dup2-tests: New file.
46630         * tests/test-dup2.c: Likewise.
46631         * tests/test-open.c (main): Avoid unspecified behavior.
46632         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
46633         test.
46634
46635         dup2: work around mingw and cygwin 1.5 bug
46636         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
46637         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
46638         * modules/unistd (Makefile.am): Substitute it.
46639         * lib/unistd.in.h (dup2): Declare the replacement.
46640         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
46641         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
46642         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
46643         * modules/execute (Depends-on): Add dup2.
46644         * modules/fseterr (Depends-on): Likewise.
46645         * modules/pipe (Depends-on): Likewise.
46646         * modules/posix_spawn-internal (Depends-on): Likewise.
46647
46648 2009-07-21  Bruno Haible  <bruno@clisp.org>
46649
46650         * modules/.gitattributes: New file.
46651
46652 2009-07-20  Bruno Haible  <bruno@clisp.org>
46653
46654         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
46655         (main): Use it.
46656
46657 2009-07-20  Eric Blake  <ebb9@byu.net>
46658
46659         test-pipe: make a bit more robust.
46660         * tests/test-pipe.c (myerr): Allow error messages regardless of
46661         what we do to stderr.
46662         (test_pipe): Rearrange to avoid deadlock.
46663         (child_main): Try a larger read, to ensure we avoided deadlock.
46664         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
46665         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
46666         if misused.
46667
46668 2009-07-19  Jim Meyering  <meyering@redhat.com>
46669
46670         fts: avoid false-positive cycle-detection
46671         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
46672         for each new command line argument.
46673
46674 2009-07-19  Bruno Haible  <bruno@clisp.org>
46675
46676         Fix build error on mingw with the modules sys_select and unistd.
46677         * modules/acl-tests (Depends-on): Add close.
46678         * modules/binary-io-tests (Depends-on): Likewise.
46679         * modules/closein-tests (Depends-on): Likewise.
46680         * modules/flock-tests (Depends-on): Likewise.
46681         * modules/fsync-tests (Depends-on): Likewise.
46682         * modules/lseek-tests (Depends-on): Likewise.
46683         * modules/pipe-tests (Depends-on): Likewise.
46684         * modules/posix_spawn-tests (Depends-on): Likewise.
46685         * modules/posix_spawnp-tests (Depends-on): Likewise.
46686         * modules/stat-time-tests (Depends-on): Likewise.
46687         * modules/yesno-tests (Depends-on): Likewise.
46688
46689 2009-07-19  Bruno Haible  <bruno@clisp.org>
46690
46691         Unify conditionals.
46692         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
46693         macros, not at the compiler macros.
46694         * lib/pipe.c: Likewise.
46695         * lib/execute.c: Likewise.
46696         * lib/spawni.c: Likewise.
46697
46698 2009-07-19  Bruno Haible  <bruno@clisp.org>
46699
46700         Fix handling of closed stdin/stdout/stderr on mingw.
46701         * lib/w32spawn.h: Include unistd.h.
46702         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
46703         file descriptor with O_NOINHERIT flag.
46704         (fd_safer_noinherit): New function, based on fd-safer.c.
46705         (dup_safer_noinherit): New function, based on dup-safer.c.
46706         (undup_safer_noinherit): New function.
46707         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
46708         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
46709         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
46710         instead of fd_safer.
46711         * tests/test-pipe.c: Include <windows.h>.
46712         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
46713         result.
46714
46715         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
46716         from main.
46717         (test_pipe): Pass an extra argument for disambiguation.
46718         (main): Invoke parent_main or child_main.
46719
46720         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
46721         consistently.
46722
46723 2009-07-18  Eric Blake  <ebb9@byu.net>
46724
46725         test-pipe: fix mingw build
46726         * tests/test-pipe.c (main): Avoid fcntl on mingw.
46727
46728 2009-07-18  Bruno Haible  <bruno@clisp.org>
46729
46730         * modules/pipe-tests (Makefile.am): Fix typo.
46731
46732 2009-07-18  Eric Blake  <ebb9@byu.net>
46733
46734         error: fix mingw build
46735         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
46736         Reported by Bruno Haible.
46737
46738         error: avoid undefined use of stdout
46739         * lib/error.c (error, error_at_line): Check that fd 1 is open
46740         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
46741         is handling faults and the close_stdout module wants to report the
46742         detection of closed stdout as an error.
46743
46744 2009-07-17  Eric Blake  <ebb9@byu.net>
46745
46746         pipe: be robust in face of closed fds
46747         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
46748         should cause child to misbehave.
46749         * modules/pipe-tests: New module.
46750         * tests/test-pipe.c: New file.
46751         * tests/test-pipe.sh: New file.
46752         Reported by Akim Demaille.
46753
46754 2009-07-14  Bruno Haible  <bruno@clisp.org>
46755
46756         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
46757         Reported by anonymous kc.
46758
46759 2009-07-07  Jim Meyering  <meyering@redhat.com>
46760
46761         maint.mk: don't look for translatable strings in *.m4 or *.mk
46762         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
46763         when searching for translatable strings.
46764
46765 2009-07-05  Jim Meyering  <meyering@redhat.com>
46766
46767         remove superfluous parentheses in STREQ definition
46768         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
46769         * lib/getugroups.c (STREQ): Likewise.
46770         * lib/fnmatch.c (STREQ): Likewise.
46771         Spotted by Bruno Haible.
46772
46773 2009-07-04  Jim Meyering  <meyering@redhat.com>
46774
46775         argv-iter: new module
46776         * MODULES.html.sh: Add argv-iter.
46777         * lib/argv-iter.c, lib/argv-iter.h: New files.
46778         * modules/argv-iter: New file.
46779         * modules/argv-iter-tests: New file.
46780         * tests/test-argv-iter.c: Test it.
46781
46782 2009-07-04  Bruno Haible  <bruno@clisp.org>
46783
46784         Fix assertion.
46785         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
46786         contains more exact copies of a given entry than file2, leave the extra
46787         copies unpaired rather than aborting.
46788         Reported by Eric Blake.
46789
46790 2009-07-02  Bruno Haible  <bruno@clisp.org>
46791
46792         Speedup git-merge-changelog for git cherry-pick.
46793         * lib/git-merge-changelog.c (struct entries_mapping): New type.
46794         (entries_mapping_get): New function, extracted from compute_mapping.
46795         (entries_mapping_reverse_get): New function.
46796         (compute_mapping): Add a 'full' argument. Return the result in a
46797         'struct entries_mapping'.
46798         (main): Update. Access the mappings through entries_mapping_get.
46799         Reported by Eric Blake.
46800
46801 2009-07-02  Bruno Haible  <bruno@clisp.org>
46802
46803         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
46804         best_i.
46805
46806 2009-07-02  Bruno Haible  <bruno@clisp.org>
46807
46808         Speed up approximate search for matching ChangeLog entries.
46809         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
46810         argument. Call fstrcmp_bounded instead of fstrcmp.
46811         (compute_mapping, try_split_merged_entry, main): Update callers.
46812
46813 2009-07-02  Bruno Haible  <bruno@clisp.org>
46814
46815         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
46816
46817 2009-06-30  Bruno Haible  <bruno@clisp.org>
46818
46819         Reduce the number of uc_is_cased calls.
46820         * lib/unicase.h (casing_suffix_context_t): Add
46821         'first_char_except_ignorable' field.
46822         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
46823         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
46824         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
46825         Update initializer.
46826         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
46827         case-ignorable characters.
46828         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
46829         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
46830         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
46831         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
46832         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
46833
46834 2009-06-30  Bruno Haible  <bruno@clisp.org>
46835
46836         Tests for module 'unicase/ignorable'.
46837         * modules/unicase/ignorable-tests: New file.
46838         * tests/unicase/test-ignorable.c: New file, generated by
46839         gen-uni-tables.
46840
46841         Tests for module 'unicase/cased'.
46842         * modules/unicase/cased-tests: New file.
46843         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
46844         * tests/unicase/test-predicate-part1.h: New file, derived from
46845         tests/unictype/test-predicate-part1.h.
46846         * tests/unicase/test-predicate-part2.h: New file, same as
46847         tests/unictype/test-predicate-part2.h.
46848
46849         Fix evaluation of "Before C" condition of FINAL_SIGMA.
46850         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
46851         (output_casing_properties): New function.
46852         (main): Call it.
46853         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
46854         * lib/unicase/cased.c: Include unictype/bitmap.h.
46855         (uc_is_cased): Define through a bitmap lookup.
46856         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
46857         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
46858         (uc_is_case_ignorable): Define through a bitmap lookup.
46859         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
46860         lib/unictype/bitmap.h.
46861         (Depends-on): Add inline. Clean up.
46862         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
46863         lib/unictype/bitmap.h.
46864         (Depends-on): Add inline. Clean up.
46865         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
46866         recognition.
46867         * tests/unicase/test-u16-tolower.c (main): Likewise.
46868         * tests/unicase/test-u32-tolower.c (main): Likewise.
46869
46870 2009-06-30  Bruno Haible  <bruno@clisp.org>
46871
46872         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
46873         * lib/unicase/u16-casemap.c: Likewise.
46874         * lib/unicase/u32-casemap.c: Likewise.
46875
46876 2009-06-29  Bruno Haible  <bruno@clisp.org>
46877
46878         Define u32_casefold as a wrapper around u32_ct_casefold.
46879         * lib/unicase/u32-casefold.c: Update.
46880         * modules/unicase/u32-casefold (Depends-on): Add
46881         unicase/u32-ct-casefold, unicase/empty-prefix-context,
46882         unicase/empty-suffix-context. Clean up.
46883
46884         Define u16_casefold as a wrapper around u16_ct_casefold.
46885         * lib/unicase/u16-casefold.c: Update.
46886         * modules/unicase/u16-casefold (Depends-on): Add
46887         unicase/u16-ct-casefold, unicase/empty-prefix-context,
46888         unicase/empty-suffix-context. Clean up.
46889
46890         Define u8_casefold as a wrapper around u8_ct_casefold.
46891         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
46892         * lib/unicase/u8-casefold.c: Update.
46893         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
46894         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
46895
46896         Define u32_totitle as a wrapper around u32_ct_totitle.
46897         * lib/unicase/u32-totitle.c: Update.
46898         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
46899         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
46900
46901         Define u16_totitle as a wrapper around u16_ct_totitle.
46902         * lib/unicase/u16-totitle.c: Update.
46903         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
46904         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
46905
46906         Define u8_totitle as a wrapper around u8_ct_totitle.
46907         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
46908         functions.
46909         (FUNC): Delegate to U_CT_TOTITLE.
46910         * lib/unicase/u8-totitle.c: Update.
46911         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
46912         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
46913
46914         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
46915         invocation.
46916         * modules/unicase/u32-tolower (Depends-on): Add
46917         unicase/empty-prefix-context, unicase/empty-suffix-context.
46918
46919         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
46920         invocation.
46921         * modules/unicase/u16-tolower (Depends-on): Add
46922         unicase/empty-prefix-context, unicase/empty-suffix-context.
46923
46924         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
46925         * modules/unicase/u8-tolower (Depends-on): Add
46926         unicase/empty-prefix-context, unicase/empty-suffix-context.
46927
46928         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
46929         invocation.
46930         * modules/unicase/u32-toupper (Depends-on): Add
46931         unicase/empty-prefix-context, unicase/empty-suffix-context.
46932
46933         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
46934         invocation.
46935         * modules/unicase/u16-toupper (Depends-on): Add
46936         unicase/empty-prefix-context, unicase/empty-suffix-context.
46937
46938         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
46939         * modules/unicase/u8-toupper (Depends-on): Add
46940         unicase/empty-prefix-context, unicase/empty-suffix-context.
46941
46942         New module 'unicase/u32-ct-casefold'.
46943         * lib/unicase/u32-ct-casefold.c: New file.
46944         * modules/unicase/u32-ct-casefold: New file.
46945
46946         New module 'unicase/u16-ct-casefold'.
46947         * lib/unicase/u16-ct-casefold.c: New file.
46948         * modules/unicase/u16-ct-casefold: New file.
46949
46950         New module 'unicase/u8-ct-casefold'.
46951         * lib/unicase/u8-ct-casefold.c: New file.
46952         * lib/unicase/u-ct-casefold.h: New file, derived from
46953         lib/unicase/u-casefold.h.
46954         * modules/unicase/u8-ct-casefold: New file.
46955
46956         New module 'unicase/u32-ct-totitle'.
46957         * lib/unicase/u32-ct-totitle.c: New file.
46958         * modules/unicase/u32-ct-totitle: New file.
46959
46960         New module 'unicase/u16-ct-totitle'.
46961         * lib/unicase/u16-ct-totitle.c: New file.
46962         * modules/unicase/u16-ct-totitle: New file.
46963
46964         New module 'unicase/u8-ct-totitle'.
46965         * lib/unicase/u8-ct-totitle.c: New file.
46966         * lib/unicase/u-ct-totitle.h: New file, derived from
46967         lib/unicase/u-totitle.h.
46968         * modules/unicase/u8-ct-totitle: New file.
46969
46970         New module 'unicase/u32-ct-tolower'.
46971         * lib/unicase/u32-ct-tolower.c: New file.
46972         * modules/unicase/u32-ct-tolower: New file.
46973
46974         New module 'unicase/u16-ct-tolower'.
46975         * lib/unicase/u16-ct-tolower.c: New file.
46976         * modules/unicase/u16-ct-tolower: New file.
46977
46978         New module 'unicase/u8-ct-tolower'.
46979         * lib/unicase/u8-ct-tolower.c: New file.
46980         * modules/unicase/u8-ct-tolower: New file.
46981
46982         New module 'unicase/u32-ct-toupper'.
46983         * lib/unicase/u32-ct-toupper.c: New file.
46984         * modules/unicase/u32-ct-toupper: New file.
46985
46986         New module 'unicase/u16-ct-toupper'.
46987         * lib/unicase/u16-ct-toupper.c: New file.
46988         * modules/unicase/u16-ct-toupper: New file.
46989
46990         New module 'unicase/u8-ct-toupper'.
46991         * lib/unicase/u8-ct-toupper.c: New file.
46992         * modules/unicase/u8-ct-toupper: New file.
46993
46994         Add context arguments to u*_casemap functions.
46995         * lib/unicase/unicasemap.h: Include unicase.h.
46996         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
46997         suffix_context arguments.
46998         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
46999         functions.
47000         (FUNC): Add prefix_context and suffix_context arguments. Use
47001         uc_is_cased and uc_is_case_ignorable.
47002         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
47003         * lib/unicase/u16-casemap.c: Likewise.
47004         * lib/unicase/u32-casemap.c: Likewise.
47005         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
47006         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
47007         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
47008         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
47009         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
47010         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
47011
47012         New module 'unicase/u32-suffix-context'.
47013         * lib/unicase/u32-suffix-context.c: New file.
47014         * modules/unicase/u32-suffix-context: New file.
47015
47016         New module 'unicase/u16-suffix-context'.
47017         * lib/unicase/u16-suffix-context.c: New file.
47018         * modules/unicase/u16-suffix-context: New file.
47019
47020         New module 'unicase/u8-suffix-context'.
47021         * lib/unicase/u8-suffix-context.c: New file.
47022         * lib/unicase/u-suffix-context.h: New file.
47023         * modules/unicase/u8-suffix-context: New file.
47024
47025         New module 'unicase/empty-suffix-context'.
47026         * lib/unicase/empty-suffix-context.c: New file.
47027         * modules/unicase/empty-suffix-context: New file.
47028
47029         New module 'unicase/u32-prefix-context'.
47030         * lib/unicase/u32-prefix-context.c: New file.
47031         * modules/unicase/u32-prefix-context: New file.
47032
47033         New module 'unicase/u16-prefix-context'.
47034         * lib/unicase/u16-prefix-context.c: New file.
47035         * modules/unicase/u16-prefix-context: New file.
47036
47037         New module 'unicase/u8-prefix-context'.
47038         * lib/unicase/u8-prefix-context.c: New file.
47039         * lib/unicase/u-prefix-context.h: New file.
47040         * lib/unicase/context.h: New file.
47041         * modules/unicase/u8-prefix-context: New file.
47042
47043         New module 'unicase/empty-prefix-context'.
47044         * lib/unicase/empty-prefix-context.c: New file.
47045         * modules/unicase/empty-prefix-context: New file.
47046
47047         New module 'unicase/ignorable'.
47048         * lib/unicase/ignorable.c: New file.
47049         * modules/unicase/ignorable: New file.
47050
47051         New module 'unicase/cased'.
47052         * lib/unicase/caseprop.h: New file.
47053         * lib/unicase/cased.c: New file.
47054         * modules/unicase/cased: New file.
47055
47056         New functions for case mapping of substrings.
47057         * lib/unicase.h (casing_prefix_context_t): New type.
47058         (unicase_empty_prefix_context): New variable.
47059         (u8_casing_prefix_context, u16_casing_prefix_context,
47060         u32_casing_prefix_context, u8_casing_prefixes_context,
47061         u16_casing_prefixes_context, u32_casing_prefixes_context): New
47062         declarations.
47063         (casing_suffix_context_t): New type.
47064         (unicase_empty_suffix_context): New variable.
47065         (u8_casing_suffix_context, u16_casing_suffix_context,
47066         u32_casing_suffix_context, u8_casing_suffixes_context,
47067         u16_casing_suffixes_context, u32_casing_suffixes_context,
47068         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
47069         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
47070         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
47071         declarations.
47072
47073 2009-06-28  Jim Meyering  <meyering@redhat.com>
47074
47075         boostrap: indent only with spaces
47076         * build-aux/bootstrap: Indent only with spaces, never TABs.
47077
47078         bootstrap: split long lines
47079         * build-aux/bootstrap: Keep line length < 80.
47080
47081         bootstrap: sync from coreutils
47082         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
47083         just as autoreconf does.  Verify a list of prerequisite
47084         package-name,version-number pairs if defined in bootstrap.conf.
47085         Refer to README-prereq, if prerequisites are not satisfied.
47086
47087 2009-06-27  Eric Blake  <ebb9@byu.net>
47088
47089         tests: add test for bogus NULL definition
47090         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
47091         * tests/test-stdlib.c: Likewise.
47092         * tests/test-string.c: Likewise.
47093         * tests/test-locale.c: Likewise.
47094         * tests/test-unistd.c: Likewise.
47095         * modules/stdio-tests (Depends-on): Add verify.
47096         * modules/stdlib-tests (Depends-on): Likewise.
47097         * modules/string-tests (Depends-on): Likewise.
47098         * modules/locale-tests (Depends-on): Likewise.
47099         * modules/unistd-tests (Depends-on): Likewise.
47100
47101 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
47102
47103         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
47104         self-explaining comment.
47105         * m4/selinux-selinux-h: Update serial.
47106         (gl_LIBSELINUX): New macro, adding a warning for missing development
47107         packages to code extracted from...
47108         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
47109         Add warning for missing development packages here, too.
47110
47111 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
47112
47113         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
47114
47115 2009-06-25  Eric Blake  <ebb9@byu.net>
47116
47117         version-etc: fix regression
47118         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
47119         gcc.
47120         (version_etc): Use it, to catch bugs with trailing NULL.
47121         * lib/version-etc.c (version_etc_arn): Delete unused argument.
47122         (version_etc_va): Fix logic bug.
47123         * modules/version-etc-tests: Add test.
47124         * tests/test-version-etc.c: New file.
47125         * tests/test-version-etc.sh: Likewise.
47126
47127 2009-06-25  Sam Steingold  <sds@gnu.org>
47128
47129         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
47130         mbtowc declaration.
47131
47132 2009-06-25  Eric Blake  <ebb9@byu.net>
47133
47134         fpurge: migrate into <stdio.h>
47135         * lib/fpurge.h: Delete...
47136         * lib/stdio.in.h (fpurge): ...and declare here, instead.
47137         * lib/fpurge.c (fpurge): Change declaring header.
47138         * modules/fpurge (Files): Drop deleted file.
47139         (Depends-on): Add stdio.
47140         (configure.ac): Set witness.
47141         * modules/stdio (Makefile.am): Support fpurge macros.
47142         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
47143         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
47144         * lib/fflush.c: Update client.
47145         * tests/test-fpurge.c: Likewise.
47146         * NEWS: Mention the change.
47147
47148 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
47149
47150         * lib/argp-version-etc.c (program_authors): Add const
47151         qualifier.
47152         * lib/version-etc.c: Fix typos in the comments.
47153         * modules/argp-version-etc: Depends on version-etc.
47154
47155 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
47156
47157         argp-version-etc: new module.
47158
47159         * lib/argp-version-etc.c: New file.
47160         * lib/argp-version-etc.h: New file.
47161         * modules/argp-version-etc: New file.
47162         * modules/argp-version-etc-tests: New file.
47163         * tests/test-argp-version-etc.c: New test.
47164         * tests/test-argp-version-etc-1.sh: New test.
47165
47166 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
47167
47168         Provide additional interfaces and documentation for version-etc
47169         module.
47170
47171         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
47172         interfaces.
47173         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
47174         prototypes.
47175
47176 2009-06-24  Bruno Haible  <bruno@clisp.org>
47177
47178         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
47179         HAVE_LIB${NAME} macro.
47180         Reported by Sam Steingold <sds@gnu.org>.
47181
47182 2009-06-23  Simon Josefsson  <simon@josefsson.org>
47183
47184         * modules/hash-tests (test_hash_LDADD): Link to libintl when
47185         needed.
47186
47187 2009-06-21  Bruno Haible  <bruno@clisp.org>
47188
47189         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
47190         work.
47191         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
47192         together with LIB${NAME}, LTLIB${NAME}.
47193         Reported by Sam Steingold <sds@gnu.org>.
47194
47195 2009-06-20  Jim Meyering  <meyering@redhat.com>
47196
47197         tests: make sc_require_test_exit_idiom more generic
47198         * top/maint.mk (Exit_witness_file): New overridable variable.
47199         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
47200         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
47201
47202 2009-06-19  Jim Meyering  <meyering@redhat.com>
47203
47204         hash: reverse order of src/dst parameters in an internal interface
47205         * lib/hash.c (transfer_entries): Reverse order of parameters to
47206         put DST before SRC.  Adjust callers.
47207
47208         tests: test-hash: avoid wholesale duplication
47209         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
47210         Instead, use a loop and add a single conditional.
47211
47212         tests: test-hash: allow seed selection via a command line argument
47213         * tests/test-hash.c (get_seed): New function.
47214         (main): Use it.
47215
47216 2009-06-19  Eric Blake  <ebb9@byu.net>
47217
47218         hash: avoid memory leak on allocation failure
47219         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
47220         failure.  Factor repeated algorithm...
47221         (transfer_entries): ...into new helper routine.
47222         (hash_delete): React to hash_rehash return value.
47223
47224         hash: reduce memory pressure in hash_rehash no-op case
47225         * lib/hash.c (next_prime): Avoid overflow.
47226         (hash_initialize): Factor bucket size computation...
47227         (compute_bucket_size): ...into new helper function.
47228         (hash_rehash): Use new function and open coding to reduce memory
47229         pressure, and avoid a memory leak in USE_OBSTACK code.
47230         Reported by Jim Meyering.
47231
47232 2009-06-18  Eric Blake  <ebb9@byu.net>
47233
47234         hash: make rotation more obvious
47235         * modules/hash (Depends-on): Add bitrotate and stdint.
47236         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
47237         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
47238         (SIZE_MAX): Rely on headers for definition.
47239         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
47240         (raw_hasher): Use rotr_sz.
47241         Suggested by Jim Meyering.
47242
47243         hash: fix memory leak in last patch
47244         * lib/hash.c (hash_rehash): Avoid memory leak.
47245
47246         hash: avoid no-op rehashing
47247         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
47248
47249         hash: provide default callback functions
47250         * lib/hash.c (raw_hasher, raw_comparator): New functions.
47251         (hash_initialize): Use them as defaults.
47252         * tests/test-hash.c (main): Test this.
47253
47254         hash: minor optimization
47255         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
47256         when possible.
47257         (hash_initialize): Document this promise.
47258         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
47259         * tests/test-hash.c (hash_compare_strings): Test this.
47260
47261 2009-06-18  Bruno Haible  <bruno@clisp.org>
47262
47263         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
47264         going to be replaced anyway.
47265
47266 2009-06-18  Bruno Haible  <bruno@clisp.org>
47267
47268         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
47269         in one place.
47270         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
47271         be replaced anyway.
47272
47273 2009-06-18  Eric Blake  <ebb9@byu.net>
47274
47275         hash: check for resize before insertion
47276         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
47277         threshold before insertion, so that a pathological hash_rehash
47278         that fills every bucket can still trigger another rehash.
47279
47280 2009-06-18  Jim Meyering  <meyering@redhat.com>
47281
47282         hash-tests: add a loop around the small tests
47283         * tests/test-hash.c (main): Repeat small tests with selected
47284         small initial table sizes.
47285
47286 2009-06-17  Eric Blake  <ebb9@byu.net>
47287
47288         hash: minor cleanups
47289         * lib/hash.h (hash_entry): Make opaque, by moving...
47290         * lib/hash.c (hash_entry): ...here.
47291         (hash_insert): Clarify restrictions on what can be inserted.
47292         (hash_get_next): Clarify when it is safe to remove an element
47293         during traversal.
47294         (check_tuning): Skip verification when tuning is known safe.
47295         (hash_initialize): Clarify restrictions on tuning.
47296
47297 2009-06-17  Jim Meyering  <jim@meyering.net>
47298         and Eric Blake  <ebb9@byu.net>
47299
47300         hash-tests: new module
47301         * modules/hash-tests: New file.
47302         * tests/test-hash.c: New file.
47303
47304 2009-06-17  Eric Blake  <ebb9@byu.net>
47305
47306         strstr-simple: document new module
47307         * MODULES.html.sh: Document new module.
47308
47309         strstr, strcasestr: replace on platforms with broken memchr
47310         * modules/strstr: Split into...
47311         * modules/strstr-simple: ...new module that does not care about
47312         performance, but does care about glibc bug.
47313         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
47314         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
47315         if platform memchr is broken, per Debian bug 521737.
47316         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
47317         memchr.
47318         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
47319         * doc/posix-functions/strstr.texi (strstr): Document the fix.
47320         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
47321         * modules/mountlist (Depends-on): Add strstr-simple.
47322         * modules/gen-uni-tables (Depends-on): Likewise.
47323         * modules/argz (Depends-on): Add strstr.
47324
47325 2009-06-17  Bruno Haible  <bruno@clisp.org>
47326
47327         * modules/posix_spawn-internal (Depends-on): Add errno.
47328
47329 2009-06-17  Bruno Haible  <bruno@clisp.org>
47330
47331         Define missing ESTALE on Interix 3.5.
47332         * lib/errno.in.h (ESTALE): Assign a value if missing.
47333         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
47334         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
47335         missing.
47336         * doc/posix-headers/errno.texi: Mention the Interix bug.
47337         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
47338
47339 2009-06-15  Eric Blake  <ebb9@byu.net>
47340
47341         memchr, memchr2: add valgrind exception
47342         * lib/memchr.valgrind: New file.
47343         * lib/memchr2.valgrind: New file.
47344         * modules/memchr (Files): Distribute valgrind file.
47345         * modules/memchr2 (Files): Likewise.
47346
47347         docs: memchr is no longer obsolete
47348         * MODULES.html.sh: Move memchr from obsolete to string.h section.
47349         * lib/string.in.h (memchr): Simplify logic.
47350
47351 2009-06-14  Jim Meyering  <meyering@redhat.com>
47352
47353         link-follow: fix the "checking..." message to not mention trailing slash
47354         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
47355         never considered trailing slashes.
47356
47357 2009-06-14  Bruno Haible  <bruno@clisp.org>
47358
47359         * m4/memchr.m4: Mention also the bug on IA-64.
47360         * doc/posix-functions/memchr.texi: Likewise.
47361
47362 2009-06-12  Eric Blake  <ebb9@byu.net>
47363
47364         memchr: detect broken x86_64 and alpha implementations
47365         * modules/memchr-tests (Depends-on): Move mmap detection...
47366         * modules/memchr (Depends-on): ...here.
47367         (configure.ac): Set indicator.
47368         * lib/string.in.h (memchr): Declare replacement.
47369         * modules/string (Makefile.am): Trigger replacement.
47370         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
47371         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
47372         bugs.
47373         * doc/posix-functions/memchr.texi (memchr): Document the bug.
47374         * modules/getpagesize (License): Relax license.
47375
47376 2009-06-11  Bruno Haible  <bruno@clisp.org>
47377
47378         * lib/idpriv.h: Add more references.
47379
47380 2009-06-08  Bruno Haible  <bruno@clisp.org>
47381
47382         Tests for module 'idpriv-droptemp'.
47383         * modules/idpriv-droptemp-tests: New file.
47384         * tests/test-idpriv-droptemp.sh: New file.
47385         * tests/test-idpriv-droptemp.su.sh: New file.
47386         * tests/test-idpriv-droptemp.c: New file.
47387
47388         New module 'idpriv-droptemp'.
47389         * lib/idpriv-droptemp.c: New file.
47390         * modules/idpriv-droptemp: New file.
47391
47392 2009-06-08  Bruno Haible  <bruno@clisp.org>
47393
47394         Tests for module 'idpriv-drop'.
47395         * modules/idpriv-drop-tests: New file.
47396         * tests/test-idpriv-drop.sh: New file.
47397         * tests/test-idpriv-drop.su.sh: New file.
47398         * tests/test-idpriv-drop.c: New file.
47399
47400         New module 'idpriv-drop'.
47401         * lib/idpriv.h: New file.
47402         * lib-idpriv-drop.c: New file.
47403         * m4/idpriv.m4: New file.
47404         * modules/idpriv-drop: New file.
47405
47406 2009-06-08  Bruno Haible  <bruno@clisp.org>
47407
47408         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
47409         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
47410         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
47411         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
47412         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
47413         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
47414         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
47415
47416 2009-06-08  Eric Blake  <ebb9@byu.net>
47417
47418         test-strstr: use memory fence, when possible
47419         * tests/test-strstr.c (main): Use memory fence, in order to be
47420         more likely to trigger Debian bug 521737.
47421         * modules/strstr-tests (Files): Pull in additional files.
47422
47423         memchr: no longer obsolete, for wider field testing
47424         * modules/memchr (Status, Notice): Delete, this module is no
47425         longer obsolete.
47426         * modules/vasnprintf (Depends-on): Add memchr.
47427
47428 2009-06-07  Jim Meyering  <meyering@redhat.com>
47429
47430         hash: declare some functions with the warn_unused_result attribute
47431         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
47432
47433 2009-06-07  Bruno Haible  <bruno@clisp.org>
47434
47435         * tests/test-alignof.c: Don't test int64_t if it does not exist.
47436         Reported by Eric Blake.
47437
47438 2009-06-06  Eric Blake  <ebb9@byu.net>
47439
47440         test-alignof: fix typo with long double
47441         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
47442         compiler error.
47443
47444 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
47445
47446         Escape non-texinfo { and }s.
47447         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
47448         markup error.
47449
47450 2009-06-04  Jim Meyering  <meyering@redhat.com>
47451
47452         gitlog-to-changelog: don't infloop on an empty commit log
47453         * build-aux/gitlog-to-changelog: Warn about an empty log message.
47454         Reported by Boris Petersen <transacid@centerim.org>.
47455
47456 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
47457
47458         version-etc: extend for packagers
47459         Add three new configure options, intended for packagers:
47460           --with-packager="packager name"
47461           --with-packager-version="packager-specific version"
47462           --with-packager-bug-reports="packager bug reporting"
47463         An example with coreutils:
47464           $ ./configure \
47465             --with-packager=Gentoo \
47466             --with-packager-bug-report=http://bugs.gentoo.org/ \
47467             --with-packager-version="patchset 1.6"
47468           $ ./src/ls --version | head -n2
47469           ls (GNU coreutils) 7.1-dirty
47470           Packaged by Gentoo (patchset 1.6)
47471         Note that the bug reporting info via --help doesn't show up because
47472         coreutils uses its own custom emit_bug_reporting_address() implementation
47473         in src/system.h.  If it didn't, it'd look like:
47474           $ ./src/ls --help | tail -n4
47475           Report bugs to <bug-coreutils@gnu.org>.
47476           Report Gentoo bugs to <http://bugs.gentoo.org/>.
47477           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
47478           General help using GNU software: <http://www.gnu.org/gethelp/>.
47479         * lib/version-etc.c: Print new information, if provided.
47480         * m4/version-etc.m4: New file.
47481         * modules/version-etc (Files): Add m4/version-etc.m4.
47482         (configure.ac): Add gl_VERSION_ETC.
47483
47484 2009-05-31  Bruno Haible  <bruno@clisp.org>
47485
47486         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
47487         and 'int64_t'.
47488         * modules/alignof-tests (Dependencies): Add stdint.
47489         Reported by Eric Blake.
47490
47491 2009-05-31  Bruno Haible  <bruno@clisp.org>
47492
47493         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
47494         restriction due to compiler bugs.
47495         Reported by Eric Blake.
47496
47497 2009-05-31  Simon Josefsson  <simon@josefsson.org>
47498             Bruno Haible  <bruno@clisp.org>
47499
47500         Fix test-alignof failure.
47501         * lib/alignof.h (alignof_slot): New macro.
47502         (alignof_type): New macro, with the same semantics as the previous
47503         'alignof'.
47504         (alignof): Alias to alignof_slot.
47505         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
47506         check that the results are usable as constant expressions.
47507
47508 2009-05-31  Bruno Haible  <bruno@clisp.org>
47509
47510         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
47511         * tests/test-memchr.c (main): Check that memchr does not read past the
47512         first occurrence of the byte.
47513         * tests/test-strstr.c (main): Update comment.
47514         Suggested by Eric Blake.
47515
47516 2009-05-30  Bruno Haible  <bruno@clisp.org>
47517
47518         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
47519         detail how to use dumpbin.
47520         Reported by David Byron <dbyron@dbyron.com>.
47521
47522 2009-06-02  Simon Josefsson  <simon@josefsson.org>
47523
47524         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
47525
47526 2009-06-02  Simon Josefsson  <simon@josefsson.org>
47527
47528         * m4/manywarnings.m4: Add GCC 4.4 warnings.
47529
47530 2009-05-28  Bruno Haible  <bruno@clisp.org>
47531
47532         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
47533         build-aux/ files.
47534
47535 2009-05-28  Simon Josefsson  <simon@josefsson.org>
47536
47537         * gnulib-tool (func_import): Transform license on build-aux/ files too.
47538
47539 2009-05-27  Simon Josefsson  <simon@josefsson.org>
47540
47541         * gnulib-tool (sed_transform_main_lib_file)
47542         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
47543         regexps.
47544
47545 2009-05-26  Simon Josefsson  <simon@josefsson.org>
47546
47547         * tests/test-strstr.c: Add another self-test.
47548         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
47549         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
47550
47551 2009-05-23  Bruno Haible  <bruno@clisp.org>
47552
47553         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
47554         change.
47555
47556 2009-05-21  Bruno Haible  <bruno@clisp.org>
47557
47558         Simplify use of mode_t varargs.
47559         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
47560         uses 'mode_t' or 'int'.
47561         * lib/openat.c (openat): Likewise.
47562         * lib/open-safer.c (open_safer): Likewise.
47563         * m4/mode_t.m4: New file.
47564         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
47565         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
47566         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
47567         * modules/open (Files): Add m4/mode_t.m4.
47568         * modules/openat (Files): Likewise.
47569         * modules/fcntl-safer (Files): Likewise.
47570         Suggested by Eric Blake.
47571
47572 2009-05-21  Pádraig Brady  <P@draigbrady.com>
47573
47574         * doc/glibc-functions/fallocate.texi: New file.
47575         * doc/gnulib.texi: Include it.
47576
47577 2009-05-21  Eric Blake  <ebb9@byu.net>
47578             Bruno Haible  <bruno@clisp.org>
47579
47580         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
47581         invocations.
47582         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
47583
47584 2009-05-21  Eric Blake  <ebb9@byu.net>
47585             Bruno Haible  <bruno@clisp.org>
47586
47587         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
47588         include_next. Fix of 2008-11-20 commit.
47589         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
47590         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
47591         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
47592         NEXT_MATH_H.
47593         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
47594         instead of NEXT_MATH_H.
47595
47596 2009-05-21  Bruno Haible  <bruno@clisp.org>
47597
47598         Avoid redefinition warnings for SIZE_MAX.
47599         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
47600         Reported by Simon Josefsson.
47601
47602 2009-05-21  Bruno Haible  <bruno@clisp.org>
47603
47604         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
47605         AC_CACHE_VAL.
47606
47607 2009-05-20  Bruno Haible  <bruno@clisp.org>
47608
47609         Make zeroptr.h work on mingw.
47610         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
47611         mprotect.
47612         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
47613         * modules/memchr2-tests (configure.ac): Likewise.
47614         * modules/memcmp-tests (configure.ac): Likewise.
47615         * modules/memmem-tests (configure.ac): Likewise.
47616         * modules/memrchr-tests (configure.ac): Likewise.
47617         Reported by Simon Josefsson.
47618
47619 2009-05-20  Simon Josefsson  <simon@josefsson.org>
47620
47621         * tests/test-glob.c: Include string.h for strcmp prototype.
47622
47623 2009-05-20  Simon Josefsson  <simon@josefsson.org>
47624
47625         * modules/getdelim (Depends-on): Add explicit stdint, although it
47626         was implicitly already pulled in via realloc-posix.
47627         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
47628
47629 2009-05-20  Simon Josefsson  <simon@josefsson.org>
47630
47631         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
47632         G. Christensen" <tgc@jupiterrise.com>.
47633         * m4/sys_socket_h.m4: Check for sa_family_t.
47634         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
47635         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
47636         * tests/test-sys_socket.c: Check that sa_family_t works.
47637
47638 2009-05-18  Eric Blake  <ebb9@byu.net>
47639
47640         maint.mk: allow gnulib_dir in VPATH build
47641         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
47642
47643 2009-05-15  Jim Meyering  <meyering@redhat.com>
47644
47645         maint.mk: Give gnulib_dir a default definition.
47646         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
47647         Thus, most packages no longer need to specify this variable in cfg.mk
47648
47649 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
47650
47651         rename.m4: fix typos that would make non-mingw cross-configure fail
47652         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
47653
47654 2009-05-13  Eric Blake  <ebb9@byu.net>
47655
47656         mmap-anon: avoid out-of-order autoconf expansion
47657         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
47658         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
47659         * modules/memchr-tests (Depends-on): Add extensions.
47660         * modules/memchr2-tests (Depends-on): Add extensions.
47661         * modules/memcmp-tests (Depends-on): Add extensions.
47662         * modules/memmem-tests (Depends-on): Add extensions.
47663         * modules/memrchr-tests (Depends-on): Add extensions.
47664
47665 2009-05-13  Bruno Haible  <bruno@clisp.org>
47666
47667         Make some tests ISO C 99 compliant.
47668         * tests/zerosize-ptr.h: New file.
47669         * tests/test-memchr.c: Include zerosize-ptr.h.
47670         (main): Use a zero-size object pointer instead of NULL.
47671         * tests/test-memchr2.c: Include zerosize-ptr.h.
47672         (main): Use a zero-size object pointer instead of NULL.
47673         * tests/test-memcmp.c: Include zerosize-ptr.h.
47674         (main): Use a zero-size object pointer instead of NULL.
47675         * tests/test-memmem.c: Include zerosize-ptr.h.
47676         (main): Use a zero-size object pointer instead of NULL.
47677         * tests/test-memrchr.c: Include zerosize-ptr.h.
47678         (main): Use a zero-size object pointer instead of NULL.
47679         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
47680         m4/mmap-anon.m4.
47681         (Depends-on): Add getpagesize.
47682         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
47683         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
47684         m4/mmap-anon.m4.
47685         (Depends-on): Add getpagesize.
47686         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
47687         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
47688         m4/mmap-anon.m4.
47689         (Depends-on): Add getpagesize.
47690         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
47691         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
47692         m4/mmap-anon.m4.
47693         (Depends-on): Add getpagesize.
47694         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
47695         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
47696         m4/mmap-anon.m4.
47697         (Depends-on): Add getpagesize.
47698         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
47699
47700 2009-05-12  Bruno Haible  <bruno@clisp.org>
47701
47702         Tests for module 'alignof'.
47703         * modules/alignof-tests: New file.
47704         * tests/test-alignof.c: New file.
47705
47706 2009-05-12  Bruno Haible  <bruno@clisp.org>
47707
47708         Fix alignof macro.
47709         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
47710         vendor compilers that are always correct.
47711
47712 2009-05-12  Bruno Haible  <bruno@clisp.org>
47713
47714         Make the MAP_ANONYMOUS detection work on HP-UX 11.
47715         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
47716         not whether its fully works.
47717
47718 2009-05-12  Bruno Haible  <bruno@clisp.org>
47719
47720         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
47721
47722 2009-05-12  Jim Meyering  <meyering@redhat.com>
47723
47724         * top/maint.mk: Adjust backslash alignment.
47725
47726 2009-05-11  Simon Josefsson  <simon@josefsson.org>
47727
47728         * top/maint.mk: Make $(srcdir)/build-aux configurable.
47729
47730 2009-05-11  Eric Blake  <ebb9@byu.net>
47731
47732         argp: avoid undefined behavior
47733         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
47734         macros.
47735
47736 2009-05-08  Simon Josefsson  <simon@josefsson.org>
47737
47738         * tests/test-vc-list-files-git.sh: Do git config of user.email and
47739         user.name to prevent git commit from complaining.
47740
47741 2009-05-10  Bruno Haible  <bruno@clisp.org>
47742
47743         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
47744         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
47745         it rewrites every file name only once.
47746         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
47747
47748 2009-05-08  Bruno Haible  <bruno@clisp.org>
47749
47750         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
47751         instead of 'max'.
47752
47753 2009-05-08  Simon Josefsson  <simon@josefsson.org>
47754
47755         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
47756         sockaddr_storage test.
47757
47758 2009-05-07  Simon Josefsson  <simon@josefsson.org>
47759
47760         * modules/sys_socket (Makefile.am): Substitute
47761         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
47762         * m4/sys_socket_h.m4: Check for sockaddr_storage.
47763         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
47764         * tests/test-sys_socket.c: Check sockaddr_storage.
47765
47766 2009-05-08  Bruno Haible  <bruno@clisp.org>
47767
47768         New module 'alignof'.
47769         * lib/alignof.h: New file.
47770         * modules/alignof: New file.
47771
47772 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
47773             Bruno Haible  <bruno@clisp.org>
47774
47775         Fix test-file-has-acl on FreeBSD.
47776         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
47777         mask is implicitly added.
47778         * tests/test-file-has-acl.c: Include <signal.h>.
47779         (main): Terminate the test after 5 seconds.
47780         * modules/acl-tests (configure.ac): Check for alarm function.
47781
47782 2009-05-04  Bruno Haible  <bruno@clisp.org>
47783
47784         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
47785         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
47786         * modules/errno (configure.ac): Drop AC_REQUIRE.
47787         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
47788         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
47789
47790 2009-05-04  Simon Josefsson  <simon@josefsson.org>
47791
47792         * modules/glob-tests: New module.
47793         * tests/test-glob.c: Add.
47794
47795 2009-05-04  Simon Josefsson  <simon@josefsson.org>
47796
47797         * modules/fnmatch-tests: New module.
47798         * tests/test-fnmatch.c: Add.
47799
47800 2009-05-04  Eric Blake  <ebb9@byu.net>
47801
47802         maint: make the new no-submodule-changes rule VPATH-safe
47803         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
47804
47805 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
47806             Bruno Haible  <bruno@clisp.org>
47807
47808         acl: Fix infinite loop on FreeBSD.
47809         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
47810         of return value from acl_get_entry.
47811         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
47812         Likewise.
47813
47814 2009-05-03  Bruno Haible  <bruno@clisp.org>
47815
47816         * lib/acl-internal.h (acl_entries): Clarify return value.
47817         * lib/acl_entries.c (acl_entries): Likewise.
47818
47819 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
47820
47821         Bug fix in acl module.
47822         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
47823
47824 2009-05-03  Bruno Haible  <bruno@clisp.org>
47825
47826         Create gperf-generated file in the source dir, not in the build dir.
47827         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
47828         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
47829         * modules/unicase/locale-language (unicase/locale-languages.h):
47830         Likewise.
47831         * modules/unicase/special-casing (unicase/special-casing-table.h):
47832         Likewise.
47833         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
47834         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
47835         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
47836         Reported by Ralf Wildenhues.
47837
47838 2009-05-03  Bruno Haible  <bruno@clisp.org>
47839
47840         * modules/fnmatch (Description, configure.ac): Taken from
47841         fnmatch-posix.
47842         * modules/fnmatch-posix: Turn into a symbolic reference to the
47843         'fnmatch' module, and deprecate.
47844         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
47845
47846 2009-05-03  Bruno Haible  <bruno@clisp.org>
47847
47848         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
47849         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
47850         Reported by Ralf Wildenhues.
47851
47852 2009-05-04  Simon Josefsson  <simon@josefsson.org>
47853
47854         * m4/fnmatch.m4: Fix fnmatch re-define.
47855
47856 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
47857
47858         priv-set: new module and tests; adapt write-any-file
47859         * lib/priv-set.c: New file.
47860         * lib/priv-set.h: New file.
47861         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
47862         * lib/write-any-file.c: Simplify by using priv-set module.
47863         * m4/priv-set.m4: New file.
47864         * modules/priv-set: New file.
47865         * modules/unlinkdir: Add dependency on priv-set module.
47866         * modules/write-any-file: Likewise.
47867
47868         Tests for module 'priv-set'.
47869         * modules/priv-set-tests: New file.
47870         * tests/test-priv-set.c: New file.
47871
47872 2009-05-03  Jim Meyering  <meyering@redhat.com>
47873             Bruno Haible  <bruno@clisp.org>
47874
47875         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
47876         use the converted UTF-8 variant of the name instead.
47877
47878 2009-05-03  Jim Meyering  <meyering@redhat.com>
47879
47880         tests: tighten some getdate tests
47881         * tests/test-getdate.c (main): Tighten tests: require equality,
47882         not just greater than.  Set TZ envvar to UTC0.
47883
47884 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
47885
47886         getdate: correctly interpret "next monday" when run on a Monday
47887         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
47888         that e.g., "next tues" (when run on a tuesday) results in a date
47889         that is one week in the future, and not today's date.
47890         I.e., add a week when the wday is the same as the current one.
47891         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
47892         and earlier by Martin Bernreuther and Jan Minář.
47893         * tests/test-getdate.c (main): Check that "next DAY" is always in
47894         the future and that "last DAY" is always in the past.
47895
47896 2009-05-02  Jim Meyering  <meyering@redhat.com>
47897
47898         build: ensure that a release build fails when a submodule is unclean
47899         * top/maint.mk (no-submodule-changes): New rule.
47900         (alpha beta major): Depend on it.
47901
47902 2009-05-02  Bruno Haible  <bruno@clisp.org>
47903
47904         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
47905         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
47906         shell variable gl_fnmatch_required to detect which variant is
47907         requested.
47908         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
47909         gl_FUNC_FNMATCH_POSIX.
47910         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
47911         exclude fnmatch-posix.
47912
47913 2009-05-02  Bruno Haible  <bruno@clisp.org>
47914
47915         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
47916         * modules/mbsrtowcs (License): Change to LGPLv2+.
47917         * modules/strnlen1 (License): Likewise.
47918         Reported by Simon Josefsson.
47919
47920 2009-05-02  Bruno Haible  <bruno@clisp.org>
47921
47922         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
47923         "cross".
47924         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
47925         gnulib-tool was called with option --source-base=lib.
47926
47927 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47928
47929         Use automake *-local hooks without commands, for extensibility.
47930         * modules/localcharset (Makefile.am): Rename install-exec-local
47931         rule to install-exec-localcharset, and make it a prerequisite of
47932         install-exec-local.  Likewise, rename the uninstall-local rule to
47933         uninstall-localcharset, and make it a prerequisite of the former.
47934
47935 2009-05-01  Bruno Haible  <bruno@clisp.org>
47936
47937         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
47938         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
47939         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
47940         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
47941         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
47942         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
47943         m4/locale-zh.m4, m4/codeset.m4.
47944
47945         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
47946         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
47947         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
47948         m4/locale-zh.m4.
47949
47950         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
47951         REPLACE_WCRTOMB if mbstate_t must be replaced.
47952         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
47953         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
47954
47955 2009-05-01  Bruno Haible  <bruno@clisp.org>
47956
47957         Avoid compiler warnings when redefining macros defined by <libintl.h>.
47958         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
47959         dngettext, dcngettext, textdomain, bindtextdomain,
47960         bind_textdomain_codeset): Undefine before redefining.
47961
47962 2009-04-30  Bruno Haible  <bruno@clisp.org>
47963
47964         Fix bug introduced on 2009-04-25.
47965         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
47966         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
47967         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
47968         is defined.
47969         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
47970         is defined.
47971         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
47972         is defined.
47973         Reported by Elbert_Pol <elbert.pol@gmail.com>.
47974
47975 2009-04-28  Bruno Haible  <bruno@clisp.org>
47976
47977         Comment tweaks.
47978         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
47979         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
47980         * lib/unicase.h (u*_casexfrm): Likewise.
47981         Reported by Paolo Bonzini.
47982
47983 2009-04-28  Bruno Haible  <bruno@clisp.org>
47984
47985         Fix a compilation error.
47986         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
47987         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
47988         Reported by Jim Meyering.
47989
47990 2009-04-27  Bruno Haible  <bruno@clisp.org>
47991
47992         New module 'libunistring'.
47993         * modules/libunistring: New file.
47994         * m4/libunistring.m4: New file.
47995         * MODULES.html.sh (Unicode string functions): Add it.
47996
47997 2009-04-27  Eric Blake  <ebb9@byu.net>
47998
47999         maint.mk: allow package-specific header to provide <config.h>
48000         * top/maint.mk (sc_require_config_h): New variable.
48001         (sc_require_config_h, sc_require_config_h_first): Use it.
48002
48003 2009-04-27  Simon Josefsson  <simon@josefsson.org>
48004
48005         * top/maint.mk (sc_avoid_if_before_free): Except
48006         useless-if-before-free script.
48007
48008 2009-04-27  Eric Blake  <ebb9@byu.net>
48009
48010         maintainer-makefile: depend on all required helper scripts
48011         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
48012         useless-if-before-free.
48013         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
48014         version, rather than assuming gnulib checkout is available.
48015         Reported by Simen Josefsson.
48016
48017 2009-04-26  Bruno Haible  <bruno@clisp.org>
48018
48019         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
48020         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
48021         "../" or "..".
48022
48023 2009-04-26  Bruno Haible  <bruno@clisp.org>
48024
48025         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
48026         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
48027         AC_LIB_HAVE_LINKFLAGS.
48028
48029 2009-04-26  Bruno Haible  <bruno@clisp.org>
48030
48031         Simplify calling convention of u*_conv_from_encoding.
48032         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
48033         u32_conv_from_encoding): Expect a resultbuf argument and return the
48034         result directly as a pointer.
48035         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
48036         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
48037         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
48038         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
48039         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
48040         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
48041         Update.
48042         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
48043         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
48044         * lib/vasnprintf.c (VASNPRINTF): Update.
48045         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
48046         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
48047         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
48048         * NEWS: Mention the change.
48049
48050 2009-04-26  Bruno Haible  <bruno@clisp.org>
48051
48052         Simplify calling convention of u*_conv_to_encoding.
48053         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
48054         u32_conv_to_encoding): Expect a resultbuf argument and return the
48055         result directly as a pointer.
48056         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
48057         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
48058         freeing scaled_offsets if mem_iconveha failed.
48059         * lib/unicase/u-casexfrm.h (FUNC): Update.
48060         * lib/uninorm/u-normxfrm.h (FUNC): Update.
48061         * lib/vasnprintf.c (VASNPRINTF): Update.
48062         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
48063         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
48064         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
48065         * NEWS: Mention the change.
48066
48067 2009-04-26  Bruno Haible  <bruno@clisp.org>
48068
48069         Avoid test failures on AIX and OSF/1.
48070         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
48071         malloc(0).
48072         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
48073         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
48074         Likewise.
48075         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
48076         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
48077         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
48078         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
48079         * doc/posix-functions/malloc.texi: Document the portability problem
48080         related to malloc(0).
48081
48082 2009-04-26  Bruno Haible  <bruno@clisp.org>
48083
48084         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
48085         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
48086         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
48087
48088 2009-04-25  Bruno Haible  <bruno@clisp.org>
48089
48090         Avoid link error when creating a namespace clean library.
48091         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
48092         as macro with arguments if already defined as an alias.
48093         * lib/signbitf.c (gl_signbitf): Don't undefine.
48094         * lib/signbitd.c (gl_signbitd): Don't undefine.
48095         * lib/signbitl.c (gl_signbitl): Don't undefine.
48096
48097 2009-04-25  Jim Meyering  <meyering@redhat.com>
48098
48099         vc-list-files: fix another quoting bug
48100         * build-aux/vc-list-files: Avoid sed backslash expansion
48101         of pathological directory names.
48102
48103 2009-04-25  Eric Blake  <ebb9@byu.net>
48104
48105         vc-list-files: fix shell quoting error
48106         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
48107         timestamp.
48108
48109 2009-04-25  Jim Meyering  <meyering@redhat.com>
48110
48111         vc-list-files: restore lost functionality with subdir argument
48112         * build-aux/vc-list-files: When given a non-"." sub-directory
48113         argument, substitute the $dir/ prefix back onto each resulting name.
48114         Otherwise, coreutils' root_tests check would fail.
48115
48116 2009-04-24  Eric Blake  <ebb9@byu.net>
48117
48118         vc-list-files: ignore git symlinks
48119         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
48120         than ls-files, to ignore git symlinks.
48121
48122         maint.mk: import improvements from m4
48123         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
48124         (move_if_change): Delete unused macro.
48125         (news-date-check, vc-diff-check): Support VPATH builds.
48126         (announcement): Likewise.  Split --bootstrap-tools list...
48127         (boostrap-tools): ...into separate list, which can be overridden
48128         in cfg.mk.
48129         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
48130         requiring dependency on useless-if-before-free module.
48131         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
48132         Support VPATH builds.
48133
48134 2009-04-24  Jim Meyering  <meyering@redhat.com>
48135
48136         maint.mk: remove coreutils-specific rules and variables
48137         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
48138         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
48139         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
48140
48141         maint.mk: remove obsolete rule
48142         * top/maint.mk (rel-check): Remove rule.
48143         (WGET, WGETFLAGS): Remove now-unused variables.
48144
48145 2009-04-24  Simon Josefsson  <simon@josefsson.org>
48146
48147         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
48148         consistency.
48149
48150         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
48151         '$(PATH_SEPARATOR)' instead of ':'.
48152
48153 2009-04-24  Simon Josefsson  <simon@josefsson.org>
48154
48155         * lib/getopt1.c (main): Use 'const' for static array.
48156
48157 2009-04-24  Simon Josefsson  <simon@josefsson.org>
48158
48159         * top/maint.mk: Sync with coreutils.
48160         * NEWS: Explain incompatibilities.
48161
48162 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48163             Bruno Haible  <bruno@clisp.org>
48164
48165         Fix cross-compilation results.
48166         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
48167         statement, as third argument of AC_TRY_RUN.
48168         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
48169         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
48170         Likewise.
48171         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
48172         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
48173         Likewise.
48174         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
48175         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
48176         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
48177
48178 2009-04-20  Bruno Haible  <bruno@clisp.org>
48179
48180         Avoid test failure on mingw.
48181         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
48182
48183 2009-04-20  Bruno Haible  <bruno@clisp.org>
48184
48185         Avoid compilation error on mingw.
48186         * modules/localename-tests (Depends-on): Add locale.
48187
48188 2009-04-19  Bruno Haible  <bruno@clisp.org>
48189
48190         Support for building a shared library on Windows platforms.
48191         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
48192         (main): Test the presence of UNINORM_NFC here.
48193         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
48194         (main): Test the presence of UNINORM_NFD here.
48195         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
48196         (main): Test the presence of UNINORM_NFKC here.
48197         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
48198         (main): Test the presence of UNINORM_NFKD here.
48199
48200 2009-04-19  Bruno Haible  <bruno@clisp.org>
48201
48202         Avoid a compiler warning.
48203         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
48204         Change type of variable 'sequence'.
48205
48206 2009-04-19  Bruno Haible  <bruno@clisp.org>
48207
48208         * modules/configmake (Makefile.am): When the contents of configmake.h
48209         does not change, arrange to preserve its modification time.
48210
48211 2009-04-17  Simon Josefsson  <simon@josefsson.org>
48212
48213         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
48214         gettext domain.
48215
48216 2009-04-16  Jim Meyering  <meyering@redhat.com>
48217
48218         useless-if-before-free: improve conversion code
48219         * build-aux/useless-if-before-free: Adjust code-in-comment to match
48220         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
48221
48222 2009-04-14  Bruno Haible  <bruno@clisp.org>
48223
48224         * modules/fcntl (Depends-on): Add extensions.
48225         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
48226
48227 2009-04-12  Ben Pfaff  <blp@gnu.org>
48228
48229         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
48230         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
48231
48232 2009-03-20  Ben Pfaff  <blp@gnu.org>
48233
48234         Make rename replace existing destinations on Windows.
48235         * m4/rename.m4: Add test for Mingw.
48236         * lib/rename.c: Add rename replacement that uses MoveFileEx with
48237         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
48238         * doc/posix-functions/rename.texi: Document.
48239
48240 2009-04-10  Bruno Haible  <bruno@clisp.org>
48241
48242         New include file "iconveh.h".
48243         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
48244         * lib/striconveh.h: Include it.
48245         (enum iconv_ilseq_handler): Remove definition.
48246         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
48247         striconveh.h.
48248         * lib/striconveha.c: Include striconveh.h.
48249         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
48250         * modules/striconveh (Files): Add lib/iconveh.h.
48251         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
48252         lib/striconveh.h.
48253
48254 2009-04-10  Bruno Haible  <bruno@clisp.org>
48255
48256         * lib/uniconv.h: Update comment.
48257
48258 2009-04-10  Bruno Haible  <bruno@clisp.org>
48259
48260         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
48261         always.
48262         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
48263         * lib/unistr/u16-mbtouc-aux.c: Likewise.
48264         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
48265         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
48266         "unistring-notinline.h", so that the function gets defined always.
48267         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
48268         * lib/unistr/u8-uctomb.c: Likewise.
48269         * lib/unistr/u16-mbtouc.c: Likewise.
48270         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
48271         * lib/unistr/u16-uctomb.c: Likewise.
48272         * lib/unistr/u32-mbtouc.c: Likewise.
48273         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
48274         * lib/unistr/u32-uctomb.c: Likewise.
48275
48276 2009-04-10  Bruno Haible  <bruno@clisp.org>
48277
48278         Mark 'utime' obsolete.
48279         * modules/utime (Status, Notice): New sections.
48280         Suggested by Jim Meyering.
48281
48282         Fix cross-compile guess for utime test.
48283         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
48284         autoconf.
48285         * doc/posix-functions/utime.texi: Give more precisions.
48286         Reported by Jan <ipif@ymail.com>.
48287
48288 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
48289
48290         filevercmp: correct today's change
48291         * lib/filevercmp.c: Also handle coreutils' test inputs.
48292         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
48293
48294         Fix regression in 'filevercmp' module. Thanks Sven Joachim
48295         for reporting it.
48296         * lib/filevercmp.c: Special handle for "", "." and "..".
48297         * tests/test-filevercmp.c: Enlarge the set suite.
48298
48299 2009-04-07  Jim Meyering  <meyering@redhat.com>
48300
48301         useless-if-before-free: show how to remove braced useless free, too
48302         * build-aux/useless-if-before-free: still only in a comment, though.
48303
48304 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
48305
48306         maint.mk: import changes to syntax-check macros from coreutils
48307         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
48308         Use them in the relevant macros.
48309
48310 2009-04-06  Bruno Haible  <bruno@clisp.org>
48311
48312         Fix unportable use of bit-fields.
48313         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
48314         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
48315         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
48316
48317 2009-04-06  Bruno Haible  <bruno@clisp.org>
48318
48319         Avoid test failures on AIX and OSF/1.
48320         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
48321         that malloc(0) = NULL.
48322         * tests/unicase/test-u8-tolower.c (check): Likewise.
48323         * tests/unicase/test-u8-totitle.c (check): Likewise.
48324         * tests/unicase/test-u8-toupper.c (check): Likewise.
48325         * tests/unicase/test-u16-casefold.c (check): Likewise.
48326         * tests/unicase/test-u16-tolower.c (check): Likewise.
48327         * tests/unicase/test-u16-totitle.c (check): Likewise.
48328         * tests/unicase/test-u16-toupper.c (check): Likewise.
48329         * tests/unicase/test-u32-casefold.c (check): Likewise.
48330         * tests/unicase/test-u32-tolower.c (check): Likewise.
48331         * tests/unicase/test-u32-totitle.c (check): Likewise.
48332         * tests/unicase/test-u32-toupper.c (check): Likewise.
48333         * tests/uninorm/test-u8-nfc.c (check): Likewise.
48334         * tests/uninorm/test-u8-nfd.c (check): Likewise.
48335         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
48336         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
48337         * tests/uninorm/test-u16-nfc.c (check): Likewise.
48338         * tests/uninorm/test-u16-nfd.c (check): Likewise.
48339         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
48340         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
48341         * tests/uninorm/test-u32-nfc.c (check): Likewise.
48342         * tests/uninorm/test-u32-nfd.c (check): Likewise.
48343         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
48344         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
48345
48346 2009-04-05  Bruno Haible  <bruno@clisp.org>
48347
48348         Work around an autoconf limitation.
48349         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
48350         comment line if it would be longer than 3 KB.
48351
48352 2009-04-05  Bruno Haible  <bruno@clisp.org>
48353
48354         Avoid test failure with libiconv-1.13.
48355         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
48356         of the expected test results.
48357
48358 2009-04-05  Bruno Haible  <bruno@clisp.org>
48359
48360         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
48361         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
48362         that it should be installed.
48363
48364 2009-04-05  Bruno Haible  <bruno@clisp.org>
48365
48366         * gnulib-tool: New option --copy-file.
48367         (func_usage): Document it.
48368         (func_dest_tmpfilename): Moved out of func_import.
48369         (func_add_file, func_update_file): New functions, extracted from
48370         func_import.
48371         (func_import): Update.
48372
48373 2009-04-05  Karl Berry  <karl@gnu.org>
48374
48375         * README: prominently mention gnulib-tool.
48376         Rearrange sections so getting the code is near the top.
48377
48378 2009-04-05  Bruno Haible  <bruno@clisp.org>
48379
48380         * lib/unicase.h: Mention u*_cmp2.
48381         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
48382         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
48383         * lib/unicase/ulc-casecmp.c: Likewise.
48384         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
48385         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
48386         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
48387         unistr/u8-cmp.
48388         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
48389         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
48390         unistr/u16-cmp.
48391         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
48392         unistr/u32-cmp.
48393
48394         * lib/uninorm.h: Mention u*_cmp2.
48395         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
48396         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
48397         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
48398         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
48399         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
48400         unistr/u8-cmp.
48401         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
48402         unistr/u16-cmp.
48403         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
48404         unistr/u32-cmp.
48405
48406         New module 'unistr/u32-cmp2'.
48407         * lib/unistr/u32-cmp2.c: New file.
48408         * modules/unistr/u32-cmp2: New file.
48409
48410         New module 'unistr/u16-cmp2'.
48411         * lib/unistr/u16-cmp2.c: New file.
48412         * modules/unistr/u16-cmp2: New file.
48413
48414         New module 'unistr/u8-cmp2'.
48415         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
48416         * lib/unistr/u8-cmp2.c: New file.
48417         * lib/unistr/u-cmp2.h: New file.
48418         * modules/unistr/u8-cmp2: New file.
48419
48420 2009-04-05  Bruno Haible  <bruno@clisp.org>
48421
48422         * lib/unictype.h (uc_property_is_valid): New macro.
48423         * tests/unictype/test-pr_byname.c (main): Use it.
48424
48425         * lib/unistr.h: Doc fixes.
48426         * lib/uniconv.h: Doc fixes.
48427         * lib/unictype.h: Doc fixes.
48428
48429 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
48430
48431         Port coreutils 7.2 to Solaris 8.
48432
48433         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
48434         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
48435         for Solaris 8.  This is a bit of a hack, as it means it's the
48436         caller's responsibility to add -lnsl if needed, but most likely it
48437         won't be needed since only getaddrinfo uses this and getaddrinfo
48438         isn't needed on Solaris 8.
48439
48440         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
48441         problem to Solaris 8 encountered with coreutils 7.2, which
48442         resulted in a message "fnmatch.c:292: warning: passing argument 4
48443         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
48444         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
48445
48446 2009-04-03  Simon Josefsson  <simon@josefsson.org>
48447
48448         * m4/ld-version-script.m4: Add FIXME comment.
48449
48450 2009-04-02  Simon Josefsson  <simon@josefsson.org>
48451
48452         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
48453         SOVERSION variable.
48454
48455 2009-04-02  Bruno Haible  <bruno@clisp.org>
48456
48457         * Makefile (info, html, dvi, pdf): Combine the rules.
48458         Suggested by Jim Meyering.
48459
48460 2009-04-01  Bruno Haible  <bruno@clisp.org>
48461
48462         * Makefile (info, html, dvi, pdf): New targets.
48463         Reported by Reuben Thomas <rrt@sc3d.org>.
48464
48465 2009-04-01  Bruno Haible  <bruno@clisp.org>
48466
48467         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
48468         can be put into PATH.
48469         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
48470
48471 2009-04-01  Bruno Haible  <bruno@clisp.org>
48472
48473         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
48474
48475 2009-04-01  Bruno Haible  <bruno@clisp.org>
48476
48477         Rename module 'visibility'.
48478         * modules/lib-symbol-visibility: Renamed from modules/visibility.
48479         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
48480         * doc/gnulib.texi: Update.
48481         * MODULES.html.sh (Misc): Update.
48482         * NEWS: Mention the change.
48483
48484 2009-04-01  Simon Josefsson  <simon@josefsson.org>
48485
48486         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
48487         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
48488         Eric Blake <ebb9@byu.net> for review.
48489         * MODULES.html.sh: Add lib-msvc-compat.
48490         * doc/gnulib.texi: Link to new section.
48491         * m4/ld-output-def.m4: New file.
48492         * doc/ld-output-def.texi: New file.
48493
48494 2009-04-01  Simon Josefsson  <simon@josefsson.org>
48495
48496         Rename ld-version-script to lib-symbol-versions.  Suggested by
48497         Bruno Haible <bruno@clisp.org>.
48498         * modules/ld-version-script: Renamed to lib-symbol-versions.
48499         * doc/ld-version-script.texi: Fix module name.
48500         * MODULES.html.sh: Add lib-symbol-versions.
48501
48502 2009-03-31  Simon Josefsson  <simon@josefsson.org>
48503
48504         * modules/u64-tests: New file.
48505         * tests/test-u64.c: New file.
48506
48507 2009-03-04  Simon Josefsson  <simon@josefsson.org>
48508
48509         * MODULES.html.sh: Mention u64.
48510         * modules/u64: New module.
48511         * modules/crypto/sha512: Depend on u64 module instead of providing
48512         u64.h.
48513
48514 2009-03-27  Eric Blake  <ebb9@byu.net>
48515
48516         test-strerror: make debugging EAI_SYSTEM easier
48517         * modules/getaddrinfo-tests (Depends-on): Add strerror.
48518         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
48519         failure was EAI_SYSTEM.
48520
48521 2009-03-25  Bruno Haible  <bruno@clisp.org>
48522
48523         Fix a problem with --enable-relocatable on Solaris 7.
48524         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
48525         since 2008-02-24.
48526
48527 2009-03-25  Eric Blake  <ebb9@byu.net>
48528
48529         test-sockets: avoid gcc warning
48530         * tests/test-sockets.c (main): Silence compiler warning.
48531
48532 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
48533
48534         New modules nproc, pthread, contributed by Glen Lenker.
48535
48536         * MODULES.html.sh: Add pthread, nproc.
48537         * lib/nproc.c: New file.
48538         * lib/nproc.h: New file.
48539         * lib/pthread.in.h: New file.
48540         * m4/pthread.m4: New file.
48541         * modules/nproc: New file.
48542         * modules/pthread: New file.
48543
48544 2009-03-24  Simon Josefsson  <simon@josefsson.org>
48545
48546         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
48547         New variable.
48548
48549 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
48550
48551         filevercmp: handle simple~ and numbered.~3~ backup suffixes
48552         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
48553         * tests/test-filevercmp.c: Add tests for backup suffixes.
48554
48555 2009-03-24  Simon Josefsson  <simon@josefsson.org>
48556
48557         * modules/stdlib (Depends-on): Add stdint, needed when defining
48558         struct random_data on, for example, HP-UX 10.20.  Reported by
48559         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
48560
48561 2009-03-24  Simon Josefsson  <simon@josefsson.org>
48562
48563         * lib/readline.c (readline): Call fflush on stdout after printing
48564         prompt.
48565
48566 2009-03-20  Bruno Haible  <bruno@clisp.org>
48567
48568         Remove dependency from 'close' module to -lws2_32 on native Windows.
48569         * lib/close-hook.h: New file.
48570         * lib/close-hook.c: New file.
48571         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
48572         w32sock.h.
48573         (_gl_close_fd_maybe_socket): Remove function.
48574         (rpl_close): Invoke execute_all_close_hooks instead of
48575         _gl_close_fd_maybe_socket.
48576         * lib/sockets.c: Include close-hook.h, w32sock.h.
48577         (close_fd_maybe_socket): New function, essentially from lib/close.c.
48578         (close_sockets_hook): New variable.
48579         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
48580         (gl_sockets_cleanup): Unregister it.
48581         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
48582         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
48583         * modules/close-hook: New file.
48584         * modules/close (Files): Remove lib/w32sock.h.
48585         (Depends-on): Add close-hook.
48586         (Link): Remove section.
48587         * modules/sockets (Files): Add lib/w32sock.h.
48588         (Depends-on): Add close-hook.
48589         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
48590         invocation.
48591         * NEWS: Mention that LIB_CLOSE is gone.
48592
48593 2009-03-23  Eric Blake  <ebb9@byu.net>
48594
48595         signal-tests: test previous patch
48596         * tests/test-signal.c: New file.
48597         * modules/signal-tests: Likewise.
48598
48599         signal.h: always support 'volatile sig_atomic_t'
48600         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
48601         (gl_SIGNAL_H_DEFAULTS): Add a default.
48602         * modules/signal (Makefile.am): Substitute if needed.
48603         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
48604         users can blindly add volatile.
48605         * doc/posix-headers/signal.texi (signal.h): Document it.
48606         Reported by Matthew Woehlke.
48607
48608 2009-03-23  Jim Meyering  <meyering@redhat.com>
48609
48610         pathmax: PATH_MAX: use pathconf only when available
48611         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
48612         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
48613         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
48614         This avoids a link failure in a PSP cross-compilation environment
48615         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
48616
48617         * lib/vasnprintf.c (divide): Fix typo in comment.
48618
48619 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48620
48621         * gnulib-tool (func_filter_filelist): Fix comment.
48622
48623 2009-03-20  Bruno Haible  <bruno@clisp.org>
48624
48625         Make sockets.h self-contained.
48626         * lib/sockets.c: Include sockets.h first.
48627         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
48628
48629 2009-03-19  Eric Blake  <ebb9@byu.net>
48630
48631         doc: mention more functions added in cygwin 1.7.0
48632         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
48633         addition.
48634         * doc/posix-functions/log2f.texi: Likewise.
48635
48636 2009-03-19  Jim Meyering  <meyering@redhat.com>
48637
48638         fsusage: avoid syntax error due to statement-before-declaration
48639         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
48640         after all declarations.  Reported by Matthew Woehlke in
48641         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
48642
48643 2009-03-18  Eric Blake  <ebb9@byu.net>
48644
48645         build-aux/compile: sync from automake
48646         * build-aux/compile: New file, from automake.
48647         * config/srclist.txt: Mention build-aux/compile.
48648
48649 2009-03-17  Bruno Haible  <bruno@clisp.org>
48650
48651         * lib/git-merge-changelog.c: Fix typo in comment.
48652         Reported by Reuben Thomas <rrt@sc3d.org>.
48653
48654 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
48655
48656         * m4/regex.m4: update and improve help for
48657         --without-included-regex.
48658
48659 2009-03-17  Simon Josefsson  <simon@josefsson.org>
48660
48661         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
48662         failure on missing include files.
48663
48664 2009-03-17  Eric Blake  <ebb9@byu.net>
48665
48666         doc: mention more functions added in cygwin 1.7.0
48667         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
48668         addition.
48669         * doc/posix-functions/fwscanf.texi: Likewise.
48670         * doc/posix-functions/swprintf.texi: Likewise.
48671         * doc/posix-functions/swscanf.texi: Likewise.
48672         * doc/posix-functions/vfwprintf.texi: Likewise.
48673         * doc/posix-functions/vfwscanf.texi: Likewise.
48674         * doc/posix-functions/vswprintf.texi: Likewise.
48675         * doc/posix-functions/vswscanf.texi: Likewise.
48676         * doc/posix-functions/vwprintf.texi: Likewise.
48677         * doc/posix-functions/vwscanf.texi: Likewise.
48678         * doc/posix-functions/wcscasecmp.texi: Likewise.
48679         * doc/posix-functions/wcsdup.texi: Likewise.
48680         * doc/posix-functions/wcsftime.texi: Likewise.
48681         * doc/posix-functions/wcsncasecmp.texi: Likewise.
48682         * doc/posix-functions/wprintf.texi: Likewise.
48683         * doc/posix-functions/wscanf.texi: Likewise.
48684         * doc/glibc-functions/gethostbyname2.texi: Likewise.
48685
48686 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48687
48688         maint.mk: really add $(AM_MAKEFLAGS)
48689         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
48690         was inadvertently omitted in the last commit.
48691         Spotted by Bruno Haible.
48692
48693         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
48694         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
48695         $(AM_MAKEFLAGS)' rather than plain `make'.
48696
48697         gnulib-tool: execute $MAKE not make
48698         * gnulib-tool: Default $MAKE to 'make'.
48699         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
48700         than make.  Initialize $MAKE in the do-autobuild script.
48701
48702         gnulib-tool: use $MAKE not make in generated files
48703         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
48704         make, in generated files.  Initialize $MAKE in the do-autobuild
48705         script.
48706
48707         * top/GNUmakefile (_have-git-version-gen): Fix typo.
48708
48709         GNUmakefile: disable parallelism only for multiple, recursive targets
48710         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
48711         additions in the Makefile.
48712         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
48713         by Automake.
48714         (.NOTPARALLEL): Only disable parallel builds if multiple targets
48715         are listed on the command line and at least one of them is
48716         listed in $(ALL_RECURSIVE_TARGETS).
48717
48718 2009-03-14  Bruno Haible  <bruno@clisp.org>
48719
48720         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
48721         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
48722         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
48723         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
48724         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
48725         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
48726         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
48727         unistr/u8-uctomb.
48728         * modules/unistr/u8-strchr (Depends-on): Likewise.
48729         * modules/unistr/u8-strrchr (Depends-on): Likewise.
48730         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
48731         unistr/u16-uctomb.
48732         * modules/unistr/u16-strchr (Depends-on): Likewise.
48733         * modules/unistr/u16-strrchr (Depends-on): Likewise.
48734
48735 2009-03-12  Bruno Haible  <bruno@clisp.org>
48736
48737         Work around select() bug on Interix 3.5.
48738         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
48739         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
48740         * m4/select.m4: New file.
48741         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
48742         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
48743         * modules/select (Files): Add m4/select.m4.
48744         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
48745         * modules/nanosleep (Depends-on): Add select.
48746         * modules/poll (Depends-on): Likewise.
48747         * doc/posix-functions/select.texi: Mention the Interix bug.
48748         Reported by Markus Duft <mduft@gentoo.org>.
48749
48750         * lib/select.c: Renamed from lib/winsock-select.c.
48751         * modules/select (Files): Add lib/select.c, remove
48752         lib/winsock-select.c.
48753         (configure.ac): Update.
48754
48755 2009-03-12  Jim Meyering  <meyering@redhat.com>
48756
48757         avoid gcc warnings about unused macro definitions
48758         * lib/readtokens.c (STREQ): Remove unused definition.
48759         * lib/xmalloc.c (SIZE_MAX): Likewise.
48760         * lib/openat-die.c (N_): Likewise.
48761         * lib/mountlist.c (SIZE_MAX): Remove definition.
48762         Instead, include <stdint.h>.
48763         * lib/readutmp.c: Likewise.
48764         * modules/readutmp (Depends-on): Add stdint.
48765         * modules/mountlist (Depends-on): Add stdint.
48766         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
48767
48768 2009-03-10  Bruno Haible  <bruno@clisp.org>
48769
48770         Tests for module 'mbmemcasecoll'.
48771         * modules/mbmemcasecoll-tests: New file.
48772         * tests/test-mbmemcasecoll1.sh: New file.
48773         * tests/test-mbmemcasecoll2.sh: New file.
48774         * tests/test-mbmemcasecoll3.sh: New file.
48775         * tests/test-mbmemcasecoll.c: New file.
48776
48777         New module 'mbmemcasecoll'.
48778         * lib/mbmemcasecoll.h: New file.
48779         * lib/mbmemcasecoll.c: New file.
48780         * modules/mbmemcasecoll: New file.
48781
48782         * tests/test-mbmemcasecmp.h: New file, extracted from
48783         tests/test-mbmemcasecmp.c.
48784         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
48785         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
48786         (main): Update.
48787         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
48788
48789 2009-03-09  Bruno Haible  <bruno@clisp.org>
48790
48791         Tests for module 'mbmemcasecmp'.
48792         * modules/mbmemcasecmp-tests: New file.
48793         * tests/test-mbmemcasecmp1.sh: New file.
48794         * tests/test-mbmemcasecmp2.sh: New file.
48795         * tests/test-mbmemcasecmp3.sh: New file.
48796         * tests/test-mbmemcasecmp.c: New file.
48797
48798         New module 'mbmemcasecmp'.
48799         * lib/mbmemcasecmp.h: New file.
48800         * lib/mbmemcasecmp.c: New file.
48801         * modules/mbmemcasecmp: New file.
48802
48803 2009-03-09  Bruno Haible  <bruno@clisp.org>
48804
48805         Tests for module 'unicase/ulc-casecoll'.
48806         * modules/unicase/ulc-casecoll-tests: New file.
48807         * tests/unicase/test-ulc-casecoll1.sh: New file.
48808         * tests/unicase/test-ulc-casecoll2.sh: New file.
48809         * tests/unicase/test-ulc-casecoll.c: New file.
48810
48811         New module 'unicase/ulc-casecoll'.
48812         * lib/unicase.h (ulc_casecoll): New declaration.
48813         * lib/unicase/ulc-casecoll.c: New file.
48814         * modules/unicase/ulc-casecoll: New file.
48815
48816         New module 'unicase/ulc-casexfrm'.
48817         * lib/unicase.h (ulc_casexfrm): New declaration.
48818         * lib/unicase/ulc-casexfrm.c: New file.
48819         * modules/unicase/ulc-casexfrm: New file.
48820
48821 2009-03-09  Bruno Haible  <bruno@clisp.org>
48822
48823         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
48824         invocations.
48825
48826         * m4/mbscasecmp.m4: Remove file.
48827         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
48828         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
48829
48830         * m4/mbscasestr.m4: Remove file.
48831         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
48832         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
48833
48834         * m4/mbschr.m4: Remove file.
48835         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
48836         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
48837
48838         * m4/mbscspn.m4: Remove file.
48839         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
48840         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
48841
48842         * m4/mbslen.m4: Remove file.
48843         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
48844         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
48845
48846         * m4/mbsncasecmp.m4: Remove file.
48847         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
48848         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
48849
48850         * m4/mbsnlen.m4: Remove file.
48851         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
48852         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
48853
48854         * m4/mbspbrk.m4: Remove file.
48855         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
48856         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
48857
48858         * m4/mbspcasecmp.m4: Remove file.
48859         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
48860         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
48861
48862         * m4/mbsrchr.m4: Remove file.
48863         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
48864         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
48865
48866         * m4/mbssep.m4: Remove file.
48867         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
48868         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
48869
48870         * m4/mbsspn.m4: Remove file.
48871         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
48872         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
48873
48874         * m4/mbsstr.m4: Remove file.
48875         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
48876         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
48877
48878         * m4/mbstok_r.m4: Remove file.
48879         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
48880         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
48881
48882         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
48883
48884         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
48885         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
48886
48887         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
48888
48889 2009-03-08  Bruno Haible  <bruno@clisp.org>
48890
48891         Tests for module 'unicase/ulc-casecmp'.
48892         * modules/unicase/ulc-casecmp-tests: New file.
48893         * tests/unicase/test-ulc-casecmp1.sh: New file.
48894         * tests/unicase/test-ulc-casecmp2.sh: New file.
48895         * tests/unicase/test-ulc-casecmp.c: New file.
48896
48897         New module 'unicase/ulc-casecmp'.
48898         * lib/unicase.h (ulc_casecmp): New declaration.
48899         * lib/unicase/ulc-casecmp.c: New file.
48900         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
48901         'const SRC_UNIT *'.
48902         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
48903         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
48904         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
48905         * modules/unicase/ulc-casecmp: New file.
48906
48907         Tests for module 'unicase/u32-is-cased'.
48908         * modules/unicase/u32-is-cased-tests: New file.
48909         * tests/unicase/test-u32-is-cased.c: New file.
48910
48911         Tests for module 'unicase/u16-is-cased'.
48912         * modules/unicase/u16-is-cased-tests: New file.
48913         * tests/unicase/test-u16-is-cased.c: New file.
48914
48915         Tests for module 'unicase/u8-is-cased'.
48916         * modules/unicase/u8-is-cased-tests: New file.
48917         * tests/unicase/test-u8-is-cased.c: New file.
48918         * tests/unicase/test-is-cased.h: New file.
48919
48920         New module 'unicase/u32-is-cased'.
48921         * lib/unicase/u32-is-cased.c: New file.
48922         * modules/unicase/u32-is-cased: New file.
48923
48924         New module 'unicase/u16-is-cased'.
48925         * lib/unicase/u16-is-cased.c: New file.
48926         * modules/unicase/u16-is-cased: New file.
48927
48928         New module 'unicase/u8-is-cased'.
48929         * lib/unicase/u8-is-cased.c: New file.
48930         * lib/unicase/u-is-cased.h: New file.
48931         * modules/unicase/u8-is-cased: New file.
48932
48933         Tests for module 'unicase/u32-is-casefolded'.
48934         * modules/unicase/u32-is-casefolded-tests: New file.
48935         * tests/unicase/test-u32-is-casefolded.c: New file.
48936
48937         Tests for module 'unicase/u16-is-casefolded'.
48938         * modules/unicase/u16-is-casefolded-tests: New file.
48939         * tests/unicase/test-u16-is-casefolded.c: New file.
48940
48941         Tests for module 'unicase/u8-is-casefolded'.
48942         * modules/unicase/u8-is-casefolded-tests: New file.
48943         * tests/unicase/test-u8-is-casefolded.c: New file.
48944         * tests/unicase/test-is-casefolded.h: New file.
48945
48946         New module 'unicase/u32-is-casefolded'.
48947         * lib/unicase/u32-is-casefolded.c: New file.
48948         * modules/unicase/u32-is-casefolded: New file.
48949
48950         New module 'unicase/u16-is-casefolded'.
48951         * lib/unicase/u16-is-casefolded.c: New file.
48952         * modules/unicase/u16-is-casefolded: New file.
48953
48954         New module 'unicase/u8-is-casefolded'.
48955         * lib/unicase/u8-is-casefolded.c: New file.
48956         * modules/unicase/u8-is-casefolded: New file.
48957
48958         Tests for module 'unicase/u32-is-titlecase'.
48959         * modules/unicase/u32-is-titlecase-tests: New file.
48960         * tests/unicase/test-u32-is-titlecase.c: New file.
48961
48962         Tests for module 'unicase/u16-is-titlecase'.
48963         * modules/unicase/u16-is-titlecase-tests: New file.
48964         * tests/unicase/test-u16-is-titlecase.c: New file.
48965
48966         Tests for module 'unicase/u8-is-titlecase'.
48967         * modules/unicase/u8-is-titlecase-tests: New file.
48968         * tests/unicase/test-u8-is-titlecase.c: New file.
48969         * tests/unicase/test-is-titlecase.h: New file.
48970
48971         New module 'unicase/u32-is-titlecase'.
48972         * lib/unicase/u32-is-titlecase.c: New file.
48973         * modules/unicase/u32-is-titlecase: New file.
48974
48975         New module 'unicase/u16-is-titlecase'.
48976         * lib/unicase/u16-is-titlecase.c: New file.
48977         * modules/unicase/u16-is-titlecase: New file.
48978
48979         New module 'unicase/u8-is-titlecase'.
48980         * lib/unicase/u8-is-titlecase.c: New file.
48981         * modules/unicase/u8-is-titlecase: New file.
48982
48983         Tests for module 'unicase/u32-is-lowercase'.
48984         * modules/unicase/u32-is-lowercase-tests: New file.
48985         * tests/unicase/test-u32-is-lowercase.c: New file.
48986
48987         Tests for module 'unicase/u16-is-lowercase'.
48988         * modules/unicase/u16-is-lowercase-tests: New file.
48989         * tests/unicase/test-u16-is-lowercase.c: New file.
48990
48991         Tests for module 'unicase/u8-is-lowercase'.
48992         * modules/unicase/u8-is-lowercase-tests: New file.
48993         * tests/unicase/test-u8-is-lowercase.c: New file.
48994         * tests/unicase/test-is-lowercase.h: New file.
48995
48996         New module 'unicase/u32-is-lowercase'.
48997         * lib/unicase/u32-is-lowercase.c: New file.
48998         * modules/unicase/u32-is-lowercase: New file.
48999
49000         New module 'unicase/u16-is-lowercase'.
49001         * lib/unicase/u16-is-lowercase.c: New file.
49002         * modules/unicase/u16-is-lowercase: New file.
49003
49004         New module 'unicase/u8-is-lowercase'.
49005         * lib/unicase/u8-is-lowercase.c: New file.
49006         * modules/unicase/u8-is-lowercase: New file.
49007
49008         Tests for module 'unicase/u32-is-uppercase'.
49009         * modules/unicase/u32-is-uppercase-tests: New file.
49010         * tests/unicase/test-u32-is-uppercase.c: New file.
49011
49012         Tests for module 'unicase/u16-is-uppercase'.
49013         * modules/unicase/u16-is-uppercase-tests: New file.
49014         * tests/unicase/test-u16-is-uppercase.c: New file.
49015
49016         Tests for module 'unicase/u8-is-uppercase'.
49017         * modules/unicase/u8-is-uppercase-tests: New file.
49018         * tests/unicase/test-u8-is-uppercase.c: New file.
49019         * tests/unicase/test-is-uppercase.h: New file.
49020
49021         New module 'unicase/u32-is-uppercase'.
49022         * lib/unicase/u32-is-uppercase.c: New file.
49023         * modules/unicase/u32-is-uppercase: New file.
49024
49025         New module 'unicase/u16-is-uppercase'.
49026         * lib/unicase/u16-is-uppercase.c: New file.
49027         * modules/unicase/u16-is-uppercase: New file.
49028
49029         New module 'unicase/u8-is-uppercase'.
49030         * lib/unicase/u8-is-uppercase.c: New file.
49031         * modules/unicase/u8-is-uppercase: New file.
49032
49033         New module 'unicase/u32-is-invariant'.
49034         * lib/unicase/u32-is-invariant.c: New file.
49035         * modules/unicase/u32-is-invariant: New file.
49036
49037         New module 'unicase/u16-is-invariant'.
49038         * lib/unicase/u16-is-invariant.c: New file.
49039         * modules/unicase/u16-is-invariant: New file.
49040
49041         New module 'unicase/u8-is-invariant'.
49042         * lib/unicase/u8-is-invariant.c: New file.
49043         * lib/unicase/invariant.h: New file.
49044         * lib/unicase/u-is-invariant.h: New file.
49045         * modules/unicase/u8-is-invariant: New file.
49046
49047         Tests for module 'unicase/u32-casecoll'.
49048         * modules/unicase/u32-casecoll-tests: New file.
49049         * tests/unicase/test-u32-casecoll.c: New file.
49050
49051         Tests for module 'unicase/u16-casecoll'.
49052         * modules/unicase/u16-casecoll-tests: New file.
49053         * tests/unicase/test-u16-casecoll.c: New file.
49054
49055         Tests for module 'unicase/u8-casecoll'.
49056         * modules/unicase/u8-casecoll-tests: New file.
49057         * tests/unicase/test-u8-casecoll.c: New file.
49058
49059         New module 'unicase/u32-casecoll'.
49060         * lib/unicase/u32-casecoll.c: New file.
49061         * modules/unicase/u32-casecoll: New file.
49062
49063         New module 'unicase/u16-casecoll'.
49064         * lib/unicase/u16-casecoll.c: New file.
49065         * modules/unicase/u16-casecoll: New file.
49066
49067         New module 'unicase/u8-casecoll'.
49068         * lib/unicase/u8-casecoll.c: New file.
49069         * lib/unicase/u-casecoll.h: New file.
49070         * modules/unicase/u8-casecoll: New file.
49071
49072         New module 'unicase/u32-casexfrm'.
49073         * lib/unicase/u32-casexfrm.c: New file.
49074         * modules/unicase/u32-casexfrm: New file.
49075
49076         New module 'unicase/u16-casexfrm'.
49077         * lib/unicase/u16-casexfrm.c: New file.
49078         * modules/unicase/u16-casexfrm: New file.
49079
49080         New module 'unicase/u8-casexfrm'.
49081         * lib/unicase/u8-casexfrm.c: New file.
49082         * lib/unicase/u-casexfrm.h: New file.
49083         * modules/unicase/u8-casexfrm: New file.
49084
49085         Tests for module 'unicase/u32-casecmp'.
49086         * modules/unicase/u32-casecmp-tests: New file.
49087         * tests/unicase/test-u32-casecmp.c: New file.
49088
49089         Tests for module 'unicase/u16-casecmp'.
49090         * modules/unicase/u16-casecmp-tests: New file.
49091         * tests/unicase/test-u16-casecmp.c: New file.
49092
49093         Tests for module 'unicase/u8-casecmp'.
49094         * modules/unicase/u8-casecmp-tests: New file.
49095         * tests/unicase/test-u8-casecmp.c: New file.
49096         * tests/unicase/test-casecmp.h: New file.
49097
49098         New module 'unicase/u32-casecmp'.
49099         * lib/unicase/u32-casecmp.c: New file.
49100         * modules/unicase/u32-casecmp: New file.
49101
49102         New module 'unicase/u16-casecmp'.
49103         * lib/unicase/u16-casecmp.c: New file.
49104         * modules/unicase/u16-casecmp: New file.
49105
49106         New module 'unicase/u8-casecmp'.
49107         * lib/unicase/u8-casecmp.c: New file.
49108         * lib/unicase/u-casecmp.h: New file.
49109         * modules/unicase/u8-casecmp: New file.
49110
49111         Tests for module 'unicase/u32-casefold'.
49112         * modules/unicase/u32-casefold-tests: New file.
49113         * tests/unicase/test-u32-casefold.c: New file.
49114
49115         Tests for module 'unicase/u16-casefold'.
49116         * modules/unicase/u16-casefold-tests: New file.
49117         * tests/unicase/test-u16-casefold.c: New file.
49118
49119         Tests for module 'unicase/u8-casefold'.
49120         * modules/unicase/u8-casefold-tests: New file.
49121         * tests/unicase/test-u8-casefold.c: New file.
49122
49123         New module 'unicase/u32-casefold'.
49124         * lib/unicase/u32-casefold.c: New file.
49125         * modules/unicase/u32-casefold: New file.
49126
49127         New module 'unicase/u16-casefold'.
49128         * lib/unicase/u16-casefold.c: New file.
49129         * modules/unicase/u16-casefold: New file.
49130
49131         New module 'unicase/u8-casefold'.
49132         * lib/unicase/u8-casefold.c: New file.
49133         * lib/unicase/u-casefold.h: New file.
49134         * modules/unicase/u8-casefold: New file.
49135
49136         New module 'unicase/tocasefold'.
49137         * lib/unicase/casefold.h: New file.
49138         * lib/unicase/tocasefold.c: New file.
49139         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
49140         * modules/unicase/tocasefold: New file.
49141
49142         Tests for module 'unicase/u32-totitle'.
49143         * modules/unicase/u32-totitle-tests: New file.
49144         * tests/unicase/test-u32-totitle.c: New file.
49145
49146         Tests for module 'unicase/u16-totitle'.
49147         * modules/unicase/u16-totitle-tests: New file.
49148         * tests/unicase/test-u16-totitle.c: New file.
49149
49150         Tests for module 'unicase/u8-totitle'.
49151         * modules/unicase/u8-totitle-tests: New file.
49152         * tests/unicase/test-u8-totitle.c: New file.
49153
49154         New module 'unicase/u32-totitle'.
49155         * lib/unicase/u32-totitle.c: New file.
49156         * modules/unicase/u32-totitle: New file.
49157
49158         New module 'unicase/u16-totitle'.
49159         * lib/unicase/u16-totitle.c: New file.
49160         * modules/unicase/u16-totitle: New file.
49161
49162         New module 'unicase/u8-totitle'.
49163         * lib/unicase/u8-totitle.c: New file.
49164         * lib/unicase/u-totitle.h: New file.
49165         * modules/unicase/u8-totitle: New file.
49166
49167         Tests for module 'unicase/u32-tolower'.
49168         * modules/unicase/u32-tolower-tests: New file.
49169         * tests/unicase/test-u32-tolower.c: New file.
49170
49171         Tests for module 'unicase/u16-tolower'.
49172         * modules/unicase/u16-tolower-tests: New file.
49173         * tests/unicase/test-u16-tolower.c: New file.
49174
49175         Tests for module 'unicase/u8-tolower'.
49176         * modules/unicase/u8-tolower-tests: New file.
49177         * tests/unicase/test-u8-tolower.c: New file.
49178
49179         New module 'unicase/u32-tolower'.
49180         * lib/unicase/u32-tolower.c: New file.
49181         * modules/unicase/u32-tolower: New file.
49182
49183         New module 'unicase/u16-tolower'.
49184         * lib/unicase/u16-tolower.c: New file.
49185         * modules/unicase/u16-tolower: New file.
49186
49187         New module 'unicase/u8-tolower'.
49188         * lib/unicase/u8-tolower.c: New file.
49189         * modules/unicase/u8-tolower: New file.
49190
49191         Tests for module 'unicase/u32-toupper'.
49192         * modules/unicase/u32-toupper-tests: New file.
49193         * tests/unicase/test-u32-toupper.c: New file.
49194
49195         Tests for module 'unicase/u16-toupper'.
49196         * modules/unicase/u16-toupper-tests: New file.
49197         * tests/unicase/test-u16-toupper.c: New file.
49198
49199         Tests for module 'unicase/u8-toupper'.
49200         * modules/unicase/u8-toupper-tests: New file.
49201         * tests/unicase/test-u8-toupper.c: New file.
49202
49203         New module 'unicase/u32-toupper'.
49204         * lib/unicase/u32-toupper.c: New file.
49205         * modules/unicase/u32-toupper: New file.
49206
49207         New module 'unicase/u16-toupper'.
49208         * lib/unicase/u16-toupper.c: New file.
49209         * modules/unicase/u16-toupper: New file.
49210
49211         New module 'unicase/u8-toupper'.
49212         * lib/unicase/u8-toupper.c: New file.
49213         * modules/unicase/u8-toupper: New file.
49214
49215         New module 'unicase/u32-casemap'.
49216         * lib/unicase/u32-casemap.c: New file.
49217         * modules/unicase/u32-casemap: New file.
49218
49219         New module 'unicase/u16-casemap'.
49220         * lib/unicase/u16-casemap.c: New file.
49221         * modules/unicase/u16-casemap: New file.
49222
49223         New module 'unicase/u8-casemap'.
49224         * lib/unicase/unicasemap.h: New file.
49225         * lib/unicase/u8-casemap.c: New file.
49226         * lib/unicase/u-casemap.h: New file.
49227         * modules/unicase/u8-casemap: New file.
49228
49229         New module 'unicase/special-casing'.
49230         * lib/unicase/special-casing.h: New file.
49231         * lib/unicase/special-casing.c: New file.
49232         * lib/unicase/special-casing-table.gperf: New file, generated by
49233         gen-uni-tables.c.
49234         * modules/unicase/special-casing: New file.
49235
49236         Tests for module 'unicase/locale-language'.
49237         * modules/unicase/locale-language-tests: New file.
49238         * tests/unicase/test-locale-language.sh: New file.
49239         * tests/unicase/test-locale-language.c: New file.
49240
49241         New module 'unicase/locale-language'.
49242         * lib/unicase/locale-language.c: New file.
49243         * lib/unicase/locale-languages.gperf: New file.
49244         * modules/unicase/locale-language: New file.
49245
49246         Generate more tables for case conversion and case folding.
49247         * lib/gen-uni-tables.c (SCC_*): New enum items.
49248         (struct special_casing_rule): New type.
49249         (casing_rules, num_casing_rules, allocated_casing_rules): New
49250         variables.
49251         (add_casing_rule, fill_casing_rules): New functions.
49252         (struct casefold_rule): New type.
49253         (casefolding_rules, num_casefolding_rules,
49254         allocated_casefolding_rules): New variables.
49255         (fill_casefolding_rules): New function.
49256         (unicode_casefold): New variable.
49257         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
49258         sort_casing_rules, output_casing_rules): New functions.
49259         (main): Accept to more arguments: SpecialCasing.txt and
49260         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
49261         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
49262         Output mapping for casefolding.
49263
49264         * lib/unicase.h: Include stdbool.h, uninorm.h.
49265         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
49266         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
49267         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
49268         arguments.
49269         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
49270         resultp arguments.
49271         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
49272         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
49273         resultp arguments.
49274         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
49275         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
49276         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
49277         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
49278         declarations.
49279         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
49280
49281 2009-03-08  Bruno Haible  <bruno@clisp.org>
49282
49283         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
49284         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
49285         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
49286         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
49287
49288 2009-03-07  Bruno Haible  <bruno@clisp.org>
49289
49290         Adjust u*_normcmp, u*_normcoll API.
49291         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
49292         u16_normcoll, u32_normcoll): Change failure conventions.
49293         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
49294         errno and return -1.
49295         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
49296
49297 2009-03-07  Bruno Haible  <bruno@clisp.org>
49298
49299         Tests for module 'uninorm/u32-normcoll'.
49300         * modules/uninorm/u32-normcoll-tests: New file.
49301         * tests/uninorm/test-u32-normcoll.c: New file.
49302
49303         Tests for module 'uninorm/u16-normcoll'.
49304         * modules/uninorm/u16-normcoll-tests: New file.
49305         * tests/uninorm/test-u16-normcoll.c: New file.
49306
49307         Tests for module 'uninorm/u8-normcoll'.
49308         * modules/uninorm/u8-normcoll-tests: New file.
49309         * tests/uninorm/test-u8-normcoll.c: New file.
49310
49311 2009-03-07  Bruno Haible  <bruno@clisp.org>
49312
49313         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
49314         tests/uninorm/test-u32-normcmp.c.
49315         * tests/uninorm/test-u32-normcmp.c: Include it.
49316         (test_nonascii): New function, extracted from main. Add some more
49317         tests.
49318         (main): Invoke test_ascii and test_nonascii.
49319         * modules/uninorm/u32-normcmp-tests (Files): Add
49320         tests/uninorm/test-u32-normcmp.h.
49321         (Depends-on): Remove uninorm/u32-normcmp.
49322
49323         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
49324         tests/uninorm/test-u16-normcmp.c.
49325         * tests/uninorm/test-u16-normcmp.c: Include it.
49326         (test_nonascii): New function, extracted from main. Add some more
49327         tests.
49328         (main): Invoke test_ascii and test_nonascii.
49329         * modules/uninorm/u16-normcmp-tests (Files): Add
49330         tests/uninorm/test-u16-normcmp.h.
49331         (Depends-on): Remove uninorm/u16-normcmp.
49332
49333         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
49334         tests/uninorm/test-u8-normcmp.c.
49335         * tests/uninorm/test-u8-normcmp.c: Include it.
49336         (test_nonascii): New function, extracted from main. Add some more
49337         tests.
49338         (main): Invoke test_ascii and test_nonascii.
49339         * modules/uninorm/u8-normcmp-tests (Files): Add
49340         tests/uninorm/test-u8-normcmp.h.
49341         (Depends-on): Remove uninorm/u8-normcmp.
49342
49343 2009-03-07  Bruno Haible  <bruno@clisp.org>
49344
49345         New module 'uninorm/u32-normcoll'.
49346         * lib/uninorm/u32-normcoll.c: New file.
49347         * modules/uninorm/u32-normcoll: New file.
49348
49349         New module 'uninorm/u16-normcoll'.
49350         * lib/uninorm/u16-normcoll.c: New file.
49351         * modules/uninorm/u16-normcoll: New file.
49352
49353         New module 'uninorm/u8-normcoll'.
49354         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
49355         declarations.
49356         * lib/uninorm/u8-normcoll.c: New file.
49357         * lib/uninorm/u-normcoll.h: New file.
49358         * modules/uninorm/u8-normcoll: New file.
49359
49360         New module 'uninorm/u32-normxfrm'.
49361         * lib/uninorm/u32-normxfrm.c: New file.
49362         * modules/uninorm/u32-normxfrm: New file.
49363
49364         New module 'uninorm/u16-normxfrm'.
49365         * lib/uninorm/u16-normxfrm.c: New file.
49366         * modules/uninorm/u16-normxfrm: New file.
49367
49368         New module 'uninorm/u8-normxfrm'.
49369         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
49370         declarations.
49371         * lib/uninorm/u8-normxfrm.c: New file.
49372         * lib/uninorm/u-normxfrm.h: New file.
49373         * modules/uninorm/u8-normxfrm: New file.
49374
49375 2009-03-07  Bruno Haible  <bruno@clisp.org>
49376
49377         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
49378         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
49379         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
49380
49381 2009-03-07  Bruno Haible  <bruno@clisp.org>
49382
49383         New module 'memxfrm'.
49384         * lib/memxfrm.h: New file.
49385         * lib/memxfrm.c: New file.
49386         * modules/memxfrm: New file.
49387
49388 2009-03-07  Bruno Haible  <bruno@clisp.org>
49389
49390         New module 'memcmp2'.
49391         * lib/memcmp2.h: New file.
49392         * lib/memcmp2.c: New file.
49393         * modules/memcmp2: New file.
49394
49395 2009-03-07  Bruno Haible  <bruno@clisp.org>
49396
49397         Tests for module 'uninorm/decomposing-form'.
49398         * modules/uninorm/decomposing-form-tests: New file.
49399         * tests/uninorm/test-decomposing-form.c: New file.
49400
49401         New module 'uninorm/decomposing-form'.
49402         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
49403         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
49404         Add 'decomposing_variant' field.
49405         * lib/uninorm/decomposing-form.c: New file.
49406         * lib/uninorm/nfc.c (uninorm_nfc): Update.
49407         * lib/uninorm/nfd.c (uninorm_nfd): Update.
49408         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
49409         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
49410         * modules/uninorm/decomposing-form: New file.
49411         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
49412         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
49413
49414 2009-03-07  Bruno Haible  <bruno@clisp.org>
49415
49416         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
49417         strings.
49418
49419 2009-03-06  Bruno Haible  <bruno@clisp.org>
49420
49421         Tests for module 'uninorm/u32-normcmp'.
49422         * tests/uninorm/test-u32-normcmp.c: New file.
49423         * modules/uninorm/u32-normcmp-tests: New file.
49424
49425         Tests for module 'uninorm/u16-normcmp'.
49426         * tests/uninorm/test-u16-normcmp.c: New file.
49427         * modules/uninorm/u16-normcmp-tests: New file.
49428
49429         Tests for module 'uninorm/u8-normcmp'.
49430         * tests/uninorm/test-u8-normcmp.c: New file.
49431         * modules/uninorm/u8-normcmp-tests: New file.
49432
49433         New module 'uninorm/u32-normcmp'.
49434         * lib/uninorm/u32-normcmp.c: New file.
49435         * modules/uninorm/u32-normcmp: New file.
49436
49437         New module 'uninorm/u16-normcmp'.
49438         * lib/uninorm/u16-normcmp.c: New file.
49439         * modules/uninorm/u16-normcmp: New file.
49440
49441         New module 'uninorm/u8-normcmp'.
49442         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
49443         declarations.
49444         * lib/uninorm/u8-normcmp.c: New file.
49445         * lib/uninorm/u-normcmp.h: New file.
49446         * modules/uninorm/u8-normcmp: New file.
49447
49448 2009-03-06  Bruno Haible  <bruno@clisp.org>
49449
49450         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
49451         Reported by Eric Blake.
49452
49453 2009-03-06  Eric Blake  <ebb9@byu.net>
49454             Bruno Haible  <bruno@clisp.org>
49455
49456         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
49457         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
49458         condition.
49459         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
49460         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
49461         condition.
49462         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
49463
49464 2009-03-06  Eric Blake  <ebb9@byu.net>
49465
49466         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
49467         to avoid compiler warnings.
49468         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
49469
49470 2009-03-05  Bruno Haible  <bruno@clisp.org>
49471
49472         * tests/test-ftell.c (main): Disable test beyond end of file on
49473         FreeMiNT.
49474         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
49475
49476 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
49477
49478         * lib/filevercmp.c: Move hidden files up in ordering.
49479         * tests/test-filevercmp.c: Add tests for hidden files.
49480
49481 2009-03-04  Bruno Haible  <bruno@clisp.org>
49482
49483         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
49484         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
49485         AM_CFLAGS.
49486         Reported by Simon Josefsson.
49487
49488 2009-03-03  Bruno Haible  <bruno@clisp.org>
49489
49490         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
49491         Reported by Simon Josefsson.
49492
49493         * doc/ld-version-script.texi: Update node reference.
49494
49495 2009-03-03  Bruno Haible  <bruno@clisp.org>
49496
49497         * modules/visibility (License): Change to 'unlimited'.
49498         Suggested by Simon Josefsson.
49499
49500 2009-03-03  Jim Meyering  <meyering@redhat.com>
49501
49502         unlinkdir: cannot_unlink_dir may modify process state
49503         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
49504         it's neither thread-safe nor appropriate for use in a library.
49505
49506 2009-03-03  Eric Blake  <ebb9@byu.net>
49507
49508         test-closein: silence test under Darwin
49509         * tests/test-closein.sh: Ignore stderr from cat, since we don't
49510         care if it dies from EPIPE or EBADF.
49511
49512 2009-03-03  Bruno Haible  <bruno@clisp.org>
49513
49514         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
49515         earlier.
49516         * doc/visibility.texi: Fix @node and @section.
49517
49518 2009-03-03  Simon Josefsson  <simon@josefsson.org>
49519
49520         * doc/gnulib.texi: Link to sections for ld version script and
49521         visibility.
49522         * doc/visibility.texi: Add @node and @section.
49523         * modules/ld-version-script: New module.
49524         * m4/ld-version-script.m4: New file.
49525         * doc/ld-version-script.texi: New file.
49526
49527 2009-03-02  David Lutterkort  <lutter@redhat.com>
49528
49529         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
49530         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
49531
49532 2009-03-02  Bruno Haible  <bruno@clisp.org>
49533
49534         * doc/visibility.texi: Mention libtool's -export-symbols option.
49535
49536 2009-03-02  Jim Meyering  <meyering@redhat.com>
49537
49538         announce-gen: new option: --no-print-checksums
49539         * build-aux/announce-gen (usage): Describe it.
49540         (print_checksums): Print a newline here, not in the [*] footnote.
49541         (main): Honor it.
49542
49543 2009-03-01  Bruno Haible  <bruno@clisp.org>
49544
49545         Use socklen_t in the native Windows replacements prototypes.
49546         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
49547         instead of 'int'.
49548         * lib/getsockopt.c (rpl_getsockopt): Likewise.
49549         * lib/setsockopt.c (rpl_setsockopt): Likewise.
49550         * modules/getsockopt (Depends-on): Add socklen.
49551         * modules/setsockopt (Depends-on): Add socklen.
49552
49553 2009-03-01  Bruno Haible  <bruno@clisp.org>
49554
49555         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
49556         least 4.2.
49557
49558 2009-03-01  Eric Blake  <ebb9@byu.net>
49559             Bruno Haible  <bruno@clisp.org>
49560
49561         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
49562         error messages.
49563         * lib/wait-process.c (wait_subprocess): Omit error message about
49564         deadly signal sent to the child of termsigp != NULL.
49565
49566 2009-03-01  Eric Blake  <ebb9@byu.net>
49567
49568         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
49569
49570 2009-03-01  Bruno Haible  <bruno@clisp.org>
49571
49572         Avoid a gcc warning.
49573         * tests/test-sched.c (b): Make global.
49574         Reported by Eric Blake.
49575
49576 2009-01-19  Martin Lambers  <marlam@marlam.de>
49577
49578         Provide POSIX semantics for socket timeout options on W32.
49579         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
49580         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
49581         * modules/setsockopt: Depend on sys_time module for struct timeval.
49582         * modules/getsockopt: Depend on sys_time module for struct timeval.
49583
49584 2009-03-01  Simon Josefsson  <simon@josefsson.org>
49585
49586         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
49587         __USE_GNU, for consistency with netdb.in.h.
49588         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
49589
49590 2009-03-01  Bruno Haible  <bruno@clisp.org>
49591
49592         More support for FreeMiNT.
49593         * lib/fseeko.c (rpl_fseeko): Complete last commit.
49594         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
49595
49596 2009-03-01  Bruno Haible  <bruno@clisp.org>
49597
49598         More support for FreeMiNT.
49599         * lib/fpurge.c (fpurge): Correct last commit.
49600         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
49601
49602 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49603
49604         Fix unportable awk script in vc-list-files.
49605         * build-aux/vc-list-files: In the replacement awk script, use
49606         substr with a second argument of 1, not zero.
49607         Report by Simon Josefsson.
49608
49609 2009-02-28  Bruno Haible  <bruno@clisp.org>
49610
49611         More support for FreeMiNT.
49612         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
49613         to FreeMiNT today.
49614         * lib/fwriting.c (fwriting): Likewise.
49615         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
49616
49617 2009-02-28  Bruno Haible  <bruno@clisp.org>
49618
49619         * tests/test-freadseek.c (main): Disable test beyond end of file on
49620         FreeMiNT.
49621         * tests/test-ftello.c (main): Likewise.
49622         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
49623
49624 2009-02-28  Bruno Haible  <bruno@clisp.org>
49625
49626         Add tentative support for FreeMiNT.
49627         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
49628         * lib/fpurge.c (fpurge): Likewise.
49629         * lib/freadable.c (freadable): Likewise.
49630         * lib/freading.c (freading): Likewise.
49631         * lib/freadptr.c (freadptr): Likewise.
49632         * lib/freadseek.c (freadptrinc): Likewise.
49633         * lib/fseeko.c (rpl_fseeko): Likewise.
49634         * lib/fseterr.c (fseterr): Likewise.
49635         * lib/fwritable.c (fwritable): Likewise.
49636         * lib/fwriting.c (fwriting): Likewise.
49637         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
49638         Hourihane.
49639         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
49640
49641 2009-02-28  Bruno Haible  <bruno@clisp.org>
49642
49643         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
49644         SIGCHLD.
49645         Reported by Jim Meyering.
49646
49647 2009-02-28  Bruno Haible  <bruno@clisp.org>
49648
49649         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
49650         Mention the results of these tests on various platforms.
49651         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
49652         order.
49653         * doc/posix-functions/printf.texi: Likewise.
49654         * doc/posix-functions/snprintf.texi: Likewise.
49655         * doc/posix-functions/sprintf.texi: Likewise.
49656         * doc/posix-functions/vfprintf.texi: Likewise.
49657         * doc/posix-functions/vprintf.texi: Likewise.
49658         * doc/posix-functions/vsnprintf.texi: Likewise.
49659         * doc/posix-functions/vsprintf.texi: Likewise.
49660         * doc/glibc-functions/obstack_printf.texi: Likewise.
49661         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
49662
49663 2009-02-28  Bruno Haible  <bruno@clisp.org>
49664
49665         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
49666         Reported by Loïc Minier <lool@dooz.org>.
49667
49668 2009-02-27  Bruno Haible  <bruno@clisp.org>
49669
49670         * gnulib-tool (func_import): Make the sed expression used to create the
49671         sed script for updating the .gitignore file POSIX compliant.
49672         Reported by Eric Blake.
49673
49674 2009-02-27  Bruno Haible  <bruno@clisp.org>
49675
49676         * gnulib-tool (sed): Don't alias as "sed --posix".
49677         Reported by Eric Blake.
49678
49679 2009-02-27  Bruno Haible  <bruno@clisp.org>
49680
49681         Avoid test link errors.
49682         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
49683         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
49684         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
49685         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
49686         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
49687
49688 2009-02-27  Bruno Haible  <bruno@clisp.org>
49689
49690         Avoid spurious "(cached)" in configure output.
49691         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
49692         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
49693         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
49694         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
49695         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
49696         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
49697         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
49698         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
49699         Reported by Eric Blake.
49700
49701 2009-02-27  Eric Blake  <ebb9@byu.net>
49702
49703         printf: fix regression in previous patch
49704         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
49705
49706 2009-02-27  Bruno Haible  <bruno@clisp.org>
49707
49708         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
49709         value.
49710         * lib/stdint.in.h: Likewise.
49711         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
49712
49713 2009-02-27  Eric Blake  <ebb9@byu.net>
49714
49715         doc: mention more functions added in cygwin 1.7.0
49716         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
49717         addition.
49718         * doc/posix-functions/open_wmemstream.texi: Likewise.
49719         * doc/posix-functions/wcsnlen.texi: Likewise.
49720         * doc/posix-functions/wcsnrtombs.texi: Likewise.
49721         * doc/posix-functions/wcstod.texi: Likewise.
49722         * doc/posix-functions/wcstof.texi: Likewise.
49723         * doc/posix-functions/wcstoimax.texi: Likewise.
49724         * doc/posix-functions/wcstok.texi: Likewise.
49725         * doc/posix-functions/wcstoumax.texi: Likewise.
49726
49727         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
49728         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
49729         * doc/posix-functions/fprintf.texi: Update.
49730         * doc/posix-functions/printf.texi: Update.
49731         * doc/posix-functions/snprintf.texi: Update.
49732         * doc/posix-functions/sprintf.texi: Update.
49733         * doc/posix-functions/vfprintf.texi: Update.
49734         * doc/posix-functions/vprintf.texi: Update.
49735         * doc/posix-functions/vsnprintf.texi: Update.
49736         * doc/posix-functions/vsprintf.texi: Update.
49737         * doc/glibc-functions/obstack_printf.texi: Update.
49738         * doc/glibc-functions/obstack_vprintf.texi: Update.
49739
49740 2009-02-26  Eric Blake  <ebb9@byu.net>
49741
49742         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
49743         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
49744         compilation bug by using runtime conversion.
49745         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
49746         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
49747         * modules/ceill-tests (Files): Use nan.h.
49748         * modules/floorl-tests (Files): Likewise.
49749         * modules/frexpl-tests (Files): Likewise.
49750         * modules/isnanl-tests (Files): Likewise.
49751         * modules/ldexpl-tests (Files): Likewise.
49752         * modules/roundl-tests (Files): Likewise.
49753         * modules/truncl-tests (Files): Likewise.
49754         * tests/test-ceill.c (main): Use a working NaN.
49755         * tests/test-floorl.c (main): Likewise.
49756         * tests/test-frexpl.c (main): Likewise.
49757         * tests/test-isnan.c (test_long_double): Likewise.
49758         * tests/test-isnanl.h (main): Likewise.
49759         * tests/test-ldexpl.h (main): Likewise.
49760         * tests/test-roundl.h (main): Likewise.
49761         * tests/test-truncl.h (main): Likewise.
49762         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
49763
49764 2009-02-26  Eric Blake  <ebb9@byu.net>
49765             Bruno Haible  <bruno@clisp.org>
49766
49767         Work around a *printf bug with %ls on Solaris.
49768         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
49769         precision is specified, sprintf stops converting the wide string
49770         argument when the number of bytes that have been produced by this
49771         conversion equals or exceeds the precision.
49772         * doc/posix-functions/fprintf.texi: Update.
49773         * doc/posix-functions/printf.texi: Update.
49774         * doc/posix-functions/snprintf.texi: Update.
49775         * doc/posix-functions/sprintf.texi: Update.
49776         * doc/posix-functions/vfprintf.texi: Update.
49777         * doc/posix-functions/vprintf.texi: Update.
49778         * doc/posix-functions/vsnprintf.texi: Update.
49779         * doc/posix-functions/vsprintf.texi: Update.
49780         * doc/glibc-functions/obstack_printf.texi: Update.
49781         * doc/glibc-functions/obstack_vprintf.texi: Update.
49782
49783 2009-02-26  Eric Blake  <ebb9@byu.net>
49784
49785         stdlib: favor compiler check of random.h
49786         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
49787         to avoid an ObjC random.h installed by Swarm.
49788
49789 2009-02-26  Bruno Haible  <bruno@clisp.org>
49790
49791         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
49792         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
49793         Reported by Gary V. Vaughan <gary@gnu.org>.
49794
49795 2009-02-26  Bruno Haible  <bruno@clisp.org>
49796
49797         Fix *printf behaviour regarding the %ls directive.
49798         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
49799         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
49800         NEED_PRINTF_DIRECTIVE_LS.
49801         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
49802         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
49803         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
49804         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
49805         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
49806         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
49807         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
49808         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
49809         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
49810         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
49811         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
49812         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
49813         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
49814         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
49815         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
49816         * doc/posix-functions/fprintf.texi: Update.
49817         * doc/posix-functions/printf.texi: Update.
49818         * doc/posix-functions/snprintf.texi: Update.
49819         * doc/posix-functions/sprintf.texi: Update.
49820         * doc/posix-functions/vfprintf.texi: Update.
49821         * doc/posix-functions/vprintf.texi: Update.
49822         * doc/posix-functions/vsnprintf.texi: Update.
49823         * doc/posix-functions/vsprintf.texi: Update.
49824         * doc/glibc-functions/obstack_printf.texi: Update.
49825         * doc/glibc-functions/obstack_vprintf.texi: Update.
49826         Reported by Eric Blake.
49827
49828 2009-02-25  Bruno Haible  <bruno@clisp.org>
49829
49830         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
49831         with known value.
49832         Reported by Gary V. Vaughan <gary@gnu.org>.
49833
49834 2009-02-25  Bruno Haible  <bruno@clisp.org>
49835
49836         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
49837         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
49838         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
49839         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
49840         Reported by Gary V. Vaughan <gary@gnu.org>.
49841
49842 2009-02-25  Bruno Haible  <bruno@clisp.org>
49843
49844         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
49845         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
49846         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
49847         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
49848         Reported by Gary V. Vaughan <gary@gnu.org>.
49849
49850 2009-02-25  Eric Blake  <ebb9@byu.net>
49851
49852         tests: skip fseek/ftell tests if ungetc is broken
49853         * m4/ungetc.m4: New file.
49854         * modules/fseek-tests: Split test, so ungetc dependency is
49855         separate from rest of test.
49856         * modules/fseeko-tests: Likewise.
49857         * modules/ftell-tests: Likewise.
49858         * modules/ftello-tests: Likewise.
49859         * tests/test-fseek.c (main): Isolate ungetc dependency.
49860         * tests/test-fseeko.c (main): Likewise.
49861         * tests/test-ftell.c (main): Likewise.
49862         * tests/test-ftello.c (main): Likewise.
49863         * tests/test-fseek2.sh: New file.
49864         * tests/test-fseeko2.sh: Likewise.
49865         * tests/test-ftell2.sh: Likewise.
49866         * tests/test-ftello2.sh: Likewise.
49867
49868 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
49869
49870         test-getaddrinfo: fix usage of skip return code 77
49871         * tests/test-gettaddrinfo.c: Return skip code 77 only
49872         for first occurrence of skip (4x77 is not 77)
49873
49874 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
49875
49876         strtod: avoid C99 decl-after-statement
49877         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
49878
49879 2009-02-24  Eric Blake  <ebb9@byu.net>
49880
49881         strtod: detect HP-UX 11.31 bug
49882         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
49883         Reported by Gary V. Vaughan.
49884
49885 2009-02-23  Bruno Haible  <bruno@clisp.org>
49886
49887         Fix invalid read past end of memory block.
49888         * lib/vasnprintf.c (DCHAR_SET): Define.
49889         (local_wcslen): Define only when needed.
49890         (local_strnlen, local_wcsnlen): New functions.
49891         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
49892         directives that involve a conversion ourselves.
49893         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
49894         wcsnlen, mbrtowc, wcrtomb.
49895         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
49896         * tests/test-vasprintf-posix.c (test_function): Likewise.
49897         * tests/test-snprintf-posix.h (test_function): Likewise.
49898         * tests/test-sprintf-posix.h (test_function): Likewise.
49899         Reported by Ben Pfaff <blp@cs.stanford.edu>.
49900
49901 2009-02-22  Bruno Haible  <bruno@clisp.org>
49902
49903         Implement new clarified decomposition of Hangul syllables.
49904         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
49905         of type LTV, return only a pairwise decomposition.
49906         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
49907         Likewise.
49908         * tests/uninorm/test-decomposition.c (main): Updated expected result.
49909         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
49910         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
49911
49912 2009-02-22  Bruno Haible  <bruno@clisp.org>
49913
49914         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
49915         zero-length results and shrink excess allocated memory.
49916         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
49917         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
49918         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
49919         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
49920         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
49921         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
49922         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
49923         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
49924         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
49925         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
49926         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
49927         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
49928
49929 2009-02-21  Bruno Haible  <bruno@clisp.org>
49930
49931         * doc/gnulib.texi: Include safe-alloc.texi earlier.
49932         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
49933         spaces after a period. Put a space between a macro name and its
49934         argument list. Trivial rewordings.
49935         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
49936         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
49937         (main): Return 0 explicitly.
49938
49939 2009-02-21  Bruno Haible  <bruno@clisp.org>
49940
49941         Tests for module 'uninorm/filter'.
49942         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
49943         * modules/uninorm/filter-tests: New file.
49944
49945         New module 'uninorm/filter'.
49946         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
49947         uninorm_filter_flush, uninorm_filter_free): New declarations.
49948         * lib/uninorm/uninorm-filter.c: New file.
49949         * modules/uninorm/filter: New file.
49950
49951 2009-02-21  Bruno Haible  <bruno@clisp.org>
49952
49953         Tests for module 'uninorm/nfkc'.
49954         * tests/uninorm/test-nfkc.c: New file.
49955         * tests/uninorm/test-u8-nfkc.c: New file.
49956         * tests/uninorm/test-u16-nfkc.c: New file.
49957         * tests/uninorm/test-u32-nfkc.c: New file.
49958         * tests/uninorm/test-u32-nfkc-big.sh: New file.
49959         * tests/uninorm/test-u32-nfkc-big.c: New file.
49960         * modules/uninorm/nfkc-tests: New file.
49961
49962         New module 'uninorm/nfkc'.
49963         * lib/uninorm/nfkc.c: New file.
49964         * modules/uninorm/nfkc: New file.
49965
49966         Tests for module 'uninorm/nfkd'.
49967         * tests/uninorm/test-nfkd.c: New file.
49968         * tests/uninorm/test-u8-nfkd.c: New file.
49969         * tests/uninorm/test-u16-nfkd.c: New file.
49970         * tests/uninorm/test-u32-nfkd.c: New file.
49971         * tests/uninorm/test-u32-nfkd-big.sh: New file.
49972         * tests/uninorm/test-u32-nfkd-big.c: New file.
49973         * modules/uninorm/nfkd-tests: New file.
49974
49975         New module 'uninorm/nfkd'.
49976         * lib/uninorm/nfkd.c: New file.
49977         * modules/uninorm/nfkd: New file.
49978
49979         Tests for module 'uninorm/nfc'.
49980         * tests/uninorm/test-nfc.c: New file.
49981         * tests/uninorm/test-u8-nfc.c: New file.
49982         * tests/uninorm/test-u16-nfc.c: New file.
49983         * tests/uninorm/test-u32-nfc.c: New file.
49984         * tests/uninorm/test-u32-nfc-big.sh: New file.
49985         * tests/uninorm/test-u32-nfc-big.c: New file.
49986         * modules/uninorm/nfc-tests: New file.
49987
49988         New module 'uninorm/nfc'.
49989         * lib/uninorm/nfc.c: New file.
49990         * modules/uninorm/nfc: New file.
49991
49992         Tests for module 'uninorm/nfd'.
49993         * tests/uninorm/test-nfd.c: New file.
49994         * tests/uninorm/test-u8-nfd.c: New file.
49995         * tests/uninorm/test-u16-nfd.c: New file.
49996         * tests/uninorm/test-u32-nfd.c: New file.
49997         * tests/uninorm/test-u32-nfd-big.sh: New file.
49998         * tests/uninorm/test-u32-nfd-big.c: New file.
49999         * tests/uninorm/test-u32-normalize-big.h: New file.
50000         * tests/uninorm/test-u32-normalize-big.c: New file.
50001         * tests/uninorm/NormalizationTest.txt: New file, created from
50002         Unicode 5.1.0 NormalizationTest.txt.
50003         * modules/uninorm/nfd-tests: New file.
50004
50005         New module 'uninorm/nfd'.
50006         * lib/uninorm/nfd.c: New file.
50007         * modules/uninorm/nfd: New file.
50008
50009         New module 'uninorm/u32-normalize'.
50010         * lib/uninorm/u32-normalize.c: New file.
50011         * modules/uninorm/u32-normalize: New file.
50012
50013         New module 'uninorm/u16-normalize'.
50014         * lib/uninorm/u16-normalize.c: New file.
50015         * modules/uninorm/u16-normalize: New file.
50016
50017         New module 'uninorm/u8-normalize'.
50018         * lib/uninorm/u8-normalize.c: New file.
50019         * lib/uninorm/normalize-internal.h: New file.
50020         * lib/uninorm/u-normalize-internal.h: New file.
50021         * modules/uninorm/u8-normalize: New file.
50022
50023         New module 'uninorm/decompose-internal'.
50024         * lib/uninorm/decompose-internal.c: New file.
50025         * modules/uninorm/decompose-internal: New file.
50026
50027         Tests for module 'uninorm/composition'.
50028         * tests/uninorm/test-composition.c: New file.
50029         * modules/uninorm/composition-tests: New file.
50030
50031         New module 'uninorm/composition'.
50032         * lib/uninorm/composition.c: New file.
50033         * lib/uninorm/composition-table.gperf: New file, generated by
50034         gen-uni-tables.
50035         * modules/uninorm/composition: New file.
50036
50037         Tests for module 'uninorm/compat-decomposition'.
50038         * tests/uninorm/test-compat-decomposition.c: New file.
50039         * modules/uninorm/compat-decomposition-tests: New file.
50040
50041         New module 'uninorm/compat-decomposition'.
50042         * lib/uninorm/decompose-internal.h: New file.
50043         * lib/uninorm/compat-decomposition.c: New file.
50044         * modules/uninorm/compat-decomposition: New file.
50045
50046         Tests for module 'uninorm/canonical-decomposition'.
50047         * tests/uninorm/test-canonical-decomposition.c: New file.
50048         * modules/uninorm/canonical-decomposition-tests: New file.
50049
50050         New module 'uninorm/canonical-decomposition'.
50051         * lib/uninorm/canonical-decomposition.c: New file.
50052         * modules/uninorm/canonical-decomposition: New file.
50053
50054         Tests for module 'uninorm/decomposition'.
50055         * tests/uninorm/test-decomposition.c: New file.
50056         * modules/uninorm/decomposition-tests: New file.
50057
50058         New module 'uninorm/decomposition'.
50059         * lib/uninorm/decomposition.c: New file.
50060         * modules/uninorm/decomposition: New file.
50061
50062         New module 'uninorm/decomposition-table'.
50063         * lib/uninorm/decomposition-table.h: New file.
50064         * lib/uninorm/decomposition-table.c: New file.
50065         * lib/uninorm/decomposition-table1.h: New file, generated by
50066         gen-uni-tables.
50067         * lib/uninorm/decomposition-table2.h: New file, generated by
50068         gen-uni-tables.
50069         * modules/uninorm/decomposition-table: New file.
50070
50071         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
50072         (UC_DECOMP_*): New enumeration items.
50073         (get_decomposition): New function.
50074         (struct decomp_table): New type.
50075         (output_decomposition, output_decomposition_tables): New functions.
50076         (unicode_composition_exclusions): New variable.
50077         (fill_composition_exclusions, debug_output_composition_tables): New
50078         functions.
50079         (main): Accept one more argument. Invoke fill_composition_exclusions.
50080         Output decomposition and composition tables.
50081
50082         New module 'uninorm/base'.
50083         * lib/uninorm.h: New file.
50084         * lib/unictype.h: Update comment.
50085         * modules/uninorm/base: New file.
50086
50087 2009-02-21  David Lutterkort  <lutter@redhat.com>
50088
50089         Tests for module 'safe-alloc'.
50090         * tests/test-safe-alloc.c: New file.
50091         * modules/safe-alloc-tests: New file.
50092
50093         New module 'safe-alloc'.
50094         * lib/safe-alloc.h: New file.
50095         * lib/safe-alloc.c: New file.
50096         * m4/safe-alloc.m4: New file.
50097         * modules/safe-alloc: New file.
50098         * doc/safe-alloc.texi: New file.
50099         * doc/gnulib.texi: Include it.
50100         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
50101         safe-alloc.
50102
50103 2009-02-18  Bruno Haible  <bruno@clisp.org>
50104
50105         Fix link error on non-glibc systems.
50106         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
50107         variable.
50108         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50109
50110 2009-02-18  Jim Meyering  <meyering@redhat.com>
50111
50112         fts: avoid used-uninitialized error due to recent change
50113         * lib/fts.c (fts_read): Guard uses of the new member,
50114         parent->fts_n_dirs_remaining, since it's not relevant for
50115         the parent of a directory specified on the command-line.
50116
50117 2009-02-17  James Youngman  <jay@gnu.org>
50118             Bruno Haible  <bruno@clisp.org>
50119
50120         * m4/include_next.m4: Reformulate comment.
50121
50122 2009-02-16  Jim Meyering  <meyering@redhat.com>
50123
50124         fts: add #if guards so that the fts_lgpl module still builds
50125         * lib/fts.c: Guard just-added hash-table-using parts with
50126         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
50127         Reported by Simon Josefsson.
50128
50129 2009-02-15  Bruno Haible  <bruno@clisp.org>
50130
50131         * modules/array-mergesort-tests: New file.
50132         * tests/test-array-mergesort.c: New file.
50133
50134         New module 'array-mergesort'.
50135         * modules/array-mergesort: New file.
50136         * lib/array-mergesort.h: New file.
50137
50138 2009-02-15  Bruno Haible  <bruno@clisp.org>
50139
50140         Fix 2009-02-07 commit.
50141         * lib/gen-uni-tables.c (output_predicate, output_category,
50142         output_combclass, output_bidi_category, output_decimal_digit,
50143         output_digit, output_numeric, output_mirror, output_scripts,
50144         output_ident_category, output_simple_mapping): Fix format directives.
50145         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
50146
50147 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
50148
50149         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
50150         fixes are available from IBM.
50151
50152 2009-02-13  Jim Meyering  <meyering@redhat.com>
50153
50154         fts: arrange not to stat non-directories in more cases
50155         This makes GNU find (when it doesn't need to stat each file)
50156         *much* more efficient at traversing reiserfs file systems.
50157         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
50158         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
50159         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
50160         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
50161         (leaf_optimization_applies): New function.
50162         (LCO_hash, LCO_compare): New helper functions.
50163         (link_count_optimize_ok): New function.
50164         (fts_stat): Initialize new member (if dir).
50165         (fts_read): Decrement parent's fts_n_dirs_remaining count if
50166         we've just stat'ed a directory.  Skip the stat call when possible.
50167         ---
50168         Note this AFS-related exchange:
50169         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
50170         and note find's pioctl call in find/fstype.c.
50171         But that is necessary only if you want to enable the
50172         optimization for AFS, and for now, I don't.
50173
50174         fts: move a function definition "up" (no semantic change)
50175         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
50176         "up" to precede upcoming use of a related function.
50177
50178 2009-02-11  Jim Meyering  <meyering@redhat.com>
50179
50180         fts: correct internal computation of nlinks (optimization-related)
50181         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
50182         whether the current entry is a directory, so don't test it.
50183
50184 2009-02-10  Bruno Haible  <bruno@clisp.org>
50185
50186         Tests for module 'uniwbrk/ulc-wordbreaks'.
50187         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
50188         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
50189         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
50190
50191         Tests for module 'uniwbrk/u32-wordbreaks'.
50192         * modules/uniwbrk/u32-wordbreaks-tests: New file.
50193         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
50194
50195         Tests for module 'uniwbrk/u16-wordbreaks'.
50196         * modules/uniwbrk/u16-wordbreaks-tests: New file.
50197         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
50198
50199         Tests for module 'uniwbrk/u8-wordbreaks'.
50200         * modules/uniwbrk/u8-wordbreaks-tests: New file.
50201         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
50202
50203 2009-02-10  Bruno Haible  <bruno@clisp.org>
50204
50205         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
50206         property.
50207         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
50208         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
50209         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
50210
50211 2009-02-10  Simon Josefsson  <simon@josefsson.org>
50212
50213         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
50214         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
50215
50216 2009-02-10  Bruno Haible  <bruno@clisp.org>
50217
50218         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
50219         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
50220         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
50221         * lib/unilbrk/u8-possible-linebreaks.c: Update.
50222         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
50223         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
50224
50225 2009-02-09  Simon Josefsson  <simon@josefsson.org>
50226
50227         * lib/sockets.h (gl_fd_to_handle): New function.
50228
50229         * tests/test-sockets.c: Call gl_fd_to_handle.
50230
50231 2009-02-09  Bruno Haible  <bruno@clisp.org>
50232
50233         * doc/havelib.texi: Document the conventions on bi-arch systems.
50234
50235 2009-02-08  Bruno Haible  <bruno@clisp.org>
50236
50237         Document the AC_LIB_LINKFLAGS macro.
50238         * doc/havelib.texi: New file, mostly written on 2005-05-24.
50239         * doc/gnulib.texi: Include it.
50240
50241 2009-02-08  Bruno Haible  <bruno@clisp.org>
50242
50243         Fix wrong order of sections, compared to TOC.
50244         * doc/gnulib.texi: Include relocatable-maint.texi after the
50245         "Regular expressions" node, not before.
50246
50247 2009-02-08  Bruno Haible  <bruno@clisp.org>
50248
50249         Tests for module 'unicase/totitle'.
50250         * modules/unicase/totitle-tests: New file.
50251
50252         Tests for module 'unicase/tolower'.
50253         * modules/unicase/tolower-tests: New file.
50254
50255         Tests for module 'unicase/toupper'.
50256         * modules/unicase/toupper-tests: New file.
50257         * tests/unicase/test-mapping-part1.h: New file.
50258         * tests/unicase/test-mapping-part2.h: New file.
50259
50260         New module 'unicase/totitle'.
50261         * modules/unicase/totitle: New file.
50262         * lib/unicase/totitle.c: New file.
50263
50264         New module 'unicase/tolower'.
50265         * modules/unicase/tolower: New file.
50266         * lib/unicase/tolower.c: New file.
50267
50268         New module 'unicase/toupper'.
50269         * modules/unicase/toupper: New file.
50270         * lib/unicase/toupper.c: New file.
50271         * lib/unicase/simple-mapping.h: New file.
50272
50273         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
50274         (mapping_table): New structure.
50275         (output_simple_mapping): New function.
50276         (main): Invoke output_simple_mapping_test and output_simple_mapping.
50277         * modules/gen-uni-tables (Description): Update.
50278         * lib/unicase/toupper.h: New file, automatically generated by
50279         gen-uni-tables.
50280         * lib/unicase/tolower.h: New file, automatically generated by
50281         gen-uni-tables.
50282         * lib/unicase/totitle.h: New file, automatically generated by
50283         gen-uni-tables.
50284         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
50285         gen-uni-tables.
50286         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
50287         gen-uni-tables.
50288         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
50289         gen-uni-tables.
50290
50291         New module 'unicase/base'.
50292         * modules/unicase/base: New file.
50293         * lib/unicase.h: New file.
50294
50295 2009-02-08  Bruno Haible  <bruno@clisp.org>
50296
50297         New module 'uniwbrk/ulc-wordbreaks'.
50298         * modules/uniwbrk/ulc-wordbreaks: New file.
50299         * lib/uniwbrk/ulc-wordbreaks.c: New file.
50300
50301         New module 'uniwbrk/u32-wordbreaks'.
50302         * modules/uniwbrk/u32-wordbreaks: New file.
50303         * lib/uniwbrk/u32-wordbreaks.c: New file.
50304
50305         New module 'uniwbrk/u16-wordbreaks'.
50306         * modules/uniwbrk/u16-wordbreaks: New file.
50307         * lib/uniwbrk/u16-wordbreaks.c: New file.
50308
50309         New module 'uniwbrk/u8-wordbreaks'.
50310         * modules/uniwbrk/u8-wordbreaks: New file.
50311         * lib/uniwbrk/u8-wordbreaks.c: New file.
50312         * lib/uniwbrk/u-wordbreaks.h: New file.
50313
50314         New module 'uniwbrk/table'.
50315         * modules/uniwbrk/table: New file.
50316         * lib/uniwbrk/wbrktable.h: New file.
50317         * lib/uniwbrk/wbrktable.c: New file.
50318
50319         New module 'uniwbrk/wordbreak-property'.
50320         * modules/uniwbrk/wordbreak-property: New file.
50321         * lib/uniwbrk/wordbreak-property.c: New file.
50322
50323         * lib/gen-uni-tables.c (WBP_*): New enum items.
50324         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
50325         (unicode_org_wbp): New variable.
50326         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
50327         New functions.
50328         (wbp_table): New structure.
50329         (output_wbp, output_wbrk_tables): New functions.
50330         (main): Accept additional argument. Invoke fill_org_wbp,
50331         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
50332         output_wbrk_tables.
50333         * modules/gen-uni-tables (Description): Update.
50334         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
50335         gen-uni-tables.
50336
50337         New module 'uniwbrk/base'.
50338         * modules/uniwbrk/base: New file.
50339         * lib/uniwbrk.h: New file.
50340
50341 2009-02-08  Bruno Haible  <bruno@clisp.org>
50342
50343         Update to Unicode 5.1.0.
50344         * lib/gen-uni-tables.c (is_property_alphabetic): Include
50345         U+2185..U+2188.
50346         (is_property_default_ignorable_code_point): Don't include characters
50347         of category Cc or Cs and not-a-characters.
50348         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
50349         U+0D79, U+109E, U+109F, U+A60C.
50350         * lib/unictype/bidi_of.h: Regenerated.
50351         * lib/unictype/blocks.h: Regenerated.
50352         * lib/unictype/categ_C.h: Regenerated.
50353         * lib/unictype/categ_Cf.h: Regenerated.
50354         * lib/unictype/categ_Cn.h: Regenerated.
50355         * lib/unictype/categ_L.h: Regenerated.
50356         * lib/unictype/categ_Ll.h: Regenerated.
50357         * lib/unictype/categ_Lm.h: Regenerated.
50358         * lib/unictype/categ_Lo.h: Regenerated.
50359         * lib/unictype/categ_Lu.h: Regenerated.
50360         * lib/unictype/categ_M.h: Regenerated.
50361         * lib/unictype/categ_Mc.h: Regenerated.
50362         * lib/unictype/categ_Me.h: Regenerated.
50363         * lib/unictype/categ_Mn.h: Regenerated.
50364         * lib/unictype/categ_N.h: Regenerated.
50365         * lib/unictype/categ_Nd.h: Regenerated.
50366         * lib/unictype/categ_Nl.h: Regenerated.
50367         * lib/unictype/categ_No.h: Regenerated.
50368         * lib/unictype/categ_P.h: Regenerated.
50369         * lib/unictype/categ_Pd.h: Regenerated.
50370         * lib/unictype/categ_Pe.h: Regenerated.
50371         * lib/unictype/categ_Pf.h: Regenerated.
50372         * lib/unictype/categ_Pi.h: Regenerated.
50373         * lib/unictype/categ_Po.h: Regenerated.
50374         * lib/unictype/categ_Ps.h: Regenerated.
50375         * lib/unictype/categ_S.h: Regenerated.
50376         * lib/unictype/categ_Sk.h: Regenerated.
50377         * lib/unictype/categ_Sm.h: Regenerated.
50378         * lib/unictype/categ_So.h: Regenerated.
50379         * lib/unictype/categ_of.h: Regenerated.
50380         * lib/unictype/combining.h: Regenerated.
50381         * lib/unictype/ctype_alnum.h: Regenerated.
50382         * lib/unictype/ctype_alpha.h: Regenerated.
50383         * lib/unictype/ctype_graph.h: Regenerated.
50384         * lib/unictype/ctype_lower.h: Regenerated.
50385         * lib/unictype/ctype_print.h: Regenerated.
50386         * lib/unictype/ctype_punct.h: Regenerated.
50387         * lib/unictype/ctype_upper.h: Regenerated.
50388         * lib/unictype/decdigit.h: Regenerated.
50389         * lib/unictype/digit.h: Regenerated.
50390         * lib/unictype/mirror.h: Regenerated.
50391         * lib/unictype/numeric.h: Regenerated.
50392         * lib/unictype/pr_alphabetic.h: Regenerated.
50393         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
50394         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
50395         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
50396         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
50397         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
50398         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
50399         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
50400         * lib/unictype/pr_combining.h: Regenerated.
50401         * lib/unictype/pr_dash.h: Regenerated.
50402         * lib/unictype/pr_decimal_digit.h: Regenerated.
50403         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
50404         * lib/unictype/pr_deprecated.h: Regenerated.
50405         * lib/unictype/pr_diacritic.h: Regenerated.
50406         * lib/unictype/pr_extender.h: Regenerated.
50407         * lib/unictype/pr_format_control.h: Regenerated.
50408         * lib/unictype/pr_grapheme_base.h: Regenerated.
50409         * lib/unictype/pr_grapheme_extend.h: Regenerated.
50410         * lib/unictype/pr_grapheme_link.h: Regenerated.
50411         * lib/unictype/pr_id_continue.h: Regenerated.
50412         * lib/unictype/pr_id_start.h: Regenerated.
50413         * lib/unictype/pr_ideographic.h: Regenerated.
50414         * lib/unictype/pr_ignorable_control.h: Regenerated.
50415         * lib/unictype/pr_lowercase.h: Regenerated.
50416         * lib/unictype/pr_math.h: Regenerated.
50417         * lib/unictype/pr_numeric.h: Regenerated.
50418         * lib/unictype/pr_other_alphabetic.h: Regenerated.
50419         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
50420         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
50421         * lib/unictype/pr_other_id_continue.h: Regenerated.
50422         * lib/unictype/pr_other_lowercase.h: Regenerated.
50423         * lib/unictype/pr_other_math.h: Regenerated.
50424         * lib/unictype/pr_punctuation.h: Regenerated.
50425         * lib/unictype/pr_sentence_terminal.h: Regenerated.
50426         * lib/unictype/pr_soft_dotted.h: Regenerated.
50427         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
50428         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
50429         * lib/unictype/pr_unified_ideograph.h: Regenerated.
50430         * lib/unictype/pr_uppercase.h: Regenerated.
50431         * lib/unictype/pr_xid_continue.h: Regenerated.
50432         * lib/unictype/pr_xid_start.h: Regenerated.
50433         * lib/unictype/pr_zero_width.h: Regenerated.
50434         * lib/unictype/scripts.h: Regenerated.
50435         * lib/unictype/scripts_byname.gperf: Regenerated.
50436         * lib/unictype/sy_java_ident.h: Regenerated.
50437         * lib/unilbrk/lbrkprop1.h: Regenerated.
50438         * lib/unilbrk/lbrkprop2.h: Regenerated.
50439         * tests/unictype/test-categ_C.c: Regenerated.
50440         * tests/unictype/test-categ_Cf.c: Regenerated.
50441         * tests/unictype/test-categ_Cn.c: Regenerated.
50442         * tests/unictype/test-categ_L.c: Regenerated.
50443         * tests/unictype/test-categ_Ll.c: Regenerated.
50444         * tests/unictype/test-categ_Lm.c: Regenerated.
50445         * tests/unictype/test-categ_Lo.c: Regenerated.
50446         * tests/unictype/test-categ_Lu.c: Regenerated.
50447         * tests/unictype/test-categ_M.c: Regenerated.
50448         * tests/unictype/test-categ_Mc.c: Regenerated.
50449         * tests/unictype/test-categ_Me.c: Regenerated.
50450         * tests/unictype/test-categ_Mn.c: Regenerated.
50451         * tests/unictype/test-categ_N.c: Regenerated.
50452         * tests/unictype/test-categ_Nd.c: Regenerated.
50453         * tests/unictype/test-categ_Nl.c: Regenerated.
50454         * tests/unictype/test-categ_No.c: Regenerated.
50455         * tests/unictype/test-categ_P.c: Regenerated.
50456         * tests/unictype/test-categ_Pd.c: Regenerated.
50457         * tests/unictype/test-categ_Pe.c: Regenerated.
50458         * tests/unictype/test-categ_Pf.c: Regenerated.
50459         * tests/unictype/test-categ_Pi.c: Regenerated.
50460         * tests/unictype/test-categ_Po.c: Regenerated.
50461         * tests/unictype/test-categ_Ps.c: Regenerated.
50462         * tests/unictype/test-categ_S.c: Regenerated.
50463         * tests/unictype/test-categ_Sk.c: Regenerated.
50464         * tests/unictype/test-categ_Sm.c: Regenerated.
50465         * tests/unictype/test-categ_So.c: Regenerated.
50466         * tests/unictype/test-ctype_alnum.c: Regenerated.
50467         * tests/unictype/test-ctype_alpha.c: Regenerated.
50468         * tests/unictype/test-ctype_graph.c: Regenerated.
50469         * tests/unictype/test-ctype_lower.c: Regenerated.
50470         * tests/unictype/test-ctype_print.c: Regenerated.
50471         * tests/unictype/test-ctype_punct.c: Regenerated.
50472         * tests/unictype/test-ctype_upper.c: Regenerated.
50473         * tests/unictype/test-decdigit.h: Regenerated.
50474         * tests/unictype/test-digit.h: Regenerated.
50475         * tests/unictype/test-numeric.h: Regenerated.
50476         * tests/unictype/test-pr_alphabetic.c: Regenerated.
50477         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
50478         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
50479         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
50480         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
50481         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
50482         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
50483         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
50484         * tests/unictype/test-pr_combining.c: Regenerated.
50485         * tests/unictype/test-pr_dash.c: Regenerated.
50486         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
50487         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
50488         * tests/unictype/test-pr_deprecated.c: Regenerated.
50489         * tests/unictype/test-pr_diacritic.c: Regenerated.
50490         * tests/unictype/test-pr_extender.c: Regenerated.
50491         * tests/unictype/test-pr_format_control.c: Regenerated.
50492         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
50493         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
50494         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
50495         * tests/unictype/test-pr_id_continue.c: Regenerated.
50496         * tests/unictype/test-pr_id_start.c: Regenerated.
50497         * tests/unictype/test-pr_ideographic.c: Regenerated.
50498         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
50499         * tests/unictype/test-pr_lowercase.c: Regenerated.
50500         * tests/unictype/test-pr_math.c: Regenerated.
50501         * tests/unictype/test-pr_numeric.c: Regenerated.
50502         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
50503         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
50504         Regenerated.
50505         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
50506         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
50507         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
50508         * tests/unictype/test-pr_other_math.c: Regenerated.
50509         * tests/unictype/test-pr_punctuation.c: Regenerated.
50510         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
50511         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
50512         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
50513         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
50514         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
50515         * tests/unictype/test-pr_uppercase.c: Regenerated.
50516         * tests/unictype/test-pr_xid_continue.c: Regenerated.
50517         * tests/unictype/test-pr_xid_start.c: Regenerated.
50518         * tests/unictype/test-pr_zero_width.c: Regenerated.
50519
50520         Update to Unicode 5.1.0.
50521         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
50522         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
50523         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
50524         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
50525         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
50526         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
50527         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
50528         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
50529         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
50530         (nonspacing_table_ind): Update.
50531         * tests/uniwidth/test-uc_width2.sh: Update expected result.
50532
50533         Update to Unicode 5.1.0.
50534         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
50535         code transform.
50536         * lib/uniname/uniname.c (unicode_character_name,
50537         unicode_name_character): Add the range 0x1Fxxx to the code transform.
50538         * lib/uniname/uninames.h: Regenerated.
50539         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
50540
50541 2009-02-07  Bruno Haible  <bruno@clisp.org>
50542
50543         Merge gen-ctype and gen-lbrk into a single program.
50544         * lib/gen-uni-tables.c: New file, incorporating
50545         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
50546         Add directory prefixes to the names of the generated files.
50547         * lib/unictype/gen-ctype.c: Remove file.
50548         * lib/unilbrk/gen-lbrk.c: Remove file.
50549         * modules/gen-uni-tables: New file.
50550         * modules/unictype/gen-ctype: Remove file.
50551         * modules/unilbrk/gen-lbrk: Remove file.
50552
50553 2009-02-07  Bruno Haible  <bruno@clisp.org>
50554
50555         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
50556
50557         New module 'unistr/u32-strcoll'.
50558         * modules/unistr/u32-strcoll: New file.
50559         * lib/unistr/u32-strcoll.c: New file.
50560
50561         New module 'unistr/u16-strcoll'.
50562         * modules/unistr/u16-strcoll: New file.
50563         * lib/unistr/u16-strcoll.c: New file.
50564
50565         New module 'unistr/u8-strcoll'.
50566         * modules/unistr/u8-strcoll: New file.
50567         * lib/unistr/u8-strcoll.c: New file.
50568         * lib/unistr/u-strcoll.h: New file.
50569
50570 2009-02-07  Bruno Haible  <bruno@clisp.org>
50571
50572         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
50573         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
50574         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
50575         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
50576         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
50577         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
50578
50579 2009-02-07  Bruno Haible  <bruno@clisp.org>
50580
50581         Make 64-bit clean.
50582         * lib/unictype/gen-ctype.c (output_predicate, output_category,
50583         output_combclass, output_bidi_category, output_decimal_digit,
50584         output_digit, output_numeric, output_mirror, output_scripts,
50585         output_ident_category): Use proper width specifier in format strings.
50586
50587 2009-02-07  Bruno Haible  <bruno@clisp.org>
50588
50589         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
50590         failure behaviour.
50591
50592 2009-02-07  Jim Meyering  <meyering@redhat.com>
50593
50594         regex: avoid compilation failure with upcoming gcc-4.4
50595         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
50596         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
50597         "... error: integer overflow in preprocessor expression".
50598
50599 2009-02-05  Ben Pfaff  <blp@gnu.org>
50600
50601         Fix link errors on Windows when close module is used.
50602         * modules/close: Add $(LIB_CLOSE) to Link section.
50603         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
50604         $(LIB_CLOSE) on Windows.
50605
50606 2009-02-05  Jim Meyering  <meyering@redhat.com>
50607
50608         still avoid unused-parameter warnings, but do it cleanly
50609         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
50610         (get_fs_usage): Cast to void instead.
50611         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
50612         (dev_from_mount_options, read_file_system_list): Cast to void.
50613         Prompted by Bruno Haible.
50614
50615 2009-02-04  Jim Meyering  <meyering@redhat.com>
50616
50617         fsusage.c: correct copyright year
50618         * lib/fsusage.c: Reflect year in which the change is pushed into
50619
50620         avoid misc. warnings
50621         * lib/fsusage.c (UNUSED_PARAM): Define.
50622         (get_fs_usage): Mark parameter "disk" as unused.
50623         * lib/getugroups.c (getgrent): Use "void" in prototype.
50624         * lib/mountlist.c: Mark unused parameters.
50625         (read_file_system_list): Declare a local with "const".
50626         * lib/nanosleep.c (getnow): Declare static.
50627         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
50628
50629         dirfd: set errno upon failure
50630         * lib/dirfd.c: Include <errno.h>.
50631         Set errno to ENOTSUP when returning -1.
50632         * modules/dirfd (Depends-on): Add errno.
50633         Suggested by John Kodis <kodis@comcast.net>.
50634
50635 2009-02-01  Bruno Haible  <bruno@clisp.org>
50636
50637         Don't assume sizeof (long) >= sizeof (void *).
50638         * lib/memcmp.c: Include stdint.h.
50639         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
50640         srcp2 to 'const byte *'.
50641         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
50642         types to uintptr_t.
50643         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
50644         * modules/memcmp (Depends-on): Add stdint.
50645         Reported by Ozkan Sezer <sezeroz@gmail.com>.
50646
50647 2009-01-30  Eric Blake  <ebb9@byu.net>
50648
50649         fix more require-before-expand issues
50650         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
50651         expand, AC_PROG_AWK.
50652         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
50653
50654 2009-01-28  Eric Blake  <ebb9@byu.net>
50655
50656         version-etc: use consistent URL formatting
50657         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
50658         Improve formatting.  Use fputs for string without %.
50659
50660 2009-01-28  Jim Meyering  <meyering@redhat.com>
50661
50662         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
50663         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
50664         "underquoted definition of NAME" from autoconf-2.59.
50665
50666 2009-01-28  Bruno Haible  <bruno@clisp.org>
50667
50668         * doc/gnulib.texi: Add "Obsolete modules" to index.
50669
50670 2009-01-28  Jim Meyering  <meyering@redhat.com>
50671
50672         useless-if-before-free: recognize more variants
50673         * build-aux/useless-if-before-free: Also recognize e.g.,
50674         if (NULL != p) free (p);
50675
50676 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
50677
50678         test-getaddrinfo: skip (don't fail) this test when there's no network
50679         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
50680         on the presumption that it means you lack network access.
50681
50682 2009-01-26  Jim Meyering  <meyering@redhat.com>
50683
50684         fflush: avoid warnings on modern systems
50685         * lib/fflush.c (rpl_fflush): Move declarations of locals,
50686         pos and result, into scopes where they're used.
50687
50688 2009-01-26  Eric Blake  <ebb9@byu.net>
50689
50690         Silence warning reintroduced by recent extensions patch.
50691         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
50692         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
50693         autoconf.
50694
50695         Backport improved autoconf semantics of AC_DEFUN_ONCE.
50696         * m4/00gnulib.m4: New file.
50697         * gnulib-tool (func_get_filelist): Always use it.
50698         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
50699         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
50700
50701 2009-01-25  Bruno Haible  <bruno@clisp.org>
50702
50703         Make test-quotearg work on MacOS X and AIX.
50704         * tests/test-quotearg.sh: New file.
50705         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
50706         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
50707         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
50708         include <libintl.h>.
50709         (fake_locale): Remove variable.
50710         (gettext, dgettext, dcgettext): Remove functions.
50711         (main): Instead of setting a fake locale, set a real locale. Call
50712         textdomain and bindtextdomain.
50713         * modules/quotearg-tests (Files): Add the new files.
50714         (Depends-on): Add gettext, setenv, unsetenv.
50715         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
50716         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
50717         Augment TESTS_ENVIRONMENT.
50718
50719 2009-01-25  Bruno Haible  <bruno@clisp.org>
50720
50721         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
50722         fr_FR.ISO8859-1 locale on MacOS X.
50723         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
50724         ja_JP.eucJP locale on MacOS X.
50725         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
50726         zh_CN.GB18030 locale on MacOS X.
50727
50728 2009-01-25  Bruno Haible  <bruno@clisp.org>
50729
50730         Avoid link errors on MacOS X 10.3.
50731         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
50732         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
50733
50734 2009-01-25  Bruno Haible  <bruno@clisp.org>
50735
50736         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
50737         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
50738         * modules/pipe (Files): Remove m4/posix_spawn.m4.
50739         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
50740         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
50741         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
50742         posix_spawnattr_init, posix_spawnattr_setsigmask,
50743         posix_spawnattr_setflags, posix_spawnattr_destroy.
50744
50745         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
50746         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
50747         * modules/execute (Files): Remove m4/posix_spawn.m4.
50748         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
50749         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
50750         posix_spawnattr_init, posix_spawnattr_setsigmask,
50751         posix_spawnattr_setflags, posix_spawnattr_destroy.
50752
50753 2009-01-25  Bruno Haible  <bruno@clisp.org>
50754
50755         * lib/glthread/threadlib.c: Include <stdlib.h>.
50756
50757 2009-01-25  Bruno Haible  <bruno@clisp.org>
50758
50759         * lib/glthread/threadlib.c (dummy): New declaration.
50760
50761 2009-01-25  Bruno Haible  <bruno@clisp.org>
50762
50763         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
50764         multibyte characters also for the GB18030 encoding. Don't crash when
50765         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
50766
50767 2009-01-25  Bruno Haible  <bruno@clisp.org>
50768
50769         Avoid redefining 'struct random_data' on OSF/1 5.1.
50770         * lib/stdlib.in.h: Include <random.h> if it exists.
50771         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
50772         HAVE_RANDOM_H. Include <random.h> when testing whether
50773         'struct random_data' exists.
50774         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
50775
50776 2009-01-25  Bruno Haible  <bruno@clisp.org>
50777
50778         Don't install charset.alias on MacOS X >= 10.3.
50779         * lib/localcharset.c (DARWIN7): New macro.
50780         (get_charset_aliases): Hardcode the result for Darwin7.
50781         * modules/localcharset (install-exec-local): Don't install
50782         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
50783
50784 2009-01-25  Bruno Haible  <bruno@clisp.org>
50785
50786         Don't install charset.alias on mingw and Cygwin.
50787         * modules/localcharset (install-exec-local): Don't install
50788         charset.alias on mingw and Cygwin, if the file does not yet exist.
50789         The result for these platforms is hardcoded in localcharset.c.
50790
50791 2009-01-25  Bruno Haible  <bruno@clisp.org>
50792
50793         Make it possible again to use AC_GNU_SOURCE together with gnulib.
50794         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
50795         before requiring AC_USE_SYSTEM_EXTENSIONS.
50796
50797 2009-01-25  Jim Meyering  <meyering@redhat.com>
50798
50799         c-strtod: avoid warnings
50800         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
50801         "assignment discards qualifiers from pointer target type" warnings.
50802
50803 2009-01-24  Bruno Haible  <bruno@clisp.org>
50804
50805         Add support for non-UTF-8 locales on MacOS X.
50806         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
50807         canonical encodings. For Darwin 7 and newer, don't map traditional
50808         encodings to UTF-8.
50809         Reported by Vincent Lefevre <vincent@vinc17.org>
50810         at <http://savannah.gnu.org/bugs/?25235>.
50811
50812 2009-01-24  Bruno Haible  <bruno@clisp.org>
50813
50814         * doc/gnulib.texi (Obsolete modules): New section.
50815         Reported by Mike Frysinger <vapier@gentoo.org>.
50816
50817 2009-01-24  Bruno Haible  <bruno@clisp.org>
50818
50819         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
50820         (%.dvi): New rule.
50821
50822 2009-01-24  Bruno Haible  <bruno@clisp.org>
50823
50824         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
50825         Reported by Eric Blake.
50826
50827 2009-01-24  Bruno Haible  <bruno@clisp.org>
50828
50829         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
50830         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
50831         Reported by Gary V. Vaughan <gary@gnu.org>.
50832
50833 2009-01-24  Bruno Haible  <bruno@clisp.org>
50834
50835         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
50836
50837 2009-01-23  Bruno Haible  <bruno@clisp.org>
50838
50839         Make c-strtod, c-strtold usable in libraries.
50840         * lib/c-strtod.c: Include string.h instead of xalloc.h.
50841         (C_STRTOD): Call strdup instead of xstrdup.
50842         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
50843         * modules/c-strtold (Depends-on): Likewise.
50844         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
50845         * NEWS: Mention the change.
50846         Reported by Michael Gold <mgold@ncf.ca>.
50847
50848 2009-01-23  Jim Meyering  <meyering@redhat.com>
50849
50850         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
50851         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
50852         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
50853
50854 2009-01-23  Simon Josefsson  <simon@josefsson.org>
50855
50856         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
50857         GNU CoreUtils.
50858         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
50859         * modules/version-etc (Description): Update.
50860
50861 2009-01-22  Bruno Haible  <bruno@clisp.org>
50862
50863         Cache the C locale object.
50864         * lib/c-strtod.c (c_locale_cache): New variable.
50865         (c_locale): New function.
50866         (C_STRTOD): Use it, and don't call freelocale.
50867         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
50868         Suggested by Paolo Bonzini.
50869
50870 2009-01-21  Bruno Haible  <bruno@clisp.org>
50871
50872         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
50873         conditions other than overflow.
50874
50875 2009-01-21  Bruno Haible  <bruno@clisp.org>
50876
50877         * lib/c-strtod.c: Include errno.h.
50878         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
50879         value from STRTOD_L and STRTOD.
50880
50881 2009-01-21  Bruno Haible  <bruno@clisp.org>
50882         and Jim Meyering  <meyering@redhat.com>
50883
50884         nanosleep: skip configure test (fail it) for apple universal builds
50885         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
50886         universal builds, assume that nanosleep does not work.
50887         * modules/nanosleep (Depends-on): Add multiarch.
50888
50889         mktime: skip configure test (fail it) for apple universal builds
50890         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
50891         universal builds, assume that mktime does not work.
50892         * modules/mktime (Depends-on): Add multiarch.
50893
50894 2009-01-21  Eric Blake  <ebb9@byu.net>
50895
50896         multiarch: avoid expand-before-require warning
50897         * modules/multiarch (configure.ac): Require, rather than expand,
50898         gl_MULTIARCH.
50899         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
50900         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
50901         enforce that all clients require it.  Partial reversion of
50902         2008-12-29 patch.
50903
50904         error: avoid expand-before-require warning
50905         * modules/errno (configure.ac): Require, rather than expand,
50906         gl_HEADER_ERRNO_H.
50907         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
50908         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
50909         enforce that all clients require it.
50910
50911         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
50912         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
50913         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
50914         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
50915
50916 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
50917
50918         Revert:
50919         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
50920
50921         regex: do not depend on obsolete modules.
50922         * modules/regex: Remove memcmp and memmove.
50923
50924 2009-01-20  Bruno Haible  <bruno@clisp.org>
50925
50926         Make the 'link' module link on Windows NT 4.
50927         * lib/link.c (_WIN32_WINNT): Don't define.
50928         (CreateHardLinkFuncType): New type.
50929         (CreateHardLinkFunc, initialized): New variables.
50930         (initialize): New function.
50931         (link): Invoke CreateHardLink indirectly through the function pointer.
50932
50933 2009-01-20  Bruno Haible  <bruno@clisp.org>
50934
50935         Fix compilation failure on mingw.
50936         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
50937
50938 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
50939
50940         * doc/c-strtod.texi: Mention a couple of restrictions.
50941
50942 2009-01-20  Jim Meyering  <meyering@redhat.com>
50943
50944         gettimeofday: move more declarations out of functions
50945         * lib/gettimeofday.c: Move extern declarations of tzset and
50946         gmtime out of containing functions.  Prompted by Bruno Haible.
50947
50948 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
50949
50950         regex: do not depend on obsolete modules.
50951         * modules/regex: Remove memcmp and memmove.
50952
50953 2009-01-19  Bruno Haible  <bruno@clisp.org>
50954
50955         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
50956         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
50957         gl_BIGENDIAN, not AC_C_BIGENDIAN.
50958         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
50959         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
50960
50961 2009-01-19  Bruno Haible  <bruno@clisp.org>
50962
50963         * tests/test-link.c: Include <errno.h>.
50964         (main): Exit with code 77 when a hard link cannot be created due to
50965         the file system.
50966         * tests/test-link.sh: Skip test when a hard link cannot be created due
50967         to the file system.
50968         Suggested by Eric Blake.
50969
50970 2009-01-19  Martin Lambers  <marlam@marlam.de>
50971
50972         * modules/link-tests: New file.
50973         * tests/test-link.sh: New file.
50974         * tests/test-link.c: New file.
50975
50976 2009-01-19  Eric Blake  <ebb9@byu.net>
50977
50978         doc: mention another function added in cygwin 1.7.0
50979         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
50980         Another new function in cygwin 1.7.
50981
50982 2009-01-19  Bruno Haible  <bruno@clisp.org>
50983
50984         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
50985         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
50986         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
50987         gl_BIGENDIAN, not AC_C_BIGENDIAN.
50988         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
50989         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
50990         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
50991         * m4/md4.m4 (gl_MD4): Likewise.
50992         * m4/md5.m4 (gl_MD5): Likewise.
50993         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
50994         * m4/sha1.m4 (gl_SHA1): Likewise.
50995         * m4/sha256.m4 (gl_SHA256): Likewise.
50996         * m4/sha512.m4 (gl_SHA512): Likewise.
50997
50998 2009-01-19  Bruno Haible  <bruno@clisp.org>
50999
51000         * modules/uniname/uniname-tests (Depends-on): Add progname.
51001         * tests/uniname/test-uninames.c: Include progname.h.
51002         (main): Call set_program_name.
51003
51004         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
51005         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
51006         (main): Call set_program_name.
51007
51008         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
51009         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
51010         (main): Call set_program_name.
51011
51012         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
51013         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
51014         (main): Call set_program_name.
51015
51016         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
51017         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
51018         (main): Call set_program_name.
51019
51020         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
51021         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
51022         (main): Call set_program_name.
51023
51024         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
51025         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
51026         (main): Call set_program_name.
51027
51028         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
51029         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
51030         (main): Call set_program_name.
51031
51032         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
51033         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
51034         (main): Call set_program_name.
51035
51036 2009-01-19  Eric Blake  <ebb9@byu.net>
51037
51038         test-unistd: test previous patch
51039         * tests/test-unistd.c: Test *_FILENO macros.
51040
51041         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
51042         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
51043         Guarantee a definition.
51044         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
51045         * modules/unistd-safer (Depends-on): Add dependency on unistd.
51046         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
51047         * lib/dup-safer.c (STDERR_FILENO): Likewise.
51048         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
51049         Likewise.
51050         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
51051         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
51052         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
51053         Likewise.
51054         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
51055         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
51056         (STDERR_FILENO): Likewise.
51057         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
51058         (STDERR_FILENO): Likewise.
51059         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
51060         (STDERR_FILENO): Likewise.
51061         Reported by Elbert Pol.
51062
51063 2009-01-19  Eric Blake  <ebb9@byu.net>
51064
51065         doc: mention more functions added in cygwin 1.7.0
51066         * doc/posix-functions/abort.texi (abort): Update wording related
51067         to cygwin.
51068         * doc/posix-functions/daylight.texi (daylight): Likewise.
51069         * doc/posix-functions/optarg.texi (optarg): Likewise.
51070         * doc/posix-functions/optarg.texi (opterr): Likewise.
51071         * doc/posix-functions/optarg.texi (optind): Likewise.
51072         * doc/posix-functions/optarg.texi (optopt): Likewise.
51073         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
51074         worked in 1.5.x, and was withdrawn in 1.7.
51075         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
51076         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
51077         cygwin versions.
51078         * doc/posix-functions/perror.texi (perror): Likewise.
51079         * doc/posix-functions/printf.texi (printf): Likewise.
51080         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
51081         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
51082         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
51083         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
51084         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
51085         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
51086         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
51087         Likewise.
51088         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
51089         Likewise.
51090         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
51091         this function.
51092         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
51093         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
51094         Likewise.
51095         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
51096         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
51097         * doc/posix-functions/confstr.texi (confstr): Likewise.
51098         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
51099         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
51100         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
51101         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
51102         * doc/posix-functions/fputws.texi (fputws): Likewise.
51103         * doc/posix-functions/fwide.texi (fwide): Likewise.
51104         * doc/posix-functions/getwc.texi (getwc): Likewise.
51105         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
51106         * doc/posix-functions/putwc.texi (putwc): Likewise.
51107         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
51108         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
51109         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
51110         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
51111         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
51112         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
51113         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
51114         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
51115         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
51116         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
51117         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
51118
51119 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
51120
51121         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
51122         * lib/ioctl.c: Include <sys/ioctl.h>.
51123
51124 2009-01-19  Simon Josefsson  <simon@josefsson.org>
51125
51126         * modules/getdate-tests (Depends-on): Add progname.
51127         * tests/test-getdate.c: Use progname module, to avoid link errors
51128         on non-glibc systems.
51129
51130 2009-01-18  Simon Josefsson  <simon@josefsson.org>
51131
51132         * modules/filenamecat-tests (Depends-on): Add progname.
51133         * modules/fstrcmp-tests (Depends-on): Likewise.
51134
51135         * tests/test-filenamecat.c: Use progname module, to avoid link
51136         errors on non-glibc systems.
51137         * tests/test-fstrcmp.c: Likewise.
51138
51139 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
51140
51141         gettimeofday: avoid warning: nested extern declaration of 'localtime'
51142         * lib/gettimeofday.c: Move extern declaration out of function.
51143
51144 2009-01-18  Bruno Haible  <bruno@clisp.org>
51145
51146         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
51147         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
51148         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
51149
51150 2009-01-18  Bruno Haible  <bruno@clisp.org>
51151
51152         * lib/strftime.c (MEMPCPY): Remove unused macro.
51153         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
51154
51155 2009-01-18  Martin Lambers  <marlam@marlam.de>
51156
51157         New module 'link'.
51158         * lib/unistd.in.h (link): New declaration.
51159         * lib/link.c: New file.
51160         * m4/link.m4: New file.
51161         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
51162         HAVE_LINK.
51163         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
51164         * modules/link: New file.
51165         * doc/posix-functions/link.texi: Mention the new module.
51166
51167 2009-01-18  Bruno Haible  <bruno@clisp.org>
51168
51169         * tests/test-avltree_list.c (main): Call set_program_name.
51170         * tests/test-avltree_oset.c (main): Likewise.
51171         * tests/test-obstack-printf.c: Include progname.h.
51172         (main): Call set_program_name.
51173         * tests/test-quotearg.c: Include progname.h.
51174         (main): Call set_program_name.
51175         * tests/test-xmemdup0.c: Include progname.h.
51176         (main): Call set_program_name.
51177
51178 2009-01-18  Bruno Haible  <bruno@clisp.org>
51179
51180         New module 'alphasort'.
51181         * lib/dirent.in.h (alphasort): New declaration.
51182         * lib/alphasort.c: New file, from glibc with modifications.
51183         * m4/alphasort.m4: New file.
51184         * modules/alphasort: New file.
51185         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
51186         HAVE_ALPHASORT.
51187         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
51188         HAVE_ALPHASORT.
51189         * doc/posix-functions/alphasort.texi: Mention the new module and the
51190         portability problems.
51191
51192 2009-01-18  Bruno Haible  <bruno@clisp.org>
51193
51194         New module 'scandir'.
51195         * lib/dirent.in.h (scandir): New declaration.
51196         * lib/scandir.c: New file, from glibc with modifications.
51197         * m4/scandir.m4: New file.
51198         * modules/scandir: New file.
51199         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
51200         HAVE_SCANDIR.
51201         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
51202         HAVE_SCANDIR.
51203         * doc/posix-functions/scandir.texi: Mention the new module and the
51204         portability problems.
51205
51206 2009-01-17  Bruno Haible  <bruno@clisp.org>
51207
51208         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
51209         Update documentation.
51210         (func_remove_suffix): Escape all dots in the suffix. Update
51211         documentation.
51212         (func_filter_filelist): Update documentation.
51213         Reported by Ralf Wildenhues.
51214
51215 2009-01-17  Bruno Haible  <bruno@clisp.org>
51216
51217         * modules/dprintf-posix-tests: New file.
51218         * tests/test-dprintf-posix.sh: New file.
51219         * tests/test-dprintf-posix.c: New file.
51220
51221         New modules 'dprintf', 'dprintf-posix'.
51222         * lib/stdio.in.h (dprintf): New declaration.
51223         * lib/dprintf.c: New file.
51224         * m4/dprintf.m4: New file.
51225         * m4/dprintf-posix.m4: New file.
51226         * modules/dprintf: New file.
51227         * modules/dprintf-posix: New file.
51228         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
51229         HAVE_DPRINTF, REPLACE_DPRINTF.
51230         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
51231         HAVE_DPRINTF, REPLACE_DPRINTF.
51232         * doc/posix-functions/dprintf.texi: Mention the new modules.
51233
51234 2009-01-17  Bruno Haible  <bruno@clisp.org>
51235
51236         * modules/vdprintf-posix-tests: New file.
51237         * tests/test-vdprintf-posix.sh: New file.
51238         * tests/test-vdprintf-posix.c: New file.
51239
51240         New modules 'vdprintf', 'vdprintf-posix'.
51241         * lib/stdio.in.h (vdprintf): New declaration.
51242         * lib/vdprintf.c: New file.
51243         * m4/vdprintf.m4: New file.
51244         * m4/vdprintf-posix.m4: New file.
51245         * modules/vdprintf: New file.
51246         * modules/vdprintf-posix: New file.
51247         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
51248         HAVE_VDPRINTF, REPLACE_VDPRINTF.
51249         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
51250         HAVE_VDPRINTF, REPLACE_VDPRINTF.
51251         * doc/posix-functions/vdprintf.texi: Mention the new modules.
51252
51253 2009-01-17  Bruno Haible  <bruno@clisp.org>
51254
51255         Fix replacement of fopen on mingw.
51256         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
51257         mingw.
51258
51259 2009-01-17  Bruno Haible  <bruno@clisp.org>
51260
51261         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
51262         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
51263
51264 2009-01-17  Bruno Haible  <bruno@clisp.org>
51265
51266         Avoid test-fflush2.sh failure on mingw.
51267         * tests/test-fflush2.c: Include binary-io.h.
51268         (main): Put standard input into binary mode.
51269         * modules/fflush-tests (Depends-on): Add binary-io.
51270
51271 2009-01-17  Bruno Haible  <bruno@clisp.org>
51272
51273         * lib/wchar.in.h: In another particular situation, include only the
51274         system's <wchar.h> file.
51275         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
51276         Reported by Albert Chin-A-Young <china@thewrittenword.com>
51277         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
51278
51279 2009-01-17  Bruno Haible  <bruno@clisp.org>
51280
51281         Support for stripping executables in --enable-relocatable.
51282         * build-aux/install-reloc: Expect one more argument, or an environment
51283         variable RELOC_STRIP_PROG. If set, strip the destination program and
51284         its wrapper.
51285         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
51286         RELOC_STRIP_PROG.
51287         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
51288         to set RELOCATABLE_STRIP.
51289         * NEWS: Mention the new Makefile requirement.
51290
51291 2009-01-17  Bruno Haible  <bruno@clisp.org>
51292
51293         * build-aux/install-reloc: Remove debugging information left over by
51294         C compiler on MacOS X.
51295
51296 2009-01-17  Bruno Haible  <bruno@clisp.org>
51297
51298         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
51299         * lib/progreloc.c (find_executable): Fix type of pointer passed to
51300         _NSGetExecutablePath.
51301
51302 2009-01-16  Jim Meyering  <meyering@redhat.com>
51303
51304         strerror: avoid warnings about discarding "const"
51305         * lib/strerror.c (rpl_strerror): Instead of returning a const
51306         string from each and every "case", use a variable, and add a single
51307         cast after the switch.
51308
51309 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
51310
51311         * lib/arpa_inet.in.h: Add extern "C" block for C++.
51312
51313 2009-01-16  Bruno Haible  <bruno@clisp.org>
51314
51315         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
51316         array initializer syntax that also works in C++ mode.
51317         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
51318
51319 2009-01-16  Jim Meyering  <meyering@redhat.com>
51320
51321         poll: suppress a warning
51322         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
51323         to ignore "...unsigned expression < 0 is always false" warnings.
51324
51325 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
51326
51327         poll: remove declarations of unused variables
51328         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
51329         sockbuf and optlen.
51330
51331 2009-01-15  Bruno Haible  <bruno@clisp.org>
51332
51333         Make fflush-after-ungetc POSIX compliant on BSD systems.
51334         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
51335         (clear_ungetc_buffer): Implement also for other systems.
51336         (rpl_fflush): On glibc systems, invoke
51337         clear_ungetc_buffer_preserving_position. Otherwise, invoke
51338         clear_ungetc_buffer after fetching the stream's position, not before.
51339
51340 2009-01-15  Bruno Haible  <bruno@clisp.org>
51341
51342         Make fflush-after-ungetc POSIX compliant on glibc systems.
51343         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
51344         after ungetc.
51345         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
51346         (rpl_fflush): On glibc systems, simply call the system's fflush
51347         function after clearing the ungetc buffer.
51348         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
51349         Instead, lseek only to the end of file, then use the system's fseeko
51350         for the rest. On glibc systems, reset the EOF indicator bit.
51351
51352 2009-01-15  Jim Meyering  <meyering@redhat.com>
51353
51354         openmp.m4: revert quote-adding change, for portability to older autoconf
51355         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
51356         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
51357         Simon Josefsson noticed the problem when using autoconf-2.61.
51358
51359 2009-01-15  Bruno Haible  <bruno@clisp.org>
51360
51361         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
51362         * tests/test-fflush2.c (ASSERT): Always fail.
51363         (main): Add two tests for fflush() after ungetc(), taking into account
51364         the Austin Group's clarification.
51365         Suggested by Eric Blake.
51366
51367 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
51368
51369         mktime.m4: remove K&R-style function prototypes
51370         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
51371         for the Sun C++ compiler.
51372
51373 2009-01-14  Bruno Haible  <bruno@clisp.org>
51374
51375         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
51376         while including <wchar.h>.
51377         * lib/wchar.in.h: In two particular situations on HP-UX, include only
51378         the system's <wchar.h> file.
51379         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
51380
51381 2009-01-14  Bruno Haible  <bruno@clisp.org>
51382
51383         * m4/csharp.m4: Don't mention gettext on the serial number line.
51384         * m4/csharpexec.m4: Likewise.
51385         * m4/eaccess.m4: Likewise.
51386         * m4/javaexec.m4: Likewise.
51387         * m4/sig_atomic_t.m4: Likewise.
51388         * m4/tmpdir.m4: Likewise.
51389         * m4/intldir.m4: Bump gettext version.
51390         * m4/lib-ld.m4: Likewise.
51391
51392 2009-01-14  Bruno Haible  <bruno@clisp.org>
51393
51394         * lib/progname.c (set_program_name): Add more comments.
51395         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
51396
51397 2009-01-14  Simon Josefsson  <simon@josefsson.org>
51398
51399         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
51400         were sys/stat.h does not define it.
51401
51402 2009-01-14  Jim Meyering  <meyering@redhat.com>
51403
51404         many *.m4 files: improve m4 quoting
51405         99% of this change was performed by running the following commands:
51406         git ls-files | grep '\.m4$' | xargs perl -pi \
51407           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
51408           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
51409           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
51410           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
51411         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
51412         The remainder were to add Copyright dates, increment serial numbers,
51413         undo some changes in comments, exclude m4/intl.m4, and add quotes
51414         around the "1" in ",1" where the unusual spacing prohibited the
51415         above regexps from doing the job.  For more details, see
51416         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
51417         * m4/acl.m4: Modified.
51418         * m4/afs.m4: Likewise.
51419         * m4/alloca.m4: Likewise.
51420         * m4/argp.m4: Likewise.
51421         * m4/argz.m4: Likewise.
51422         * m4/atexit.m4: Likewise.
51423         * m4/bison-i18n.m4: Likewise.
51424         * m4/bison.m4: Likewise.
51425         * m4/byteswap.m4: Likewise.
51426         * m4/c-stack.m4: Likewise.
51427         * m4/c-strtod.m4: Likewise.
51428         * m4/calloc.m4: Likewise.
51429         * m4/canonicalize-lgpl.m4: Likewise.
51430         * m4/chown.m4: Likewise.
51431         * m4/clock_time.m4: Likewise.
51432         * m4/codeset.m4: Likewise.
51433         * m4/copy-file.m4: Likewise.
51434         * m4/csharp.m4: Likewise.
51435         * m4/csharpcomp.m4: Likewise.
51436         * m4/csharpexec.m4: Likewise.
51437         * m4/d-ino.m4: Likewise.
51438         * m4/d-type.m4: Likewise.
51439         * m4/dirfd.m4: Likewise.
51440         * m4/double-slash-root.m4: Likewise.
51441         * m4/eaccess.m4: Likewise.
51442         * m4/eealloc.m4: Likewise.
51443         * m4/environ.m4: Likewise.
51444         * m4/errno_h.m4: Likewise.
51445         * m4/euidaccess.m4: Likewise.
51446         * m4/execute.m4: Likewise.
51447         * m4/fatal-signal.m4: Likewise.
51448         * m4/fchdir.m4: Likewise.
51449         * m4/fcntl_h.m4: Likewise.
51450         * m4/fileblocks.m4: Likewise.
51451         * m4/filenamecat.m4: Likewise.
51452         * m4/findprog.m4: Likewise.
51453         * m4/flexmember.m4: Likewise.
51454         * m4/fnmatch.m4: Likewise.
51455         * m4/fopen.m4: Likewise.
51456         * m4/fpending.m4: Likewise.
51457         * m4/fprintf-posix.m4: Likewise.
51458         * m4/free.m4: Likewise.
51459         * m4/frexp.m4: Likewise.
51460         * m4/frexpl.m4: Likewise.
51461         * m4/fsusage.m4: Likewise.
51462         * m4/ftruncate.m4: Likewise.
51463         * m4/gc-camellia.m4: Likewise.
51464         * m4/gc-random.m4: Likewise.
51465         * m4/gc.m4: Likewise.
51466         * m4/getaddrinfo.m4: Likewise.
51467         * m4/getcwd-abort-bug.m4: Likewise.
51468         * m4/getcwd-path-max.m4: Likewise.
51469         * m4/getdate.m4: Likewise.
51470         * m4/getdomainname.m4: Likewise.
51471         * m4/getgroups.m4: Likewise.
51472         * m4/gethostname.m4: Likewise.
51473         * m4/gethrxtime.m4: Likewise.
51474         * m4/getline.m4: Likewise.
51475         * m4/getloadavg.m4: Likewise.
51476         * m4/getndelim2.m4: Likewise.
51477         * m4/getpass.m4: Likewise.
51478         * m4/gettext.m4: Likewise.
51479         * m4/gettime.m4: Likewise.
51480         * m4/gettimeofday.m4: Likewise.
51481         * m4/gnulib-common.m4: Likewise.
51482         * m4/group-member.m4: Likewise.
51483         * m4/host-os.m4: Likewise.
51484         * m4/iconv.m4: Likewise.
51485         * m4/iconv_open.m4: Likewise.
51486         * m4/inet_ntop.m4: Likewise.
51487         * m4/inet_pton.m4: Likewise.
51488         * m4/inline.m4: Likewise.
51489         * m4/intldir.m4: Likewise.
51490         * m4/intlmacosx.m4: Likewise.
51491         * m4/intmax.m4: Likewise.
51492         * m4/intmax_t.m4: Likewise.
51493         * m4/inttypes.m4: Likewise.
51494         * m4/inttypes_h.m4: Likewise.
51495         * m4/inttypes-pri.m4: Likewise.
51496         * m4/isapipe.m4: Likewise.
51497         * m4/isnand.m4: Likewise.
51498         * m4/isnanf.m4: Likewise.
51499         * m4/isnanl.m4: Likewise.
51500         * m4/javacomp.m4: Likewise.
51501         * m4/javaexec.m4: Likewise.
51502         * m4/jm-winsz1.m4: Likewise.
51503         * m4/jm-winsz2.m4: Likewise.
51504         * m4/lchown.m4: Likewise.
51505         * m4/lcmessage.m4: Likewise.
51506         * m4/ldexpl.m4: Likewise.
51507         * m4/lib-ld.m4: Likewise.
51508         * m4/lib-link.m4: Likewise.
51509         * m4/libsigsegv.m4: Likewise.
51510         * m4/link-follow.m4: Likewise.
51511         * m4/localcharset.m4: Likewise.
51512         * m4/locale-fr.m4: Likewise.
51513         * m4/locale-ja.m4: Likewise.
51514         * m4/locale-tr.m4: Likewise.
51515         * m4/locale-zh.m4: Likewise.
51516         * m4/lock.m4: Likewise.
51517         * m4/longlong.m4: Likewise.
51518         * m4/ls-mntd-fs.m4: Likewise.
51519         * m4/lstat.m4: Likewise.
51520         * m4/malloc.m4: Likewise.
51521         * m4/mathl.m4: Likewise.
51522         * m4/mbrtowc.m4: Likewise.
51523         * m4/mbstate_t.m4: Likewise.
51524         * m4/mbswidth.m4: Likewise.
51525         * m4/memchr.m4: Likewise.
51526         * m4/memcmp.m4: Likewise.
51527         * m4/memcpy.m4: Likewise.
51528         * m4/memmem.m4: Likewise.
51529         * m4/memmove.m4: Likewise.
51530         * m4/mempcpy.m4: Likewise.
51531         * m4/memrchr.m4: Likewise.
51532         * m4/memset.m4: Likewise.
51533         * m4/minmax.m4: Likewise.
51534         * m4/mkdir-slash.m4: Likewise.
51535         * m4/mkdtemp.m4: Likewise.
51536         * m4/mktime.m4: Likewise.
51537         * m4/mmap-anon.m4: Likewise.
51538         * m4/mountlist.m4: Likewise.
51539         * m4/nanosleep.m4: Likewise.
51540         * m4/nls.m4: Likewise.
51541         * m4/nocrash.m4: Likewise.
51542         * m4/open.m4: Likewise.
51543         * m4/openat.m4: Likewise.
51544         * m4/openmp.m4: Likewise.
51545         * m4/pathmax.m4: Likewise.
51546         * m4/perl.m4: Likewise.
51547         * m4/physmem.m4: Likewise.
51548         * m4/pipe.m4: Likewise.
51549         * m4/po.m4: Likewise.
51550         * m4/poll.m4: Likewise.
51551         * m4/posixtm.m4: Likewise.
51552         * m4/posixver.m4: Likewise.
51553         * m4/printf-frexp.m4: Likewise.
51554         * m4/printf-frexpl.m4: Likewise.
51555         * m4/printf-posix.m4: Likewise.
51556         * m4/printf-posix-rpl.m4: Likewise.
51557         * m4/printf.m4: Likewise.
51558         * m4/progtest.m4: Likewise.
51559         * m4/putenv.m4: Likewise.
51560         * m4/readline.m4: Likewise.
51561         * m4/readlink.m4: Likewise.
51562         * m4/readutmp.m4: Likewise.
51563         * m4/realloc.m4: Likewise.
51564         * m4/regex.m4: Likewise.
51565         * m4/relocatable.m4: Likewise.
51566         * m4/relocatable-lib.m4: Likewise.
51567         * m4/rename-dest-slash.m4: Likewise.
51568         * m4/rename.m4: Likewise.
51569         * m4/rmdir-errno.m4: Likewise.
51570         * m4/rmdir.m4: Likewise.
51571         * m4/roundf.m4: Likewise.
51572         * m4/roundl.m4: Likewise.
51573         * m4/rpmatch.m4: Likewise.
51574         * m4/save-cwd.m4: Likewise.
51575         * m4/selinux-selinux-h.m4: Likewise.
51576         * m4/setenv.m4: Likewise.
51577         * m4/settime.m4: Likewise.
51578         * m4/sig2str.m4: Likewise.
51579         * m4/sig_atomic_t.m4: Likewise.
51580         * m4/signalblocking.m4: Likewise.
51581         * m4/signbit.m4: Likewise.
51582         * m4/sigpipe.m4: Likewise.
51583         * m4/sockets.m4: Likewise.
51584         * m4/sockpfaf.m4: Likewise.
51585         * m4/st_dm_mode.m4: Likewise.
51586         * m4/stat-time.m4: Likewise.
51587         * m4/stdbool.m4: Likewise.
51588         * m4/stdint.m4: Likewise.
51589         * m4/stdint_h.m4: Likewise.
51590         * m4/stpcpy.m4: Likewise.
51591         * m4/stpncpy.m4: Likewise.
51592         * m4/strcase.m4: Likewise.
51593         * m4/strchrnul.m4: Likewise.
51594         * m4/strcspn.m4: Likewise.
51595         * m4/strdup.m4: Likewise.
51596         * m4/strftime.m4: Likewise.
51597         * m4/strndup.m4: Likewise.
51598         * m4/strnlen.m4: Likewise.
51599         * m4/strpbrk.m4: Likewise.
51600         * m4/strptime.m4: Likewise.
51601         * m4/strsep.m4: Likewise.
51602         * m4/strtod.m4: Likewise.
51603         * m4/strtoimax.m4: Likewise.
51604         * m4/strtok_r.m4: Likewise.
51605         * m4/strtol.m4: Likewise.
51606         * m4/strtoll.m4: Likewise.
51607         * m4/strtoul.m4: Likewise.
51608         * m4/strtoull.m4: Likewise.
51609         * m4/strtoumax.m4: Likewise.
51610         * m4/strverscmp.m4: Likewise.
51611         * m4/threadlib.m4: Likewise.
51612         * m4/timegm.m4: Likewise.
51613         * m4/tm_gmtoff.m4: Likewise.
51614         * m4/tmpdir.m4: Likewise.
51615         * m4/tmpfile.m4: Likewise.
51616         * m4/tzset.m4: Likewise.
51617         * m4/uintmax_t.m4: Likewise.
51618         * m4/unlinkdir.m4: Likewise.
51619         * m4/unlocked-io.m4: Likewise.
51620         * m4/uptime.m4: Likewise.
51621         * m4/userspec.m4: Likewise.
51622         * m4/utimbuf.m4: Likewise.
51623         * m4/utime.m4: Likewise.
51624         * m4/utimes-null.m4: Likewise.
51625         * m4/utimes.m4: Likewise.
51626         * m4/vararrays.m4: Likewise.
51627         * m4/vasnprintf.m4: Likewise.
51628         * m4/vfprintf-posix.m4: Likewise.
51629         * m4/vprintf-posix.m4: Likewise.
51630         * m4/wait-process.m4: Likewise.
51631         * m4/wchar_t.m4: Likewise.
51632         * m4/wint_t.m4: Likewise.
51633         * m4/write-any-file.m4: Likewise.
51634         * m4/yield.m4: Likewise.
51635
51636 2009-01-13  Bruno Haible  <bruno@clisp.org>
51637
51638         Avoid test-copy-file.sh failures when ACL support insufficient.
51639         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
51640         TESTS_ENVIRONMENT.
51641         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
51642         Reported by Jim Meyering.
51643
51644 2009-01-13  Bruno Haible  <bruno@clisp.org>
51645
51646         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
51647         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
51648         * modules/unistdio/u8-printf-parse (Files): Likewise.
51649         * modules/unistdio/u32-printf-parse (Files): Likewise.
51650         * modules/unistdio/ulc-printf-parse (Files): Likewise.
51651
51652 2009-01-13  Simon Josefsson  <simon@josefsson.org>
51653
51654         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
51655         and m4/inttypes_h.m4 too.
51656
51657 2009-01-12  Eric Blake  <ebb9@byu.net>
51658
51659         tests: IRIX 6.2 cc can't compile -0.0 into .data
51660         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
51661         rather than at compile-time.
51662         * tests/test-floorl.c (minus_zero): Likewise.
51663         * tests/test-frexpl.c (minus_zero): Likewise.
51664         * tests/test-isnan.c (minus_zerol): Likewise.
51665         * tests/test-isnanl.h (minus_zero): Likewise.
51666         * tests/test-ldexpl.c (minus_zero): Likewise.
51667         * tests/test-roundl.c (minus_zero): Likewise.
51668         * tests/test-signbit.c (minus_zerol): Likewise.
51669         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
51670         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
51671         * tests/test-truncl.c (minus_zero): Likewise.
51672         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
51673         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
51674         Reported by Tom G. Christensen and Nelson H. F. Beebe.
51675
51676 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
51677
51678         regex: fix glibc bug 9697
51679         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
51680         handling.
51681
51682 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
51683
51684         regex: fix glibc bug 697
51685         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
51686         being NULL also if there are no backreferences.
51687
51688 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
51689
51690         regex: merge glibc changes
51691         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
51692         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
51693         re_string_skip_chars, re_string_reconstruct): Likewise.
51694         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
51695
51696 2009-01-07  Jim Meyering  <meyering@redhat.com>
51697
51698         poll: filter through cppi
51699         * lib/poll.c: Indent cpp directives to reflect nesting.
51700
51701 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
51702
51703         poll: don't return uninitialized
51704         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
51705
51706 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
51707
51708         avoid compile failure on AIX 6.1
51709         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
51710         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
51711
51712 2009-01-04  Jim Meyering  <meyering@redhat.com>
51713
51714         remove duplicate inclusion of <stdio.h>
51715         * tests/test-fprintf-posix.c: Likewise.
51716         * tests/test-printf-posix.c: Likewise.
51717         * tests/test-snprintf-posix.c: Likewise.
51718         * tests/test-sprintf-posix.c: Likewise.
51719         * tests/test-vasprintf-posix.c: Likewise.
51720         * tests/test-vfprintf-posix.c: Likewise.
51721         * tests/test-vprintf-posix.c: Likewise.
51722         * tests/test-vsnprintf-posix.c: Likewise.
51723         * tests/test-vsprintf-posix.c: Likewise.
51724
51725 2009-01-03  Jim Meyering  <meyering@redhat.com>
51726
51727         gnulib-tool: fix sed-based filtering
51728         * gnulib-tool (func_filter_filelist): Remove extra backslash
51729         in sed_fff_filter definition.
51730
51731 2009-01-02  Jim Meyering  <meyering@redhat.com>
51732
51733         strftime: avoid compilation failure on Solaris 2.6
51734         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
51735         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
51736         Don't #define mbrlen or mbsinit, since now they're guaranteed to
51737         be available.  Reported by Tom G. Christensen.  Details in
51738         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
51739
51740 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51741             Bruno Haible  <bruno@clisp.org>
51742
51743         Speed up gnulib-tool by doing more string processing through shell
51744         built-ins.
51745         * gnulib-tool (fast_func_append): New variable.
51746         (func_remove_prefix, func_remove_suffix): New functions.
51747         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
51748         (func_filter_filelist): New function.
51749         (func_get_dependencies): Use func_remove_suffix instead of sed.
51750         (func_get_automake_snippet): Use func_filter_filelist instead of a
51751         subshell and sed invocation.
51752
51753 2009-01-01  Bruno Haible  <bruno@clisp.org>
51754
51755         Fix a security bug.
51756         * gnulib-tool (func_import, import, update): Don't allow the characters
51757         '"', '$', '`', '\' in macro arguments that become part of commands that
51758         are evaluated.
51759
51760 2009-01-01  Bruno Haible  <bruno@clisp.org>
51761
51762         * gnulib-tool (func_reset_sigpipe): Add more comments.
51763
51764 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51765
51766         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
51767         func_emit_tests_Makefile_am, func_import): Abort loops early if we
51768         already know the answer.
51769
51770 2009-01-01  Jim Meyering  <meyering@redhat.com>
51771
51772         * lib/version-etc.c (version_etc_va): Update copyright year.
51773
51774 2008-12-30  Bruno Haible  <bruno@clisp.org>
51775
51776         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
51777         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
51778         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
51779
51780 2008-12-29  Eric Blake  <ebb9@byu.net>
51781
51782         multiarch: avoid autoconf AC_REQUIRE bug
51783         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
51784         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
51785         2.63 and older.
51786         Reported by Bruno Haible, and analyzed in
51787         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
51788
51789 2008-12-29  Bruno Haible  <bruno@clisp.org>
51790
51791         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
51792         files in subdirectories correctly.
51793         Reported by Ralf Wildenhues.
51794
51795 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51796
51797         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
51798         rather than 'join FILE -', for Solaris join.
51799
51800 2008-12-29  Bruno Haible  <bruno@clisp.org>
51801
51802         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
51803         quoting.
51804         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
51805         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
51806         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
51807         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
51808         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
51809         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
51810         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
51811         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
51812         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
51813         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
51814         * m4/nls.m4 (AM_NLS): Likewise.
51815         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
51816         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
51817         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
51818         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
51819         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
51820         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
51821         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
51822         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
51823         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
51824         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
51825         * m4/xsize.m4 (gl_XSIZE): Likewise.
51826         Suggested by Jim Meyering.
51827
51828 2008-11-17  Bruce Korb  <bkorb@gnu.org>
51829
51830         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
51831         * lib/parse-duration.c: use a switch instead of cascading if's.
51832
51833 2008-12-29  Eric Blake  <ebb9@byu.net>
51834
51835         wchar.h: supply WEOF on Irix 5.3
51836         * lib/wchar.in.h (wint_t): Also supply WEOF.
51837         * lib/wctype.in.h (wint_t): Likewise.
51838         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
51839         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
51840         Reported by Tom G. Christensen.
51841
51842 2008-12-26  Bruno Haible  <bruno@clisp.org>
51843
51844         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
51845         i486, i586, i686.
51846
51847 2008-12-26  Bruno Haible  <bruno@clisp.org>
51848
51849         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
51850
51851 2008-12-26  Bruno Haible  <bruno@clisp.org>
51852
51853         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
51854         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
51855         not __STDC_CONSTANT_MACROS.
51856         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
51857
51858 2008-12-25  Bruno Haible  <bruno@clisp.org>
51859
51860         Add support for universal builds to vasnprintf.
51861         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
51862         universal builds, guess no.
51863         * modules/vasnprintf-posix (Depends-on): Add multiarch.
51864         * modules/vasprintf-posix (Depends-on): Likewise.
51865         * modules/fprintf-posix (Depends-on): Likewise.
51866         * modules/vfprintf-posix (Depends-on): Likewise.
51867         * modules/snprintf-posix (Depends-on): Likewise.
51868         * modules/vsnprintf-posix (Depends-on): Likewise.
51869         * modules/sprintf-posix (Depends-on): Likewise.
51870         * modules/vsprintf-posix (Depends-on): Likewise.
51871         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
51872         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
51873         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
51874         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
51875         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
51876         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
51877         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
51878
51879         Add support for universal builds to <inttypes.h>.
51880         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
51881         _SCNu64_PREFIX): In Apple
51882         universal builds, define directly, using _LP64.
51883         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
51884         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
51885         * modules/inttypes (Depends-on): Add multiarch.
51886         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
51887
51888         Add support for universal builds to <stdint.h>.
51889         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
51890         universal builds, define directly, using _LP64.
51891         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
51892         Apple universal builds, don't test for the size and suffix of ptrdiff_t
51893         and size_t.
51894         * modules/stdint (Depends-on): Add multiarch.
51895         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
51896
51897         New module 'multiarch'.
51898         * modules/multiarch: New file.
51899         * m4/multiarch.m4: New file.
51900
51901 2008-12-25  Bruno Haible  <bruno@clisp.org>
51902
51903         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
51904
51905 2008-12-25  Bruno Haible  <bruno@clisp.org>
51906
51907         * modules/btowc (License): Relicense under LGPLv2+.
51908         * modules/mbsinit (License): Likewise.
51909         * modules/mbrtowc (License): Likewise.
51910         * modules/wcrtomb (License): Likewise.
51911         * modules/streq (License): Likewise.
51912         Reported by David Lutterkort <lutter@redhat.com>.
51913
51914 2008-12-23  Bruno Haible  <bruno@clisp.org>
51915
51916         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
51917
51918 2008-12-23  Bruno Haible  <bruno@clisp.org>
51919
51920         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
51921         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
51922         GETADDRINFO_LIB, not in LIBS.
51923         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
51924         * modules/canon-host (Link): Likewise.
51925         * NEWS: Mention the change.
51926         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
51927         GETADDRINFO_LIB.
51928
51929 2008-12-22  Bruno Haible  <bruno@clisp.org>
51930
51931         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
51932         * doc/posix-functions/iswalpha_l.texi: Likewise.
51933         * doc/posix-functions/iswblank_l.texi: Likewise.
51934         * doc/posix-functions/iswcntrl_l.texi: Likewise.
51935         * doc/posix-functions/iswctype_l.texi: Likewise.
51936         * doc/posix-functions/iswdigit_l.texi: Likewise.
51937         * doc/posix-functions/iswgraph_l.texi: Likewise.
51938         * doc/posix-functions/iswlower_l.texi: Likewise.
51939         * doc/posix-functions/iswprint_l.texi: Likewise.
51940         * doc/posix-functions/iswpunct_l.texi: Likewise.
51941         * doc/posix-functions/iswspace_l.texi: Likewise.
51942         * doc/posix-functions/iswupper_l.texi: Likewise.
51943         * doc/posix-functions/iswxdigit_l.texi: Likewise.
51944         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
51945         * doc/posix-functions/open_wmemstream.texi: Likewise.
51946         * doc/posix-functions/swscanf.texi: Likewise.
51947         * doc/posix-functions/towctrans_l.texi: Likewise.
51948         * doc/posix-functions/towlower.texi: Likewise.
51949         * doc/posix-functions/towlower_l.texi: Likewise.
51950         * doc/posix-functions/towupper.texi: Likewise.
51951         * doc/posix-functions/towupper_l.texi: Likewise.
51952         * doc/posix-functions/vfwprintf.texi: Likewise.
51953         * doc/posix-functions/vfwscanf.texi: Likewise.
51954         * doc/posix-functions/vswscanf.texi: Likewise.
51955         * doc/posix-functions/vwprintf.texi: Likewise.
51956         * doc/posix-functions/vwscanf.texi: Likewise.
51957         * doc/posix-functions/wcpcpy.texi: Likewise.
51958         * doc/posix-functions/wcpncpy.texi: Likewise.
51959         * doc/posix-functions/wcscasecmp.texi: Likewise.
51960         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
51961         * doc/posix-functions/wcscoll_l.texi: Likewise.
51962         * doc/posix-functions/wcsdup.texi: Likewise.
51963         * doc/posix-functions/wcsncasecmp.texi: Likewise.
51964         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
51965         * doc/posix-functions/wcsnlen.texi: Likewise.
51966         * doc/posix-functions/wcsnrtombs.texi: Likewise.
51967         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
51968         * doc/posix-functions/wctrans_l.texi: Likewise.
51969         * doc/posix-functions/wctype_l.texi: Likewise.
51970         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
51971         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
51972         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
51973         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
51974         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
51975         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
51976         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
51977         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
51978         * doc/glibc-functions/wcschrnul.texi: Likewise.
51979         * doc/glibc-functions/wcsftime_l.texi: Likewise.
51980         * doc/glibc-functions/wcstod_l.texi: Likewise.
51981         * doc/glibc-functions/wcstof_l.texi: Likewise.
51982         * doc/glibc-functions/wcstol_l.texi: Likewise.
51983         * doc/glibc-functions/wcstold_l.texi: Likewise.
51984         * doc/glibc-functions/wcstoll_l.texi: Likewise.
51985         * doc/glibc-functions/wcstoq.texi: Likewise.
51986         * doc/glibc-functions/wcstoul_l.texi: Likewise.
51987         * doc/glibc-functions/wcstoull_l.texi: Likewise.
51988         * doc/glibc-functions/wcstouq.texi: Likewise.
51989         * doc/glibc-functions/wmempcpy.texi: Likewise.
51990
51991 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
51992             Eric Blake  <ebb9@byu.net>
51993             Paolo Bonzini  <bonzini@gnu.org>
51994             Bruno Haible  <bruno@clisp.org>
51995
51996         Make c-stack work on Haiku.
51997         * lib/c-stack.c (SA_ONSTACK): Define fallback.
51998         (c_stack_action): Use SA_ONSTACK flag.
51999
52000 2008-12-22  Bruno Haible  <bruno@clisp.org>
52001
52002         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
52003
52004 2008-12-22  Bruno Haible  <bruno@clisp.org>
52005
52006         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
52007         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
52008         being overridden.
52009         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
52010         New macros.
52011         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
52012         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
52013         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
52014         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
52015
52016 2008-12-22  Bruno Haible  <bruno@clisp.org>
52017
52018         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
52019         from test code.
52020
52021 2008-12-22  Eric Blake  <ebb9@byu.net>
52022
52023         Avoid gcc warnings on cygwin.
52024         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
52025         Avoid unused variable.
52026         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
52027         Likewise.
52028
52029 2008-12-22  Bruno Haible  <bruno@clisp.org>
52030
52031         Remove HAVE_MBRTOWC conditionals.
52032         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
52033         (mbscasecmp): Assume mbrtowc function.
52034         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
52035         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
52036         * lib/mbschr.c: Include mbuiter.h unconditionally.
52037         (mbschr): Assume mbrtowc function.
52038         * lib/mbscspn.c: Include mbuiter.h unconditionally.
52039         (mbscspn): Assume mbrtowc function.
52040         * lib/mbslen.c: Include mbuiter.h unconditionally.
52041         (mbslen): Assume mbrtowc function.
52042         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
52043         (mbsncasecmp): Assume mbrtowc function.
52044         * lib/mbsnlen.c: Include mbiter.h unconditionally.
52045         (mbsnlen): Assume mbrtowc function.
52046         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
52047         (mbspbrk): Assume mbrtowc function.
52048         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
52049         (mbspcasecmp): Assume mbrtowc function.
52050         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
52051         (mbsrchr): Assume mbrtowc function.
52052         * lib/mbssep.c: Include mbuiter.h unconditionally.
52053         (mbssep): Assume mbrtowc function.
52054         * lib/mbsspn.c: Include mbuiter.h unconditionally.
52055         (mbsspn): Assume mbrtowc function.
52056         * lib/mbsstr.c: Include mbuiter.h unconditionally.
52057         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
52058         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
52059         (mbstok_r): Assume mbrtowc function.
52060         * lib/propername.c: Include mbuiter.h unconditionally.
52061         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
52062         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
52063         (trim2): Assume mbrtowc function.
52064         * lib/mbswidth.c (mbsinit): Remove fallback definition.
52065         (mbsnwidth): Assume mbrtowc function.
52066         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
52067         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
52068         fallback definitions.
52069         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
52070
52071 2008-12-22  Bruno Haible  <bruno@clisp.org>
52072
52073         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
52074
52075 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
52076
52077         * modules/regex: Request emulations for the mb*/wc* functions we need.
52078         * m4/regex.m4: Don't look for those functions here.
52079         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
52080
52081 2008-12-22  Bruno Haible  <bruno@clisp.org>
52082
52083         * modules/fnmatch (Depends-on): Remove duplicated dependency.
52084
52085 2008-12-21  Bruno Haible  <bruno@clisp.org>
52086
52087         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
52088         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
52089         (Include): Remove conditionalization.
52090         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
52091         (Include): Remove conditionalization.
52092         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
52093         (Include): Remove conditionalization.
52094         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
52095         * m4/mbfile.m4 (gl_MBFILE): Likewise.
52096         * NEWS: Mention the change.
52097         Reported by Alan Hourihane <alanh@fairlite.co.uk>
52098         via Sergey Poznyakoff <gray@gnu.org.ua>.
52099
52100 2008-12-21  Bruno Haible  <bruno@clisp.org>
52101
52102         * MODULES.html.sh (Extended multibyte and wide character utilities
52103         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
52104         wcrtomb, wcsrtombs.
52105         (Support for systems lacking POSIX:2008): Add accept, bind, close,
52106         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
52107         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
52108         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
52109
52110 2008-12-21  Bruno Haible  <bruno@clisp.org>
52111
52112         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
52113
52114 2008-12-21  Bruno Haible  <bruno@clisp.org>
52115
52116         * modules/wcsnrtombs-tests: New file.
52117         * tests/test-wcsnrtombs1.sh: New file.
52118         * tests/test-wcsnrtombs2.sh: New file.
52119         * tests/test-wcsnrtombs3.sh: New file.
52120         * tests/test-wcsnrtombs4.sh: New file.
52121         * tests/test-wcsnrtombs.c: New file.
52122
52123         New module 'wcsnrtombs'.
52124         * lib/wchar.in.h (wcsnrtombs): New declaration.
52125         * lib/wcsnrtombs.c: New file.
52126         * lib/wcsrtombs-state.c: New file.
52127         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
52128         (internal_state): Remove variable.
52129         * m4/wcsnrtombs.m4: New file.
52130         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
52131         compilation units.
52132         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
52133         HAVE_WCSNRTOMBS.
52134         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
52135         HAVE_WCSNRTOMBS.
52136         * modules/wcsnrtombs: New file.
52137         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
52138         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
52139
52140 2008-12-21  Bruno Haible  <bruno@clisp.org>
52141
52142         * modules/wcsrtombs-tests: New file.
52143         * tests/test-wcsrtombs1.sh: New file.
52144         * tests/test-wcsrtombs2.sh: New file.
52145         * tests/test-wcsrtombs3.sh: New file.
52146         * tests/test-wcsrtombs4.sh: New file.
52147         * tests/test-wcsrtombs.c: New file.
52148
52149         New module 'wcsrtombs'.
52150         * lib/wchar.in.h (wcsrtombs): New declaration.
52151         * lib/wcsrtombs.c: New file.
52152         * m4/wcsrtombs.m4: New file.
52153         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
52154         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
52155         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
52156         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
52157         * modules/wcsrtombs: New file.
52158         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
52159         bugs.
52160
52161 2008-12-21  Bruno Haible  <bruno@clisp.org>
52162
52163         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
52164         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
52165         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
52166         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
52167         if not correct.
52168         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
52169         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
52170         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
52171         m4/locale-zh.m4, m4/codeset.m4.
52172         * doc/posix-functions/wcrtomb.texi: Document the bug.
52173
52174 2008-12-21  Bruno Haible  <bruno@clisp.org>
52175
52176         Work around a btowc() bug on IRIX 6.5.
52177         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
52178         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
52179         REPLACE_WTOBC if not.
52180         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
52181         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
52182         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
52183
52184 2008-12-21  Bruno Haible  <bruno@clisp.org>
52185
52186         * modules/wcrtomb-tests: New file.
52187         * tests/test-wcrtomb.sh: New file.
52188         * tests/test-wcrtomb.c: New file.
52189
52190         New module 'wcrtomb'.
52191         * lib/wchar.in.h (wcrtomb): New declaration.
52192         * lib/wcrtomb.c: New file.
52193         * m4/wcrtomb.m4: New file.
52194         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
52195         HAVE_WCRTOMB.
52196         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
52197         HAVE_WCRTOMB.
52198         * modules/wcrtomb: New file.
52199         * doc/posix-functions/wcrtomb.texi: Mention the new module.
52200
52201 2008-12-21  Bruno Haible  <bruno@clisp.org>
52202
52203         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
52204         * modules/mbsrtowcs (Files): Likewise.
52205         * modules/wctob (Files): Likewise.
52206         * modules/c-strcase-tests (Files): Likewise.
52207         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
52208         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
52209         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
52210         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
52211         * modules/vasnprintf-posix-tests (Files): Likewise.
52212
52213 2008-12-21  William Pursell  <bill.pursell@gmail.com>
52214
52215         gitlog-to-changelog: pass all command-line arguments to git-log
52216         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
52217         it is sometimes convenient to filter the commits in various ways.
52218         gitlog-to-changelog only allows --since to specify a start date,
52219         but git-log itself supports many other filtering mechanisms.
52220         At the moment, I want to filter by branch name.  Rather than
52221         adding a --branch option to gitlog-to-changelog, it seems more
52222         flexible to simply pass all options directly to git-log and let
52223         git do the work.  Notice that this effectively makes --since a
52224         redundant option for gitlog-to-changelog, but removing it would
52225         require current usage to change since calls would then require
52226         an additional '--'.
52227
52228 2008-12-21  Bruno Haible  <bruno@clisp.org>
52229
52230         * modules/mbsnrtowcs-tests: New file.
52231         * tests/test-mbsnrtowcs1.sh: New file.
52232         * tests/test-mbsnrtowcs2.sh: New file.
52233         * tests/test-mbsnrtowcs3.sh: New file.
52234         * tests/test-mbsnrtowcs4.sh: New file.
52235         * tests/test-mbsnrtowcs.c: New file.
52236
52237         New module 'mbsnrtowcs'.
52238         * lib/wchar.in.h (mbsnrtowcs): New declaration.
52239         * lib/mbsnrtowcs.c: New file.
52240         * lib/mbsrtowcs-state.c: New file.
52241         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
52242         (internal_state): Remove variable.
52243         * m4/mbsnrtowcs.m4: New file.
52244         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
52245         compilation units.
52246         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
52247         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
52248         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
52249         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
52250         * modules/mbsnrtowcs: New file.
52251         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
52252         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
52253         portability problem.
52254
52255 2008-12-21  Bruno Haible  <bruno@clisp.org>
52256
52257         Work around mbsrtowcs bug.
52258         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
52259         (gl_FUNC_MBSRTOWCS): Invoke it.
52260         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
52261         m4/locale-zh.m4.
52262         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
52263
52264 2008-12-21  Bruno Haible  <bruno@clisp.org>
52265
52266         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
52267
52268 2008-12-21  Bruno Haible  <bruno@clisp.org>
52269
52270         Update doc for AIX.
52271         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
52272         16-bit wchar_t type.
52273         * doc/posix-functions/btowc.texi: Likewise.
52274         * doc/posix-functions/fgetwc.texi: Likewise.
52275         * doc/posix-functions/fgetws.texi: Likewise.
52276         * doc/posix-functions/fputwc.texi: Likewise.
52277         * doc/posix-functions/fputws.texi: Likewise.
52278         * doc/posix-functions/fwide.texi: Likewise.
52279         * doc/posix-functions/fwprintf.texi: Likewise.
52280         * doc/posix-functions/fwscanf.texi: Likewise.
52281         * doc/posix-functions/getwchar.texi: Likewise.
52282         * doc/posix-functions/getwc.texi: Likewise.
52283         * doc/posix-functions/iswalnum.texi: Likewise.
52284         * doc/posix-functions/iswalpha.texi: Likewise.
52285         * doc/posix-functions/iswblank.texi: Likewise.
52286         * doc/posix-functions/iswcntrl.texi: Likewise.
52287         * doc/posix-functions/iswctype.texi: Likewise.
52288         * doc/posix-functions/iswdigit.texi: Likewise.
52289         * doc/posix-functions/iswgraph.texi: Likewise.
52290         * doc/posix-functions/iswlower.texi: Likewise.
52291         * doc/posix-functions/iswprint.texi: Likewise.
52292         * doc/posix-functions/iswpunct.texi: Likewise.
52293         * doc/posix-functions/iswspace.texi: Likewise.
52294         * doc/posix-functions/iswupper.texi: Likewise.
52295         * doc/posix-functions/iswxdigit.texi: Likewise.
52296         * doc/posix-functions/mbrtowc.texi: Likewise.
52297         * doc/posix-functions/mbsrtowcs.texi: Likewise.
52298         * doc/posix-functions/mbstowcs.texi: Likewise.
52299         * doc/posix-functions/mbtowc.texi: Likewise.
52300         * doc/posix-functions/putwchar.texi: Likewise.
52301         * doc/posix-functions/putwc.texi: Likewise.
52302         * doc/posix-functions/swprintf.texi: Likewise.
52303         * doc/posix-functions/tolower.texi: Likewise.
52304         * doc/posix-functions/toupper.texi: Likewise.
52305         * doc/posix-functions/towctrans.texi: Likewise.
52306         * doc/posix-functions/ungetwc.texi: Likewise.
52307         * doc/posix-functions/vswprintf.texi: Likewise.
52308         * doc/posix-functions/wcrtomb.texi: Likewise.
52309         * doc/posix-functions/wcscat.texi: Likewise.
52310         * doc/posix-functions/wcschr.texi: Likewise.
52311         * doc/posix-functions/wcscmp.texi: Likewise.
52312         * doc/posix-functions/wcscoll.texi: Likewise.
52313         * doc/posix-functions/wcscpy.texi: Likewise.
52314         * doc/posix-functions/wcscspn.texi: Likewise.
52315         * doc/posix-functions/wcsftime.texi: Likewise.
52316         * doc/posix-functions/wcslen.texi: Likewise.
52317         * doc/posix-functions/wcsncat.texi: Likewise.
52318         * doc/posix-functions/wcsncmp.texi: Likewise.
52319         * doc/posix-functions/wcsncpy.texi: Likewise.
52320         * doc/posix-functions/wcspbrk.texi: Likewise.
52321         * doc/posix-functions/wcsrchr.texi: Likewise.
52322         * doc/posix-functions/wcsrtombs.texi: Likewise.
52323         * doc/posix-functions/wcsspn.texi: Likewise.
52324         * doc/posix-functions/wcsstr.texi: Likewise.
52325         * doc/posix-functions/wcstod.texi: Likewise.
52326         * doc/posix-functions/wcstof.texi: Likewise.
52327         * doc/posix-functions/wcstoimax.texi: Likewise.
52328         * doc/posix-functions/wcstok.texi: Likewise.
52329         * doc/posix-functions/wcstold.texi: Likewise.
52330         * doc/posix-functions/wcstoll.texi: Likewise.
52331         * doc/posix-functions/wcstol.texi: Likewise.
52332         * doc/posix-functions/wcstombs.texi: Likewise.
52333         * doc/posix-functions/wcstoull.texi: Likewise.
52334         * doc/posix-functions/wcstoul.texi: Likewise.
52335         * doc/posix-functions/wcstoumax.texi: Likewise.
52336         * doc/posix-functions/wcswidth.texi: Likewise.
52337         * doc/posix-functions/wcsxfrm.texi: Likewise.
52338         * doc/posix-functions/wctob.texi: Likewise.
52339         * doc/posix-functions/wctomb.texi: Likewise.
52340         * doc/posix-functions/wctrans.texi: Likewise.
52341         * doc/posix-functions/wctype.texi: Likewise.
52342         * doc/posix-functions/wcwidth.texi: Likewise.
52343         * doc/posix-functions/wmemchr.texi: Likewise.
52344         * doc/posix-functions/wmemcmp.texi: Likewise.
52345         * doc/posix-functions/wmemcpy.texi: Likewise.
52346         * doc/posix-functions/wmemmove.texi: Likewise.
52347         * doc/posix-functions/wmemset.texi: Likewise.
52348         * doc/posix-functions/wprintf.texi: Likewise.
52349         * doc/posix-functions/wscanf.texi: Likewise.
52350
52351 2008-12-21  Bruno Haible  <bruno@clisp.org>
52352
52353         Update doc for HP-UX 11.11.
52354         * doc/posix-functions/btowc.texi: Clarify that the function is missing
52355         in HP-UX version 11.00, not in all versions of HP-UX 11.
52356         * doc/posix-functions/fwide.texi: Likewise.
52357         * doc/posix-functions/fwprintf.texi: Likewise.
52358         * doc/posix-functions/fwscanf.texi: Likewise.
52359         * doc/posix-functions/inet_ntop.texi: Likewise.
52360         * doc/posix-functions/inet_pton.texi: Likewise.
52361         * doc/posix-functions/mbrlen.texi: Likewise.
52362         * doc/posix-functions/mbrtowc.texi: Likewise.
52363         * doc/posix-functions/mbsinit.texi: Likewise.
52364         * doc/posix-functions/mbsrtowcs.texi: Likewise.
52365         * doc/posix-functions/swprintf.texi: Likewise.
52366         * doc/posix-functions/swscanf.texi: Likewise.
52367         * doc/posix-functions/towctrans.texi: Likewise.
52368         * doc/posix-functions/vfwprintf.texi: Likewise.
52369         * doc/posix-functions/vswprintf.texi: Likewise.
52370         * doc/posix-functions/vwprintf.texi: Likewise.
52371         * doc/posix-functions/wcrtomb.texi: Likewise.
52372         * doc/posix-functions/wcsrtombs.texi: Likewise.
52373         * doc/posix-functions/wcsstr.texi: Likewise.
52374         * doc/posix-functions/wctob.texi: Likewise.
52375         * doc/posix-functions/wctrans.texi: Likewise.
52376         * doc/posix-functions/wmemchr.texi: Likewise.
52377         * doc/posix-functions/wmemcmp.texi: Likewise.
52378         * doc/posix-functions/wmemcpy.texi: Likewise.
52379         * doc/posix-functions/wmemmove.texi: Likewise.
52380         * doc/posix-functions/wmemset.texi: Likewise.
52381         * doc/posix-functions/wprintf.texi: Likewise.
52382         * doc/posix-functions/wscanf.texi: Likewise.
52383
52384 2008-12-21  Bruno Haible  <bruno@clisp.org>
52385
52386         Work around a portability problem.
52387         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
52388         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
52389
52390 2008-12-20  Bruno Haible  <bruno@clisp.org>
52391
52392         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
52393         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
52394         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
52395         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
52396         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
52397
52398         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
52399         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
52400         set.
52401         (GNULIB_defined_mbstate_t): New macro.
52402         (mbsinit): Redefine if REPLACE_MBSINIT is set.
52403         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
52404         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
52405         reuses the system's mbrtowc function but works around the bugs.
52406         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
52407         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
52408         macros.
52409         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
52410         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
52411         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
52412         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
52413         REPLACE_MBSINIT if mbsinit needs to be overridden.
52414         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
52415         REPLACE_MBSINIT, REPLACE_MBRTOWC.
52416         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
52417         REPLACE_MBSINIT, REPLACE_MBRTOWC.
52418         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
52419         m4/locale-zh.m4.
52420         (Depends): Add mbsinit.
52421         * modules/mbsinit (Depends): Add mbrtowc.
52422         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
52423
52424 2008-12-20  Bruno Haible  <bruno@clisp.org>
52425
52426         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
52427         so that there are no conversion errors on AIX.
52428         * tests/test-mbsrtowcs.c (main): LIkewise.
52429
52430 2008-12-20  Bruno Haible  <bruno@clisp.org>
52431
52432         Work around wctob bug on Solaris <= 9.
52433         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
52434         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
52435         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
52436         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
52437         * modules/wctob (Files): Add m4/locale-fr.m4.
52438         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
52439
52440 2008-12-20  Bruno Haible  <bruno@clisp.org>
52441
52442         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
52443         /dev/null.
52444         * tests/test-select-in.sh: Likewise.
52445         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
52446
52447 2008-12-20  Bruno Haible  <bruno@clisp.org>
52448
52449         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
52450         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
52451         Cygwin 1.5.x.
52452
52453 2008-12-20  Bruno Haible  <bruno@clisp.org>
52454
52455         Ensure mbstate_t is defined on HP-UX 11.11.
52456         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
52457         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
52458         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
52459         AC_USE_SYSTEM_EXTENSIONS.
52460         * modules/fnmatch (Depends-on): Add extensions.
52461         * modules/mbrlen (Depends-on): Likewise.
52462         * modules/mbrtowc (Depends-on): Likewise.
52463         * modules/mbsinit (Depends-on): Likewise.
52464         * modules/mbsrtowcs (Depends-on): Likewise.
52465         * modules/mbswidth (Depends-on): Likewise.
52466         * modules/quotearg (Depends-on): Likewise.
52467         * modules/strftime (Depends-on): Likewise.
52468
52469 2008-12-20  Bruno Haible  <bruno@clisp.org>
52470
52471         Ensure wctob is declared on IRIX 6.5.
52472         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
52473         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
52474         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
52475         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
52476         of HAVE_WCTOB.
52477         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
52478         HAVE_WCTOB.
52479         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
52480
52481 2008-12-19  Bruno Haible  <bruno@clisp.org>
52482
52483         * modules/mbsrtowcs-tests: New file.
52484         * tests/test-mbsrtowcs1.sh: New file.
52485         * tests/test-mbsrtowcs2.sh: New file.
52486         * tests/test-mbsrtowcs3.sh: New file.
52487         * tests/test-mbsrtowcs4.sh: New file.
52488         * tests/test-mbsrtowcs.c: New file.
52489
52490         New module 'mbsrtowcs'.
52491         * lib/wchar.in.h (mbsrtowcs): New declaration.
52492         * lib/mbsrtowcs.c: New file.
52493         * m4/mbsrtowcs.m4: New file.
52494         * modules/mbsrtowcs: New file.
52495         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
52496         HAVE_MBSRTOWCS.
52497         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
52498         HAVE_MBSRTOWCS.
52499         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
52500
52501 2008-12-19  Bruno Haible  <bruno@clisp.org>
52502
52503         New module 'mbrlen'.
52504         * lib/wchar.in.h (mbrlen): New declaration.
52505         * lib/mbrlen.c: New file.
52506         * m4/mbrlen.m4: New file.
52507         * modules/mbrlen: New file.
52508         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
52509         HAVE_MBRLEN.
52510         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
52511         HAVE_MBRLEN.
52512         * doc/posix-functions/mbrlen.texi: Document the new module.
52513
52514 2008-12-19  Bruno Haible  <bruno@clisp.org>
52515
52516         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
52517         * modules/mbrtowc (Depends-on): Add verify.
52518         Suggested by Paul Eggert.
52519
52520 2008-12-18  Bruno Haible  <bruno@clisp.org>
52521
52522         * modules/mbsinit-tests: New file.
52523         * tests/test-mbsinit.sh: New file.
52524         * tests/test-mbsinit.c: New file.
52525
52526 2008-12-18  Bruno Haible  <bruno@clisp.org>
52527
52528         * modules/mbrtowc-tests: New file.
52529         * tests/test-mbrtowc1.sh: New file.
52530         * tests/test-mbrtowc2.sh: New file.
52531         * tests/test-mbrtowc3.sh: New file.
52532         * tests/test-mbrtowc4.sh: New file.
52533         * tests/test-mbrtowc.c: New file.
52534
52535         New module 'mbrtowc'.
52536         * lib/wchar.in.h (mbstate_t): Override when the system does not have
52537         mbsinit and mbrtowc.
52538         (mbrtowc): New declaration.
52539         * lib/mbrtowc.c: New file.
52540         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
52541         * modules/mbrtowc: New file.
52542         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
52543         HAVE_MBRTOWC.
52544         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
52545         HAVE_MBRTOWC.
52546         * doc/posix-functions/mbrtowc.texi: Document the new module.
52547
52548 2008-12-18  Bruno Haible  <bruno@clisp.org>
52549
52550         New module 'wctob'.
52551         * lib/wchar.in.h (wctob): New declaration.
52552         * lib/wctob.c: New file.
52553         * m4/wctob.m4: New file.
52554         * modules/wctob: New file.
52555         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
52556         HAVE_WCTOB.
52557         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
52558         * doc/posix-functions/wctob.texi: Document the new module.
52559
52560 2008-12-18  Bruno Haible  <bruno@clisp.org>
52561
52562         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
52563         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
52564
52565 2008-12-18  Simon Josefsson  <simon@josefsson.org>
52566
52567         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
52568         G. Christensen" <tgc@jupiterrise.com>.
52569
52570         * lib/flock.c: Need to include errno.h.  Reported by "Tom
52571         G. Christensen" <tgc@jupiterrise.com>.
52572
52573         * lib/flock.c: Need to include string.h.  Reported by "Tom
52574         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
52575         <ebb9@byu.net>.
52576
52577 2008-12-18  Bruno Haible  <bruno@clisp.org>
52578
52579         * m4/locale-ja.m4: New file, from GNU gettext.
52580
52581 2008-12-17  Bruno Haible  <bruno@clisp.org>
52582
52583         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
52584         Suggested by Eric Blake.
52585
52586 2008-12-17  Bruno Haible  <bruno@clisp.org>
52587
52588         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
52589
52590 2008-12-17  Bruno Haible  <bruno@clisp.org>
52591
52592         * lib/mbsinit.c: Include verify.h. Verify an assumption.
52593         * modules/mbsinit (Depends-on): Add verify.
52594         Suggested by Paul Eggert.
52595
52596 2008-12-17  Bruno Haible  <bruno@clisp.org>
52597
52598         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
52599         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
52600         gl_FUNC_MBRTOWC.
52601         * m4/mbiter.m4 (gl_MBITER): LIkewise.
52602         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
52603         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
52604         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
52605         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
52606         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
52607         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
52608         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
52609         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
52610         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
52611         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
52612         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
52613         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
52614         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
52615         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
52616         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
52617         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
52618         * modules/trim (configure.ac): Likewise.
52619
52620 2008-12-17  Bruno Haible  <bruno@clisp.org>
52621
52622         * modules/btowc-tests: New file.
52623         * tests/test-btowc1.sh: New file.
52624         * tests/test-btowc2.sh: New file.
52625         * tests/test-btowc.c: New file.
52626
52627         New module 'btowc'.
52628         * lib/wchar.in.h (btowc): New declaration.
52629         * lib/btowc.c: New file.
52630         * m4/btowc.m4: New file.
52631         * modules/btowc: New file.
52632         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
52633         HAVE_BTOWC.
52634         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
52635         * doc/posix-functions/btowc.texi: Document the new module.
52636
52637 2008-12-17  Bruno Haible  <bruno@clisp.org>
52638
52639         New module 'mbsinit'.
52640         * lib/wchar.in.h (mbsinit): New declaration.
52641         * lib/mbsinit.c: New file.
52642         * m4/mbsinit.m4: New file.
52643         * modules/mbsinit: New file.
52644         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
52645         HAVE_MBSINIT.
52646         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
52647         HAVE_MBSINIT.
52648         * doc/posix-functions/mbsinit.texi: Document the new module.
52649
52650 2008-12-16  Bruno Haible  <bruno@clisp.org>
52651
52652         * lib/unistd.in.h: Add comment.
52653         * tests/test-environ.c: Don't include <stdlib.h>.
52654
52655 2008-12-16  Bruno Haible  <bruno@clisp.org>
52656
52657         * lib/parse-duration.h (parse_duration): Document return value
52658         convention.
52659         * lib/parse-duration.c: Include specification header first. Add
52660         comments.
52661         (_): Remove macro.
52662         (parse_year_month_day, parse_hour_minute_second): Move side effects
52663         outside of strchr call.
52664         (parse_non_iso8601): Move side effects outside of isspace call.
52665         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
52666         call.
52667
52668 2008-12-16  Bruno Haible  <bruno@clisp.org>
52669
52670         * tests/test-parse-duration.sh: Produce no output when the test
52671         succeeds.
52672
52673 2008-12-16  Bruno Haible  <bruno@clisp.org>
52674
52675         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
52676         expressions.
52677
52678 2008-12-15  Bruno Haible  <bruno@clisp.org>
52679
52680         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
52681         * doc/glibc-functions/flistxattr.texi: Likewise.
52682         * doc/glibc-functions/fopencookie.texi: Likewise.
52683         * doc/glibc-functions/fremovexattr.texi: Likewise.
52684         * doc/glibc-functions/fsetxattr.texi: Likewise.
52685         * doc/glibc-functions/getxattr.texi: Likewise.
52686         * doc/glibc-functions/lgetxattr.texi: Likewise.
52687         * doc/glibc-functions/listxattr.texi: Likewise.
52688         * doc/glibc-functions/llistxattr.texi: Likewise.
52689         * doc/glibc-functions/lremovexattr.texi: Likewise.
52690         * doc/glibc-functions/lsetxattr.texi: Likewise.
52691         * doc/glibc-functions/removexattr.texi: Likewise.
52692         * doc/glibc-functions/setxattr.texi: Likewise.
52693         * doc/posix-functions/open_memstream.texi: Likewise.
52694
52695 2008-12-15  Eric Blake  <ebb9@byu.net>
52696
52697         Update doc for cygwin 1.7.
52698         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
52699         functions.
52700         * doc/posix-functions/fchmodat.texi: Likewise.
52701         * doc/posix-functions/fchownat.texi: Likewise.
52702         * doc/posix-functions/fdopendir.texi: Likewise.
52703         * doc/posix-functions/fmemopen.texi: Likewise.
52704         * doc/posix-functions/freeaddrinfo.texi: Likewise.
52705         * doc/posix-functions/fstatat.texi: Likewise.
52706         * doc/posix-functions/futimens.texi: Likewise.
52707         * doc/posix-functions/gai_strerror.texi: Likewise.
52708         * doc/posix-functions/getaddrinfo.texi: Likewise.
52709         * doc/posix-functions/getnameinfo.texi: Likewise.
52710         * doc/posix-functions/if_freenameindex.texi: Likewise.
52711         * doc/posix-functions/if_indextoname.texi: Likewise.
52712         * doc/posix-functions/if_nameindex.texi: Likewise.
52713         * doc/posix-functions/if_nametoindex.texi: Likewise.
52714         * doc/posix-functions/insque.texi: Likewise.
52715         * doc/posix-functions/linkat.texi: Likewise.
52716         * doc/posix-functions/llrint.texi: Likewise.
52717         * doc/posix-functions/llrintf.texi: Likewise.
52718         * doc/posix-functions/llrintl.texi: Likewise.
52719         * doc/posix-functions/lockf.texi: Likewise.
52720         * doc/posix-functions/lrintl.texi: Likewise.
52721         * doc/posix-functions/mkdirat.texi: Likewise.
52722         * doc/posix-functions/mkfifoat.texi: Likewise.
52723         * doc/posix-functions/mknodat.texi: Likewise.
52724         * doc/posix-functions/mq_close.texi: Likewise.
52725         * doc/posix-functions/mq_getattr.texi: Likewise.
52726         * doc/posix-functions/mq_notify.texi: Likewise.
52727         * doc/posix-functions/mq_open.texi: Likewise.
52728         * doc/posix-functions/mq_receive.texi: Likewise.
52729         * doc/posix-functions/mq_send.texi: Likewise.
52730         * doc/posix-functions/mq_setattr.texi: Likewise.
52731         * doc/posix-functions/mq_timedreceive.texi: Likewise.
52732         * doc/posix-functions/mq_timedsend.texi: Likewise.
52733         * doc/posix-functions/mq_unlink.texi: Likewise.
52734         * doc/posix-functions/open_memstream.texi: Likewise.
52735         * doc/posix-functions/openat.texi: Likewise.
52736         * doc/posix-functions/posix_fadvise.texi: Likewise.
52737         * doc/posix-functions/posix_fallocate.texi: Likewise.
52738         * doc/posix-functions/posix_madvise.texi: Likewise.
52739         * doc/posix-functions/posix_memalign.texi: Likewise.
52740         * doc/posix-functions/posix_openpt.texi: Likewise.
52741         * doc/posix-functions/readlinkat.texi: Likewise.
52742         * doc/posix-functions/remque.texi: Likewise.
52743         * doc/posix-functions/renameat.texi: Likewise.
52744         * doc/posix-functions/rintl.texi: Likewise.
52745         * doc/posix-functions/sem_unlink.texi: Likewise.
52746         * doc/posix-functions/shm_open.texi: Likewise.
52747         * doc/posix-functions/shm_unlink.texi: Likewise.
52748         * doc/posix-functions/signgam.texi: Likewise.
52749         * doc/posix-functions/sigset.texi: Likewise.
52750         * doc/posix-functions/stpcpy.texi: Likewise.
52751         * doc/posix-functions/stpncpy.texi: Likewise.
52752         * doc/posix-functions/strerror.texi: Likewise.
52753         * doc/posix-functions/strtod.texi: Likewise.
52754         * doc/posix-functions/symlinkat.texi: Likewise.
52755         * doc/posix-functions/unlinkat.texi: Likewise.
52756         * doc/posix-functions/utimensat.texi: Likewise.
52757         * doc/glibc-functions/bindresvport.texi: Likewise.
52758         * doc/glibc-functions/dn_expand.texi: Likewise.
52759         * doc/glibc-functions/exp10.texi: Likewise.
52760         * doc/glibc-functions/exp10f.texi: Likewise.
52761         * doc/glibc-functions/fgetxattr.texi: Likewise.
52762         * doc/glibc-functions/flistxattr.texi: Likewise.
52763         * doc/glibc-functions/fopencookie.texi: Likewise.
52764         * doc/glibc-functions/freeifaddrs.texi: Likewise.
52765         * doc/glibc-functions/fremovexattr.texi: Likewise.
52766         * doc/glibc-functions/fsetxattr.texi: Likewise.
52767         * doc/glibc-functions/getifaddrs.texi: Likewise.
52768         * doc/glibc-functions/getxattr.texi: Likewise.
52769         * doc/glibc-functions/lgetxattr.texi: Likewise.
52770         * doc/glibc-functions/listxattr.texi: Likewise.
52771         * doc/glibc-functions/llistxattr.texi: Likewise.
52772         * doc/glibc-functions/lremovexattr.texi: Likewise.
52773         * doc/glibc-functions/lsetxattr.texi: Likewise.
52774         * doc/glibc-functions/pow10.texi: Likewise.
52775         * doc/glibc-functions/pow10f.texi: Likewise.
52776         * doc/glibc-functions/rcmd_af.texi: Likewise.
52777         * doc/glibc-functions/removexattr.texi: Likewise.
52778         * doc/glibc-functions/res_init.texi: Likewise.
52779         * doc/glibc-functions/res_mkquery.texi: Likewise.
52780         * doc/glibc-functions/res_query.texi: Likewise.
52781         * doc/glibc-functions/res_querydomain.texi: Likewise.
52782         * doc/glibc-functions/res_send.texi: Likewise.
52783         * doc/glibc-functions/rresvport_af.texi: Likewise.
52784         * doc/glibc-functions/setxattr.texi: Likewise.
52785         * doc/glibc-functions/strcasestr.texi: Likewise.
52786
52787 2008-12-15  Bruno Haible  <bruno@clisp.org>
52788
52789         Fix compilation error on OSF/1 4.0.
52790         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
52791         <sys/time.h>, simply delegate to the system header.
52792         Reported by Daniel Richard G. <oss@teragram.com>.
52793
52794 2008-12-15  Bruno Haible  <bruno@clisp.org>
52795
52796         * doc/posix-functions/openat.texi: Mention the 'openat' module.
52797         * doc/posix-functions/fchmodat.texi: Likewise.
52798         * doc/posix-functions/fchownat.texi: Likewise.
52799         * doc/posix-functions/fdopendir.texi: Likewise.
52800         * doc/posix-functions/fstatat.texi: Likewise.
52801         * doc/posix-functions/mkdirat.texi: Likewise.
52802         * doc/posix-functions/unlinkat.texi: Likewise.
52803
52804 2008-12-14  Bruno Haible  <bruno@clisp.org>
52805
52806         Update doc for POSIX:2008.
52807         * doc/posix-functions/faccessat.texi: New file.
52808         * doc/posix-functions/fchmodat.texi: New file.
52809         * doc/posix-functions/fchownat.texi: New file.
52810         * doc/posix-functions/fdopendir.texi: New file.
52811         * doc/posix-functions/fstatat.texi: New file.
52812         * doc/posix-functions/futimens.texi: New file.
52813         * doc/posix-functions/linkat.texi: New file.
52814         * doc/posix-functions/mkdirat.texi: New file.
52815         * doc/posix-functions/mkfifoat.texi: New file.
52816         * doc/posix-functions/mknodat.texi: New file.
52817         * doc/posix-functions/open_wmemstream.texi: New file.
52818         * doc/posix-functions/openat.texi: New file.
52819         * doc/posix-functions/psiginfo.texi: New file.
52820         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
52821         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
52822         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
52823         * doc/posix-functions/readlinkat.texi: New file.
52824         * doc/posix-functions/renameat.texi: New file.
52825         * doc/posix-functions/strerror_l.texi: New file.
52826         * doc/posix-functions/symlinkat.texi: New file.
52827         * doc/posix-functions/unlinkat.texi: New file.
52828         * doc/posix-functions/utimensat.texi: New file.
52829         * doc/gnulib.texi (Function Substitutes): Add these subsections.
52830
52831 2008-12-14  Bruno Haible  <bruno@clisp.org>
52832
52833         Update doc for POSIX:2008.
52834         * doc/posix-functions/alphasort.texi: Renamed from
52835         doc/glibc-functions/alphasort.texi.
52836         * doc/posix-functions/dirfd.texi: Renamed from
52837         doc/glibc-functions/dirfd.texi.
52838         * doc/posix-functions/dprintf.texi: Renamed from
52839         doc/glibc-functions/dprintf.texi.
52840         * doc/posix-functions/duplocale.texi: Renamed from
52841         doc/glibc-functions/duplocale.texi.
52842         * doc/posix-functions/fexecve.texi: Renamed from
52843         doc/glibc-functions/fexecve.texi.
52844         * doc/posix-functions/fmemopen.texi: Renamed from
52845         doc/glibc-functions/fmemopen.texi.
52846         * doc/posix-functions/freelocale.texi: Renamed from
52847         doc/glibc-functions/freelocale.texi.
52848         * doc/posix-functions/getdate_err.texi: Renamed from
52849         doc/glibc-functions/getdate_err.texi.
52850         * doc/posix-functions/isalnum_l.texi: Renamed from
52851         doc/glibc-functions/isalnum_l.texi.
52852         * doc/posix-functions/isalpha_l.texi: Renamed from
52853         doc/glibc-functions/isalpha_l.texi.
52854         * doc/posix-functions/isblank_l.texi: Renamed from
52855         doc/glibc-functions/isblank_l.texi.
52856         * doc/posix-functions/iscntrl_l.texi: Renamed from
52857         doc/glibc-functions/iscntrl_l.texi.
52858         * doc/posix-functions/isdigit_l.texi: Renamed from
52859         doc/glibc-functions/isdigit_l.texi.
52860         * doc/posix-functions/isgraph_l.texi: Renamed from
52861         doc/glibc-functions/isgraph_l.texi.
52862         * doc/posix-functions/islower_l.texi: Renamed from
52863         doc/glibc-functions/islower_l.texi.
52864         * doc/posix-functions/isprint_l.texi: Renamed from
52865         doc/glibc-functions/isprint_l.texi.
52866         * doc/posix-functions/ispunct_l.texi: Renamed from
52867         doc/glibc-functions/ispunct_l.texi.
52868         * doc/posix-functions/isspace_l.texi: Renamed from
52869         doc/glibc-functions/isspace_l.texi.
52870         * doc/posix-functions/isupper_l.texi: Renamed from
52871         doc/glibc-functions/isupper_l.texi.
52872         * doc/posix-functions/iswalnum_l.texi: Renamed from
52873         doc/glibc-functions/iswalnum_l.texi.
52874         * doc/posix-functions/iswalpha_l.texi: Renamed from
52875         doc/glibc-functions/iswalpha_l.texi.
52876         * doc/posix-functions/iswblank_l.texi: Renamed from
52877         doc/glibc-functions/iswblank_l.texi.
52878         * doc/posix-functions/iswcntrl_l.texi: Renamed from
52879         doc/glibc-functions/iswcntrl_l.texi.
52880         * doc/posix-functions/iswctype_l.texi: Renamed from
52881         doc/glibc-functions/iswctype_l.texi.
52882         * doc/posix-functions/iswdigit_l.texi: Renamed from
52883         doc/glibc-functions/iswdigit_l.texi.
52884         * doc/posix-functions/iswgraph_l.texi: Renamed from
52885         doc/glibc-functions/iswgraph_l.texi.
52886         * doc/posix-functions/iswlower_l.texi: Renamed from
52887         doc/glibc-functions/iswlower_l.texi.
52888         * doc/posix-functions/iswprint_l.texi: Renamed from
52889         doc/glibc-functions/iswprint_l.texi.
52890         * doc/posix-functions/iswpunct_l.texi: Renamed from
52891         doc/glibc-functions/iswpunct_l.texi.
52892         * doc/posix-functions/iswspace_l.texi: Renamed from
52893         doc/glibc-functions/iswspace_l.texi.
52894         * doc/posix-functions/iswupper_l.texi: Renamed from
52895         doc/glibc-functions/iswupper_l.texi.
52896         * doc/posix-functions/iswxdigit_l.texi: Renamed from
52897         doc/glibc-functions/iswxdigit_l.texi.
52898         * doc/posix-functions/isxdigit_l.texi: Renamed from
52899         doc/glibc-functions/isxdigit_l.texi.
52900         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
52901         doc/glibc-functions/mbsnrtowcs.texi.
52902         * doc/posix-functions/mkdtemp.texi: Renamed from
52903         doc/glibc-functions/mkdtemp.texi.
52904         * doc/posix-functions/newlocale.texi: Renamed from
52905         doc/glibc-functions/newlocale.texi.
52906         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
52907         doc/glibc-functions/nl_langinfo_l.texi.
52908         * doc/posix-functions/open_memstream.texi: Renamed from
52909         doc/glibc-functions/open_memstream.texi.
52910         * doc/posix-functions/opterr.texi: Renamed from
52911         doc/glibc-functions/opterr.texi.
52912         * doc/posix-functions/optind.texi: Renamed from
52913         doc/glibc-functions/optind.texi.
52914         * doc/posix-functions/optopt.texi: Renamed from
52915         doc/glibc-functions/optopt.texi.
52916         * doc/posix-functions/psignal.texi: Renamed from
52917         doc/glibc-functions/psignal.texi.
52918         * doc/posix-functions/scandir.texi: Renamed from
52919         doc/glibc-functions/scandir.texi.
52920         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
52921         doc/glibc-functions/sched_get_priority_min.texi.
52922         * doc/posix-functions/signgam.texi: Renamed from
52923         doc/glibc-functions/signgam.texi.
52924         * doc/posix-functions/stpcpy.texi: Renamed from
52925         doc/glibc-functions/stpcpy.texi.
52926         * doc/posix-functions/stpncpy.texi: Renamed from
52927         doc/glibc-functions/stpncpy.texi.
52928         * doc/posix-functions/strcasecmp_l.texi: Renamed from
52929         doc/glibc-functions/strcasecmp_l.texi.
52930         * doc/posix-functions/strcoll_l.texi: Renamed from
52931         doc/glibc-functions/strcoll_l.texi.
52932         * doc/posix-functions/strfmon_l.texi: Renamed from
52933         doc/glibc-functions/strfmon_l.texi.
52934         * doc/posix-functions/strftime_l.texi: Renamed from
52935         doc/glibc-functions/strftime_l.texi.
52936         * doc/posix-functions/strncasecmp_l.texi: Renamed from
52937         doc/glibc-functions/strncasecmp_l.texi.
52938         * doc/posix-functions/strndup.texi: Renamed from
52939         doc/glibc-functions/strndup.texi.
52940         * doc/posix-functions/strnlen.texi: Renamed from
52941         doc/glibc-functions/strnlen.texi.
52942         * doc/posix-functions/strsignal.texi: Renamed from
52943         doc/glibc-functions/strsignal.texi.
52944         * doc/posix-functions/strxfrm_l.texi: Renamed from
52945         doc/glibc-functions/strxfrm_l.texi.
52946         * doc/posix-functions/timer_gettime.texi: Renamed from
52947         doc/glibc-functions/timer_gettime.texi.
52948         * doc/posix-functions/tolower_l.texi: Renamed from
52949         doc/glibc-functions/tolower_l.texi.
52950         * doc/posix-functions/toupper_l.texi: Renamed from
52951         doc/glibc-functions/toupper_l.texi.
52952         * doc/posix-functions/towctrans_l.texi: Renamed from
52953         doc/glibc-functions/towctrans_l.texi.
52954         * doc/posix-functions/towlower_l.texi: Renamed from
52955         doc/glibc-functions/towlower_l.texi.
52956         * doc/posix-functions/towupper_l.texi: Renamed from
52957         doc/glibc-functions/towupper_l.texi.
52958         * doc/posix-functions/uselocale.texi: Renamed from
52959         doc/glibc-functions/uselocale.texi.
52960         * doc/posix-functions/vdprintf.texi: Renamed from
52961         doc/glibc-functions/vdprintf.texi.
52962         * doc/posix-functions/wcpcpy.texi:
52963         Renamed from doc/glibc-functions/wcpcpy.texi.
52964         * doc/posix-functions/wcpncpy.texi: Renamed from
52965         doc/glibc-functions/wcpncpy.texi.
52966         * doc/posix-functions/wcscasecmp.texi: Renamed from
52967         doc/glibc-functions/wcscasecmp.texi.
52968         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
52969         doc/glibc-functions/wcscasecmp_l.texi.
52970         * doc/posix-functions/wcscoll_l.texi: Renamed from
52971         doc/glibc-functions/wcscoll_l.texi.
52972         * doc/posix-functions/wcsdup.texi: Renamed from
52973         doc/glibc-functions/wcsdup.texi.
52974         * doc/posix-functions/wcsncasecmp.texi: Renamed from
52975         doc/glibc-functions/wcsncasecmp.texi.
52976         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
52977         doc/glibc-functions/wcsncasecmp_l.texi.
52978         * doc/posix-functions/wcsnlen.texi: Renamed from
52979         doc/glibc-functions/wcsnlen.texi.
52980         * doc/posix-functions/wcsnrtombs.texi: Renamed from
52981         doc/glibc-functions/wcsnrtombs.texi.
52982         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
52983         doc/glibc-functions/wcsxfrm_l.texi.
52984         * doc/posix-functions/wctrans_l.texi: Renamed from
52985         doc/glibc-functions/wctrans_l.texi.
52986         * doc/posix-functions/wctype_l.texi: Renamed from
52987         doc/glibc-functions/wctype_l.texi.
52988         * doc/gnulib.texi (Function Substitutes): Add these subsections.
52989         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
52990         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
52991         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
52992         these subsections.
52993         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
52994         Remove sections.
52995
52996 2008-12-14  Bruno Haible  <bruno@clisp.org>
52997
52998         Update doc for POSIX:2008.
52999         * doc/posix-functions/*.texi: Update URL of POSIX specification.
53000
53001 2008-12-14  Bruno Haible  <bruno@clisp.org>
53002
53003         Update doc for POSIX:2008.
53004         * doc/pastposix-functions/bcmp.texi: Renamed from
53005         doc/posix-functions/bcmp.texi.
53006         * doc/pastposix-functions/bcopy.texi: Renamed from
53007         doc/posix-functions/bcopy.texi.
53008         * doc/pastposix-functions/bsd_signal.texi: Renamed from
53009         doc/posix-functions/bsd_signal.texi.
53010         * doc/pastposix-functions/bzero.texi: Renamed from
53011         doc/posix-functions/bzero.texi.
53012         * doc/pastposix-functions/ecvt.texi: Renamed from
53013         doc/posix-functions/ecvt.texi.
53014         * doc/pastposix-functions/fcvt.texi: Renamed from
53015         doc/posix-functions/fcvt.texi.
53016         * doc/pastposix-functions/ftime.texi: Renamed from
53017         doc/posix-functions/ftime.texi.
53018         * doc/pastposix-functions/gcvt.texi: Renamed from
53019         doc/posix-functions/gcvt.texi.
53020         * doc/pastposix-functions/getcontext.texi: Renamed from
53021         doc/posix-functions/getcontext.texi.
53022         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
53023         doc/posix-functions/gethostbyaddr.texi.
53024         * doc/pastposix-functions/gethostbyname.texi: Renamed from
53025         doc/posix-functions/gethostbyname.texi.
53026         * doc/pastposix-functions/getwd.texi: Renamed from
53027         doc/posix-functions/getwd.texi.
53028         * doc/pastposix-functions/h_errno.texi: Renamed from
53029         doc/posix-functions/h_errno.texi.
53030         * doc/pastposix-functions/index.texi: Renamed from
53031         doc/posix-functions/index.texi.
53032         * doc/pastposix-functions/makecontext.texi: Renamed from
53033         doc/posix-functions/makecontext.texi.
53034         * doc/pastposix-functions/mktemp.texi: Renamed from
53035         doc/posix-functions/mktemp.texi.
53036         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
53037         doc/posix-functions/pthread_attr_getstackaddr.texi.
53038         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
53039         doc/posix-functions/pthread_attr_setstackaddr.texi.
53040         * doc/pastposix-functions/rindex.texi: Renamed from
53041         doc/posix-functions/rindex.texi.
53042         * doc/pastposix-functions/scalb.texi: Renamed from
53043         doc/posix-functions/scalb.texi.
53044         * doc/pastposix-functions/setcontext.texi: Renamed from
53045         doc/posix-functions/setcontext.texi.
53046         * doc/pastposix-functions/swapcontext.texi: Renamed from
53047         doc/posix-functions/swapcontext.texi.
53048         * doc/pastposix-functions/ualarm.texi: Renamed from
53049         doc/posix-functions/ualarm.texi.
53050         * doc/pastposix-functions/usleep.texi: Renamed from
53051         doc/posix-functions/usleep.texi.
53052         * doc/pastposix-functions/vfork.texi: Renamed from
53053         doc/posix-functions/vfork.texi.
53054         * doc/pastposix-functions/wcswcs.texi: Renamed from
53055         doc/posix-functions/wcswcs.texi.
53056         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
53057         (Function Substitutes): Update.
53058
53059 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53060
53061         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
53062         m4/strerror.m4.
53063
53064 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53065             Bruno Haible  <bruno@clisp.org>
53066
53067         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
53068
53069 2008-12-13  Bruno Haible  <bruno@clisp.org>
53070
53071         * modules/strtoull (Depends-on): Remove unistd.
53072
53073 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53074
53075         * modules/strtoull (Depends-on): Add stdlib.
53076
53077 2008-12-11  Simon Josefsson  <simon@josefsson.org>
53078
53079         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
53080
53081 2008-12-10  Jim Meyering  <meyering@redhat.com>
53082
53083         gl_ASSERT: don't say assertions are disabled when they're not
53084         * m4/assert.m4 (gl_ASSERT): Do not make configure report
53085         "checking whether to enable assertions... no", when they are in
53086         fact enabled.  This is solely a bug in the output of configure.
53087         In spite of saying "no", NDEBUG was not defined in that case.
53088         Also, as noted by Eric Blake, leave assertions enabled upon
53089         --enable-assert=INVALID.
53090
53091 2008-12-10  Bruno Haible  <bruno@clisp.org>
53092
53093         Change MODULES.html to refer to POSIX:2008 where possible.
53094         * MODULES.html.sh (POSIX2008_URL): New variable.
53095         (posix_headers): Remove sys/timeb, ucontext.
53096         (posix2001_headers): New variable.
53097         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
53098         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
53099         index, makecontext, mktemp, pthread_attr_getstackaddr,
53100         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
53101         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
53102         (posix2001_functions): New variable.
53103         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
53104         otherwise.
53105
53106 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53107
53108         add missing include to parse-duration.c
53109         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
53110         * modules/parse-duration (Depends-on): Add xalloc.
53111
53112         fix sed script reading maint.mk
53113         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
53114         (syntax-check-rules): Use it.
53115
53116 2008-12-09  Bruno Haible  <bruno@clisp.org>
53117
53118         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
53119         MacOS X 10.4/PowerPC.
53120         Reported by Simon Josefsson.
53121
53122 2008-12-08  Jim Meyering  <meyering@redhat.com>
53123
53124         work around mingw's lack of some S_IF definitions
53125         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
53126         Reported by Simon Josefsson.
53127
53128 2008-12-08  Bruno Haible  <bruno@clisp.org>
53129
53130         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
53131         applied to variables. Needed on MacOS X 10.4/PowerPC.
53132         Reported by Simon Josefsson.
53133
53134 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
53135         and Eric Blake  <ebb9@byu.net>
53136
53137         assert: honor --enable-assert
53138         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
53139         order to honor --enable-assert, rather than treating it as a
53140         synonym for --disable-assert.
53141
53142 2008-12-08  Jim Meyering  <meyering@redhat.com>
53143
53144         * lib/posixtm.c: Remove now-useless declaration of mktime.
53145
53146         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
53147
53148 2008-12-07  Bruno Haible  <bruno@clisp.org>
53149
53150         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
53151         test_once): Mark functions as static.
53152         * tests/test-tls.c (test_tls): Likewise.
53153
53154 2008-12-07  Bruno Haible  <bruno@clisp.org>
53155
53156         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
53157         iconv_register_autodetect.
53158
53159 2008-12-07  Jim Meyering  <meyering@redhat.com>
53160
53161         posixtm.c: avoid a warning
53162         * lib/posixtm.c (posixtime): Don't initialize tm0.
53163         It's no longer needed to placate gcc4's -Wuninitialized,
53164         and the attempt to placate would elicit a new warning.
53165
53166         unicodeio.c: mark unused parameters
53167         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
53168         (fallback_failure_callback): Likewise.
53169
53170 2008-12-07  Bruno Haible  <bruno@clisp.org>
53171
53172         * gnulib-tool (func_create_testdir): When building the tests
53173         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
53174         Reported by Simon Josefsson.
53175
53176 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53177
53178         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
53179
53180 2008-12-06  Bruno Haible  <bruno@clisp.org>
53181
53182         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
53183         Suggested by Eric Blake.
53184
53185 2008-12-06  Bruno Haible  <bruno@clisp.org>
53186
53187         Fix a c-stack test failure on MacOS X.
53188         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
53189         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
53190         handler for SIGBUS as well.
53191         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
53192         install a signal handler for SIGBUS as well.
53193         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
53194
53195 2008-12-06  Bruno Haible  <bruno@clisp.org>
53196
53197         Advocacy documentation.
53198         * doc/gnulib-intro.texi (Benefits): New section.
53199         * doc/gnulib.texi: Update.
53200
53201 2008-12-06  Bruno Haible  <bruno@clisp.org>
53202
53203         Document the 'manywarnings' module.
53204         * doc/manywarnings.texi: New file.
53205         * doc/gnulib.texi: Include it.
53206
53207 2008-12-05  Eric Blake  <ebb9@byu.net>
53208
53209         tests: silence some gcc warnings
53210         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
53211         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
53212         type mismatches.
53213
53214 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53215             Bruno Haible  <bruno@clisp.org>
53216
53217         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
53218
53219 2008-11-29  Jim Meyering  <meyering@redhat.com>
53220
53221         unicodeio.c: mark unused parameters
53222         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
53223         (fallback_failure_callback): Likewise.
53224
53225         fts: fix a thinko
53226         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
53227         (set_stat_type): Return S_IF*-valued "type" directly.
53228         Prompted by James Youngman's spotting a related bug.
53229         Confirmed by further testing through find.
53230
53231         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
53232         * lib/fts.c (D_TYPE): Define.
53233         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
53234         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
53235         (s_ifmt_shift_bits): New function.
53236         (set_stat_type): New function.
53237         (fts_build): When not calling fts_stat, call set_stat_type
53238         to propagate dirent.d_type info to fts_read caller.
53239         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
53240         fts_statp->st_mode type information may be valid.
53241
53242 2008-11-28  Simon Josefsson  <simon@josefsson.org>
53243
53244         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
53245         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
53246         <sds@gnu.org>.
53247
53248 2008-11-20  Bruno Haible  <bruno@clisp.org>
53249
53250         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
53251         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
53252         INCLUDE_NEXT.
53253         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
53254         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
53255         * modules/math (Makefile.am): Substitute
53256         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
53257         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
53258
53259 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
53260             Bruno Haible  <bruno@clisp.org>
53261
53262         * lib/stdint.in.h: Define all type macros so that their expansion is
53263         a single typedef'ed token. Fixes a compilation failure in Boost which
53264         does "using ::int8_t;".
53265
53266 2008-11-18  Simon Josefsson  <simon@josefsson.org>
53267
53268         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
53269         gl_MANYWARN_ALL_GCC.
53270         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
53271         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
53272         * modules/manywarnings: New file.
53273         * MODULES.html.sh: Mention manywarnings module.
53274
53275 2008-11-18  Bruno Haible  <bruno@clisp.org>
53276
53277         * doc/gnulib-tool.texi (Unit tests): New section.
53278
53279 2008-11-18  Simon Josefsson  <simon@josefsson.org>
53280
53281         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
53282         paths like 'lib/po/foo.po'.
53283
53284 2008-11-17  Simon Josefsson  <simon@josefsson.org>
53285
53286         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
53287         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
53288
53289 2008-11-17  Simon Josefsson  <simon@josefsson.org>
53290
53291         * m4/warnings.m4: Use CPPFLAGS to really check whether the
53292         parameter works.
53293
53294 2008-11-17  Simon Josefsson  <simon@josefsson.org>
53295
53296         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
53297
53298 2008-11-17  Bruce Korb  <bkorb@gnu.org>
53299
53300         * modules/parse-duration-tests: New file.
53301         * tests/test-parse-duration.sh: New file.
53302         * tests/test-parse-duration.c: New file.
53303
53304         New module 'parse-duration'.
53305         * lib/parse-duration.h: New file.
53306         * lib/parse-duration.c: New file.
53307         * modules/parse-duration: New file.
53308
53309 2008-11-17  Bruno Haible  <bruno@clisp.org>
53310
53311         * tests/test-select-out.sh: Comment out the first pipe test.
53312         Reported by Simon Josefsson.
53313
53314 2008-11-17  Bruno Haible  <bruno@clisp.org>
53315
53316         * modules/getaddrinfo (Depends-on): Add servent, hostent.
53317         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
53318         gl_HOSTENT.
53319
53320 2008-11-17  Bruno Haible  <bruno@clisp.org>
53321
53322         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
53323         -lnetwork and -lnet. Needed for Haiku and BeOS.
53324
53325 2008-11-16  Bruno Haible  <bruno@clisp.org>
53326
53327         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
53328
53329 2008-11-16  Bruno Haible  <bruno@clisp.org>
53330
53331         Avoid test failure on Haiku.
53332         * tests/test-fsync.c: Include <errno.h>.
53333         (main): Don't require that fsync (0) fails.
53334
53335 2008-11-15  Bruno Haible  <bruno@clisp.org>
53336
53337         New module 'hostent'.
53338         * modules/hostent: New file.
53339         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
53340
53341 2008-11-15  Bruno Haible  <bruno@clisp.org>
53342
53343         New module 'servent'.
53344         * modules/servent: New file.
53345         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
53346
53347 2008-11-15  Bruno Haible  <bruno@clisp.org>
53348
53349         Avoid generating same test program with two different rules.
53350         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
53351         test-frexp to test-frexp-nolibm.
53352         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
53353         test-frexpl to test-frexpl-nolibm.
53354
53355 2008-11-15  Bruno Haible  <bruno@clisp.org>
53356
53357         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
53358         $(FREXPL_LIBM).
53359
53360 2008-11-15  Bruno Haible  <bruno@clisp.org>
53361
53362         * lib/netdb.in.h: Activate the definitions also when the system's
53363         <netdb.h> has 'struct addrinfo'.
53364         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
53365         EAI_OVERFLOW or AI_NUMERICSERV.
53366         * doc/posix-headers/netdb.texi: Document the problem.
53367
53368 2008-11-15  Bruno Haible  <bruno@clisp.org>
53369
53370         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
53371
53372         Make the 'sched' module work on platforms where <sched.h> exists but
53373         is incomplete (such as Haiku).
53374         * lib/sched.in.h; Include the system's <sched.h> if it exists.
53375         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
53376         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
53377         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
53378         HAVE_STRUCT_SCHED_PARAM.
53379         * modules/sched (Depends-on): Add include_next.
53380         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
53381         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
53382         * doc/posix-headers/sched.texi: Document the issue.
53383
53384 2008-11-13  Jim Meyering  <meyering@redhat.com>
53385
53386         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
53387         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
53388         test would fail due to the difference in the Report bugs to ...
53389         line.  The expected address is empty, "<>", while the actual
53390         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
53391
53392 2008-11-12  Bruno Haible  <bruno@clisp.org>
53393
53394         lstat: don't compile lstat.c on systems lacking lstat
53395         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
53396         which don't have lstat; this is handled by lib/sys_stat.in.h already.
53397         Reported by Daniel P. Berrange via Jim Meyering.
53398
53399 2008-11-12  Jim Meyering  <meyering@redhat.com>
53400
53401         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
53402
53403 2008-11-12  Simon Josefsson  <simon@josefsson.org>
53404
53405         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
53406         instead.
53407
53408 2008-11-12  Bruno Haible  <bruno@clisp.org>
53409
53410         * lib/unicodeio.c: Include unistr.h.
53411         (utf8_wctomb): Remove function.
53412         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
53413
53414 2008-11-12  Simon Josefsson  <simon@josefsson.org>
53415
53416         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
53417         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
53418         <bruno@clisp.org>.
53419         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
53420
53421 2008-11-12  Simon Josefsson  <simon@josefsson.org>
53422
53423         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
53424         * doc/gnulib.texi: Add section for warnings.
53425
53426 2008-11-11  Bruno Haible  <bruno@clisp.org>
53427
53428         * lib/sockets.h: Add a comment.
53429
53430 2008-11-11  Karl Berry  <karl@gnu.org>
53431
53432         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
53433
53434 2008-11-11  Eric Blake  <ebb9@byu.net>
53435
53436         fdl.texi: avoid git symlinks
53437         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
53438
53439 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
53440
53441         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
53442
53443 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
53444
53445         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
53446         (gl_WARN_ADD): Substitute $2 if literal.
53447
53448 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
53449
53450         * m4/warning.m4: Remove.
53451
53452 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
53453
53454         * m4/warnings.m4: Almost complete rewrite. :-)
53455
53456 2008-11-10  Simon Josefsson  <simon@josefsson.org>
53457
53458         * modules/warnings: New module.
53459         * m4/warnings.m4: New file.
53460         * MODULES.html.sh: Mention warnings module.
53461         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
53462         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
53463
53464 2008-11-10  Eric Blake  <ebb9@byu.net>
53465
53466         fdl.texi: make a symlink to the latest version
53467         * doc/standards.texi: Revert today's earlier change.
53468         * doc/fdl-1.2.texi: Rename from old fdl.texi...
53469         * doc/fdl.texi: ...and replace this with a symlink to the newer
53470         fdl-1.3.texi.
53471
53472 2008-11-10  Bruno Haible  <bruno@clisp.org>
53473
53474         * tests/test-select-fd.c (main): Accept the result file name as fourth
53475         argument.
53476         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
53477         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
53478
53479 2008-11-10  Bruno Haible  <bruno@clisp.org>
53480
53481         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
53482         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
53483         as autoconf-substituted macros.
53484         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
53485         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
53486         gl_NETDB_H_DEFAULTS. Set these variables.
53487         * modules/netdb (Makefile.am): Substitute these variables.
53488
53489 2008-11-10  Eric Blake  <ebb9@byu.net>
53490
53491         standards.texi: include correct file for FDL 1.3
53492         * doc/standards.texi (GNU Free Documentation License): Change
53493         include file to pull in FDL 1.3, not 1.2.
53494
53495         fdl.texi: revert accidental change to license
53496         * doc/fdl.texi: This is FDL 1.2, not 1.3.
53497
53498 2008-11-10  Bruno Haible  <bruno@clisp.org>
53499
53500         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
53501         cross-compiling guesses also when the native compile gives no result.
53502
53503 2008-11-10  Bruno Haible  <bruno@clisp.org>
53504
53505         * lib/spawni.c (__spawni): Force variable into the stack.
53506
53507 2008-11-10  Bruno Haible  <bruno@clisp.org>
53508
53509         Add support for Haiku.
53510         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
53511         glibc and BeOS, but also on Haiku.
53512         * lib/fpurge.c (fpurge): Likewise.
53513         * lib/freadable.c (freadable): Likewise.
53514         * lib/freadahead.c (freadahead): Likewise.
53515         * lib/freading.c (freading): Likewise.
53516         * lib/freadptr.c (freadptr): Likewise.
53517         * lib/freadseek.c (freadptrinc): Likewise.
53518         * lib/fseeko.c (rpl_fseeko): Likewise.
53519         * lib/fseterr.c (fseterr): Likewise.
53520         * lib/fwritable.c (fwritable): Likewise.
53521         * lib/fwriting.c (fwriting): Likewise.
53522         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
53523
53524 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
53525
53526         * lib/config.charset: Treat Haiku like BeOS.
53527
53528 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
53529
53530         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
53531         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
53532
53533 2008-11-08  Bruno Haible  <bruno@clisp.org>
53534
53535         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
53536         AC_CACHE_CHECK.
53537
53538 2008-11-08  Bruno Haible  <bruno@clisp.org>
53539
53540         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
53541
53542 2008-11-08  Bruno Haible  <bruno@clisp.org>
53543
53544         * tests/test-select-fd.c: New file.
53545         * tests/test-select-in.sh: New file.
53546         * tests/test-select-out.sh: New file.
53547         * tests/test-select-stdin.c: New file.
53548         * modules/select-tests (Files): Add the new files.
53549         (Depends-on): Add gettimeofday.
53550         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
53551         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
53552         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
53553
53554 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
53555             Bruno Haible  <bruno@clisp.org>
53556
53557         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
53558
53559 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
53560
53561         * build-aux/pmccabe2html: Added support for C++ source files.
53562
53563 2008-11-05  Ben Pfaff  <blp@gnu.org>
53564
53565         Fix lib/close.c build on Windows.
53566         * modules/close (Files): Add lib/w32sock.h.
53567
53568 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
53569
53570         Accept Bison's NEWS format.
53571         * build-aux/announce-gen (print_news_deltas): Tweak
53572         $re_prefix.
53573
53574 2008-11-04  Bruno Haible  <bruno@clisp.org>
53575
53576         * modules/random_r (Maintainer): Add glibc.
53577
53578 2008-11-04  Simon Josefsson  <simon@josefsson.org>
53579
53580         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
53581         by karl@freefriends.org (Karl Berry).
53582         * doc/alloca.texi: Likewise.
53583         * doc/c-ctype.texi: Likewise.
53584         * doc/c-strcase.texi: Likewise.
53585         * doc/c-strcaseeq.texi: Likewise.
53586         * doc/c-strcasestr.texi: Likewise.
53587         * doc/c-strstr.texi: Likewise.
53588         * doc/c-strtod.texi: Likewise.
53589         * doc/c-strtold.texi: Likewise.
53590         * doc/ctime.texi: Likewise.
53591         * doc/error.texi: Likewise.
53592         * doc/fdl.texi: Likewise.
53593         * doc/gcd.texi: Likewise.
53594         * doc/getdate.texi: Likewise.
53595         * doc/gnulib-intro.texi: Likewise.
53596         * doc/gnulib-tool.texi: Likewise.
53597         * doc/gnulib.texi: Likewise.
53598         * doc/inet_ntoa.texi: Likewise.
53599         * doc/maintain.texi: Likewise.
53600         * doc/make-stds.texi: Likewise.
53601         * doc/quote.texi: Likewise.
53602         * doc/regexprops-generic.texi: Likewise.
53603         * doc/standards.texi: Likewise.
53604         * doc/verify.texi: Likewise.
53605         * doc/visibility.texi: Likewise.
53606         * doc/gnulib.texi (GNU Free Documentation License): Include
53607         fdl-1.3.texi instead of fdl.texi.
53608
53609 2008-11-04  Simon Josefsson  <simon@josefsson.org>
53610
53611         * doc/fdl-1.3.texi: New file, from
53612         <http://www.gnu.org/licenses/fdl-1.3.texi>.
53613         * modules/fdl-1.3: Add.
53614         * MODULES.html.sh: Add fdl-1.3.
53615
53616 2008-11-03  Bruno Haible  <bruno@clisp.org>
53617
53618         Make determination of absolute name of header file work with AIX xlc.
53619         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
53620         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
53621         preprocessing.
53622         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
53623         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
53624
53625 2008-11-03  Simon Josefsson  <simon@josefsson.org>
53626
53627         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
53628         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
53629         <ludo@gnu.org>.
53630
53631 2008-11-02  Bruno Haible  <bruno@clisp.org>
53632
53633         Mark 'strpbrk' obsolete.
53634         * modules/strpbrk (Status, Notice): New sections.
53635         * modules/strtok_r (Depends-on): Add strpbrk.
53636
53637 2008-11-02  Bruno Haible  <bruno@clisp.org>
53638
53639         Mark 'strdup' obsolete.
53640         * modules/strdup (Status, Notice): New sections.
53641         * modules/findprog (Depends-on): Add strdup.
53642         * modules/getaddrinfo (Depends-on): Likewise.
53643         * modules/localename (Depends-on): Likewise.
53644         * modules/relocatable-lib (Depends-on): Likewise.
53645         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
53646         * modules/relocatable-prog (Depends-on): Likewise.
53647         * modules/trim (Depends-on): Likewise.
53648         * modules/unictype/gen-ctype (Depends-on): Likewise.
53649         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
53650
53651 2008-11-02  Bruno Haible  <bruno@clisp.org>
53652
53653         Mark 'strcspn' obsolete.
53654         * modules/strcspn (Status, Notice): New sections.
53655
53656 2008-11-02  Bruno Haible  <bruno@clisp.org>
53657
53658         Mark 'rmdir' obsolete.
53659         * modules/rmdir (Status, Notice): New sections.
53660         * modules/clean-temp (Depends-on): Add rmdir.
53661         * modules/openat (Depends-on): Likewise.
53662
53663 2008-11-02  Bruno Haible  <bruno@clisp.org>
53664
53665         Mark 'raise' obsolete.
53666         * modules/raise (Status, Notice): New sections.
53667         (Include): Specify <signal.h>.
53668         * modules/stdio (Depends-on): Add raise.
53669         * modules/write (Depends-on): Likewise.
53670
53671 2008-11-02  Bruno Haible  <bruno@clisp.org>
53672
53673         Mark 'memset' obsolete.
53674         * modules/memset (Status, Notice): New sections.
53675
53676 2008-11-02  Bruno Haible  <bruno@clisp.org>
53677
53678         Mark 'memmove' obsolete.
53679         * modules/memmove (Status, Notice): New sections.
53680         * modules/argp (Depends-on): Add memmove.
53681         * modules/argz (Depends-on): Likewise.
53682         * modules/canonicalize (Depends-on): Likewise.
53683         * modules/canonicalize-lgpl (Depends-on): Likewise.
53684         * modules/fts (Depends-on): Likewise.
53685         * modules/getcwd (Depends-on): Likewise.
53686         * modules/human (Depends-on): Likewise.
53687         * modules/regex (Depends-on): Likewise.
53688         * modules/striconveh (Depends-on): Likewise.
53689         * modules/trim (Depends-on): Likewise.
53690         * modules/unistr/u8-move (Depends-on): Likewise.
53691         * modules/unistr/u16-move (Depends-on): Likewise.
53692         * modules/unistr/u32-move (Depends-on): Likewise.
53693
53694 2008-11-02  Bruno Haible  <bruno@clisp.org>
53695
53696         Mark 'memcpy' obsolete.
53697         * modules/memcpy (Status, Notice): New sections.
53698
53699 2008-11-02  Bruno Haible  <bruno@clisp.org>
53700
53701         Mark 'memcmp' obsolete.
53702         * modules/memcmp (Status, Notice): New sections.
53703         * modules/argmatch (Depends-on): Add memchr.
53704         * modules/backupfile (Depends-on): Likewise.
53705         * modules/c-strcasestr (Depends-on): Likewise.
53706         * modules/crypto/des (Depends-on): Likewise.
53707         * modules/csharpcomp (Depends-on): Likewise.
53708         * modules/fnmatch (Depends-on): Likewise.
53709         * modules/git-merge-changelog (Depends-on): Likewise.
53710         * modules/isnand (Depends-on): Likewise.
53711         * modules/isnand-nolibm (Depends-on): Likewise.
53712         * modules/isnanf (Depends-on): Likewise.
53713         * modules/isnanf-nolibm (Depends-on): Likewise.
53714         * modules/isnanl (Depends-on): Likewise.
53715         * modules/isnanl-nolibm (Depends-on): Likewise.
53716         * modules/mbchar (Depends-on): Likewise.
53717         * modules/memcoll (Depends-on): Likewise.
53718         * modules/quotearg (Depends-on): Likewise.
53719         * modules/regex (Depends-on): Likewise.
53720         * modules/relocatable-prog (Depends-on): Likewise.
53721         * modules/same (Depends-on): Likewise.
53722         * modules/signbit (Depends-on): Likewise.
53723         * modules/strcasestr-simple (Depends-on): Likewise.
53724         * modules/unictype/gen-ctype (Depends-on): Likewise.
53725         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
53726         * modules/uniname/uniname (Depends-on): Likewise.
53727         * modules/unistr/u8-cmp (Depends-on): Likewise.
53728
53729 2008-11-02  Bruno Haible  <bruno@clisp.org>
53730
53731         Mark 'memchr' obsolete.
53732         * modules/memchr (Status, Notice): New sections.
53733         * modules/argp (Depends-on): Add memchr.
53734         * modules/base64 (Depends-on): Likewise.
53735         * modules/c-strcasestr (Depends-on): Likewise.
53736         * modules/chdir-long (Depends-on): Likewise.
53737         * modules/fnmatch (Depends-on): Likewise.
53738         * modules/getsubopt (Depends-on): Likewise.
53739         * modules/git-merge-changelog (Depends-on): Likewise.
53740         * modules/glob (Depends-on): Likewise.
53741         * modules/strcasestr-simple (Depends-on): Likewise.
53742         * modules/strnlen (Depends-on): Likewise.
53743
53744 2008-11-02  Bruno Haible  <bruno@clisp.org>
53745
53746         Mark 'atexit' obsolete.
53747         * modules/atexit (Status, Notice): New sections.
53748         * modules/chdir-long (Depends-on): Add atexit.
53749         * modules/wait-process (Depends-on): Likewise.
53750
53751 2008-11-02  Bruno Haible  <bruno@clisp.org>
53752
53753         * gnulib-tool: New option --with-obsolete.
53754         (func_usage): Document it.
53755         (func_modules_transitive_closure): Drop obsolete dependencies if
53756         incobsolete is not true.
53757         (func_import): Read and save the incobsolete variable to the cache.
53758
53759 2008-11-02  Bruno Haible  <bruno@clisp.org>
53760
53761         * modules/TEMPLATE-EXTENDED: New field 'Status'.
53762         * gnulib-tool: New option --extract-status.
53763         (func_usage): Document it.
53764         (sed_extract_prog): Recognize it.
53765         (func_get_status): New function.
53766
53767 2008-10-30  Simon Josefsson  <simon@josefsson.org>
53768
53769         * modules/sockets (License): Change from LGPL to LGPLv2+.
53770
53771 2008-10-28  Simon Josefsson  <simon@josefsson.org>
53772
53773         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
53774
53775 2008-10-28  Simon Josefsson  <simon@josefsson.org>
53776
53777         * MODULES.html.sh (Support for systems lacking POSIX:2001):
53778         Mention times and sys_times.
53779         * modules/sys_times, modules/sys_times-tests: New modules.
53780         * modules/times, modules/times-tests: Likewise
53781         * m4/sys_times_h.m4: New file.
53782         * lib/sys_times.in.h: Likewise
53783         * lib/times.c: Likewise.
53784         * tests/test-sys_times.c: Likewise.
53785         * tests/test-times.c: Likewise.
53786         * doc/posix-headers/sys_times.texi: Update.
53787         * doc/posix-functions/times.texi: Update.
53788
53789 2008-10-28  Jim Meyering  <meyering@redhat.com>
53790
53791         * modules/tempname (Depends-on): Add lstat.
53792
53793         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
53794
53795 2008-10-28  Simon Josefsson  <simon@josefsson.org>
53796
53797         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
53798         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
53799         using idiom used elsewhere in gnulib.
53800
53801 2008-10-27  Jim Meyering  <meyering@redhat.com>
53802
53803         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
53804
53805 2008-10-27  Simon Josefsson  <simon@josefsson.org>
53806
53807         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
53808         TESTS_ENVIRONMENT, for shell scripts that needs to call built
53809         programs.
53810         * tests/test-argp-2.sh: Use $EXEEXT when needed.
53811
53812 2008-10-27  Simon Josefsson  <simon@josefsson.org>
53813
53814         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
53815
53816 2008-10-27  Bruno Haible  <bruno@clisp.org>
53817
53818         * tests/test-lstat.c: Include <stdio.h>.
53819
53820 2008-10-27  Simon Josefsson  <simon@josefsson.org>
53821
53822         * modules/lstat-tests: New module.
53823         * tests/test-lstat.c: New file.
53824
53825 2008-10-26  Jim Meyering  <meyering@redhat.com>
53826
53827         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
53828
53829 2008-10-26  Simon Josefsson  <simon@josefsson.org>
53830             Bruno Haible  <bruno@clisp.org>
53831
53832         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
53833         * modules/configmake (Include): Add a note that the include must come
53834         after all system headers.
53835         * lib/javaversion.c: Include configmake.h after all other includes.
53836
53837 2008-10-26  Bruno Haible  <bruno@clisp.org>
53838
53839         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
53840         HAVE_STRUCT_RANDOM_DATA to 1.
53841         (gl_STDLIB_H): Simplify.
53842
53843 2008-10-26  Simon Josefsson  <simon@josefsson.org>
53844
53845         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
53846         substitute HAVE_STRUCT_RANDOM_DATA.
53847         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
53848         random_data.
53849         * modules/stdlib (Makefile.am): Substitute
53850         HAVE_STRUCT_RANDOM_DATA.
53851
53852 2008-10-26  Simon Josefsson  <simon@josefsson.org>
53853
53854         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
53855         * doc/gnulib-intro.texi (Copyright): Likewise.
53856
53857 2008-10-26  Simon Josefsson  <simon@josefsson.org>
53858
53859         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
53860         findings.
53861
53862 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
53863             Bruno Haible  <bruno@clisp.org>
53864
53865         * lib/unistd.in.h: Include <winsock2.h>.
53866         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
53867         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
53868         Provide dummy declarations.
53869         (gethostname): Override.
53870         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
53871         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
53872         gl_PREREQ_SYS_H_WINSOCK2.
53873         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
53874         * doc/posix-functions/gethostname.texi: More details.
53875
53876 2008-10-25  Bruno Haible  <bruno@clisp.org>
53877
53878         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
53879         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
53880         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
53881
53882         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
53883         here ...
53884         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
53885         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
53886         gl_UNISTD_H_DEFAULTS.
53887
53888 2008-10-25  Eric Blake  <ebb9@byu.net>
53889
53890         signbit: avoid spurious compiler failure
53891         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
53892         declarations inside function.
53893
53894 2008-10-24  Simon Josefsson  <simon@josefsson.org>
53895             Bruno Haible  <bruno@clisp.org>
53896
53897         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
53898         * modules/random_r (Depends-on): Add stdint.
53899
53900 2008-10-24  Bruno Haible  <bruno@clisp.org>
53901
53902         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
53903         Eggert.
53904         * modules/strerror (License): Likewise.
53905
53906 2008-10-24  Jim Meyering  <meyering@redhat.com>
53907
53908         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
53909         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
53910
53911 2008-10-24  Eric Blake  <ebb9@byu.net>
53912
53913         getgroups: fix compilation when getgroups is available
53914         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
53915         but with <config.h> override of getgroups disabled.
53916
53917 2008-10-24  Simon Josefsson  <simon@josefsson.org>
53918
53919         * doc/gnulib.texi (Header files): Add note about C++ problems.
53920         Explained by Bruno Haible <bruno@clisp.org>.
53921
53922 2008-10-23  Bruno Haible  <bruno@clisp.org>
53923
53924         Define a dummy SA_NODEFER macro on Interix.
53925         * lib/signal.in.h (SA_NODEFER): Define fallback.
53926         Reported by Aleksey Cheusov <cheusov@tut.by> via
53927         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
53928
53929 2008-10-23  Bruno Haible  <bruno@clisp.org>
53930
53931         * modules/freadahead (License): Change to LGPLv2+.
53932         Suggested by Simon Josefsson.
53933
53934 2008-10-23  Jim Meyering  <meyering@redhat.com>
53935
53936         random_r: new module
53937         * modules/random_r: New file.
53938         * m4/random_r.m4: New file.
53939         * lib/random_r.c: New file, from glibc.
53940         * modules/random_r-tests: New file.
53941         * tests/test-random_r.c: New file.
53942         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
53943          Declare.
53944         (RAND_MAX): Define.
53945         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
53946         * modules/stdlib: Substitute them, too.
53947         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
53948         * doc/glibc-functions/initstate_r.texi: Mention the new module.
53949         * doc/glibc-functions/random_r.texi: Likewise.
53950         * doc/glibc-functions/setstate_r.texi: Likewise.
53951         * doc/glibc-functions/srandom_r.texi: Likewise.
53952         * config/srclist.txt: Mention it.
53953
53954 2008-10-23  David Lutterkort  <lutter@redhat.com>
53955
53956         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
53957         link requirement
53958
53959 2008-10-23  Jim Meyering  <meyering@redhat.com>
53960
53961         selinux-h: mark parameters of stub functions as intentionally unused
53962         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
53963         * lib/se-context.in.h: Likewise.
53964
53965 2008-10-22  Simon Josefsson  <simon@josefsson.org>
53966
53967         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
53968
53969 2008-10-22  Simon Josefsson  <simon@josefsson.org>
53970
53971         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
53972
53973 2008-10-22  Eric Blake  <ebb9@byu.net>
53974
53975         glthread/thread: avoid compiler warning
53976         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
53977         Add unreachable abort to silence compiler.
53978
53979 2008-10-22  Eric Blake  <ebb9@byu.net>
53980
53981         netdb: also supply struct addrinfo for cygwin 1.5.x
53982         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
53983         older cygwin.
53984         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
53985         cygwin.
53986         * doc/posix-headers/netdb.texi (netdb.h): Document this.
53987
53988 2008-10-22  Bruno Haible  <bruno@clisp.org>
53989
53990         * users.txt: Update entry about pspp.
53991
53992 2008-10-21  Bruno Haible  <bruno@clisp.org>
53993
53994         Simplification.
53995         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
53996         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
53997
53998         Simplification.
53999         * lib/ioctl.c (ioctl): Don't undefine.
54000         * lib/socket.c (socket): Don't undefine.
54001
54002         Remove unused module indicator macros.
54003         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
54004         GNULIB_$1 as a C macro.
54005
54006         * doc/posix-functions/close.texi: Undo last change.
54007         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
54008         Windows platforms.
54009
54010 2008-10-21  Bruno Haible  <bruno@clisp.org>
54011
54012         Add gethostname() declaration to <unistd.h>.
54013         * lib/unistd.in.h (gethostname): New declaration.
54014         * lib/gethostname.c: Include <unistd.h>.
54015         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
54016         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
54017         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
54018         and HAVE_GETHOSTNAME.
54019         * modules/gethostname (Depends-on): Add unistd.
54020         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
54021         (Include): Specify <unistd.h>.
54022         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
54023         HAVE_GETHOSTNAME.
54024         * tests/test-gethostname.c: Include <unistd.h> first.
54025
54026 2008-10-21  Bruno Haible  <bruno@clisp.org>
54027
54028         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
54029         * modules/select-tests (Depends-on): Likewise.
54030         Reported by Simon Josefsson.
54031
54032 2008-10-21  Simon Josefsson  <simon@josefsson.org>
54033
54034         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
54035         * lib/accept.c: New file, based on winsock.c.
54036         * lib/bind.c: New file, based on winsock.c.
54037         * lib/connect.c: New file, based on winsock.c.
54038         * lib/getpeername.c: New file, based on winsock.c.
54039         * lib/getsockname.c: New file, based on winsock.c.
54040         * lib/getsockopt.c: New file, based on winsock.c.
54041         * lib/ioctl.c: New file, based on winsock.c.
54042         * lib/listen.c: New file, based on winsock.c.
54043         * lib/recv.c: New file, based on winsock.c.
54044         * lib/recvfrom.c: New file, based on winsock.c.
54045         * lib/send.c: New file, based on winsock.c.
54046         * lib/sendto.c: New file, based on winsock.c.
54047         * lib/setsockopt.c: New file, based on winsock.c.
54048         * lib/shutdown.c: New file, based on winsock.c.
54049         * lib/socket.c: New file, based on winsock.c.
54050         * lib/w32sock.h: New file, based on winsock.c.
54051         * lib/winsock.c: Remove file.
54052         * modules/accept: Likewise.
54053         * modules/bind: Likewise.
54054         * modules/connect: Likewise.
54055         * modules/getpeername: Likewise.
54056         * modules/getsockname: Likewise.
54057         * modules/getsockopt: Likewise.
54058         * modules/ioctl: Likewise.
54059         * modules/listen: Likewise.
54060         * modules/recv: Likewise.
54061         * modules/recvfrom: Likewise.
54062         * modules/send: Likewise.
54063         * modules/sendto: Likewise.
54064         * modules/setsockopt: Likewise.
54065         * modules/shutdown: Likewise.
54066         * modules/socket: Use socket.c instead of winsock.c.
54067         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
54068         * doc/posix-functions/accept.texi: Doc fix.
54069         * doc/posix-functions/bind.texi: Doc fix.
54070         * doc/posix-functions/close.texi: Doc fix.
54071         * doc/posix-functions/connect.texi: Doc fix.
54072         * doc/posix-functions/getpeername.texi: Doc fix.
54073         * doc/posix-functions/getsockname.texi: Doc fix.
54074         * doc/posix-functions/getsockopt.texi: Doc fix.
54075         * doc/posix-functions/ioctl.texi: Doc fix.
54076         * doc/posix-functions/listen.texi: Doc fix.
54077         * doc/posix-functions/recv.texi: Doc fix.
54078         * doc/posix-functions/recvfrom.texi: Doc fix.
54079         * doc/posix-functions/send.texi: Doc fix.
54080         * doc/posix-functions/sendto.texi: Doc fix.
54081         * doc/posix-functions/setsockopt.texi: Doc fix.
54082         * doc/posix-functions/shutdown.texi: Doc fix.
54083         * doc/posix-functions/socket.texi: Doc fix.
54084
54085 2008-10-20  Bruno Haible  <bruno@clisp.org>
54086
54087         Take into account the role of SIGABRT_COMPAT on Windows 2008.
54088         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
54089         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
54090         as an alias for SIGABRT.
54091         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
54092         (sigaction): Map it to SIGABRT.
54093         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
54094
54095 2008-10-20  Bruno Haible  <bruno@clisp.org>
54096
54097         * lib/fts.c: Don't include lstat.h.
54098         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
54099
54100         Move the lstat() declaration to <sys/stat.h>.
54101         * lib/lstat.h: Remove file.
54102         * lib/sys_stat.in.h: Add special invocation convention.
54103         (lstat): New declaration.
54104         * lib/lstat.c (orig_lstat): New function.
54105         (rpl_lstat): Use orig_lstat instead of lstat.
54106         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
54107         AC_C_INLINE. Set REPLACE_LSTAT.
54108         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
54109         and REPLACE_LSTAT.
54110         * modules/lstat (Files): Remove lib/lstat.h.
54111         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
54112         (Include): Specify <sys/stat.h> instead of lstat.h.
54113         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
54114         REPLACE_LSTAT.
54115         * NEWS: Mention the change.
54116
54117 2008-10-20  Bruno Haible  <bruno@clisp.org>
54118
54119         * modules/posix_spawn-tests: New file.
54120         * tests/test-posix_spawn3.c: New file.
54121
54122 2008-10-20  Bruno Haible  <bruno@clisp.org>
54123
54124         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
54125         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
54126         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
54127         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
54128         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
54129
54130 2008-10-20  Bruno Haible  <bruno@clisp.org>
54131
54132         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
54133         of posix_spawn on AIX 5.3.
54134
54135 2008-10-20  Bruno Haible  <bruno@clisp.org>
54136
54137         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
54138
54139 2008-10-20  Bruno Haible  <bruno@clisp.org>
54140
54141         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
54142         of AC_LANG_PROGRAM.
54143
54144 2008-10-20  Simon Josefsson  <simon@josefsson.org>
54145
54146         * lib/netdb.in.h: Don't define GNU specific constants until they
54147         are supported or needed.  Reported by Bruno Haible
54148         <bruno@clisp.org>.
54149
54150 2008-10-20  Simon Josefsson  <simon@josefsson.org>
54151
54152         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
54153
54154 2008-10-20  Simon Josefsson  <simon@josefsson.org>
54155
54156         * lib/getaddrinfo.h: Remove file.
54157         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
54158         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
54159         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
54160         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
54161         * modules/netdb: Substitute GNULIB_GETADDRINFO.
54162         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
54163         * tests/test-getaddrinfo.c: Likewise.
54164         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
54165         * NEWS: Mention change.
54166
54167 2008-10-19  Bruno Haible  <bruno@clisp.org>
54168
54169         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
54170
54171 2008-10-19  Bruno Haible  <bruno@clisp.org>
54172
54173         * lib/wait-process.c: Include simply <sys/wait.h>.
54174         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
54175         WIFSTOPPED): Remove fallback definitions.
54176         * modules/wait-process (Depends-on): Add sys_wait.
54177
54178         New module 'sys_wait'.
54179         * modules/sys_wait: New file.
54180         * lib/sys_wait.in.h: New file, partially copied from
54181         lib/wait-process.c.
54182         * m4/sys_wait_h.m4: New file.
54183         * doc/posix-headers/sys_wait.texi: Mention the new module.
54184
54185 2008-10-19  Bruno Haible  <bruno@clisp.org>
54186
54187         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
54188
54189 2008-10-19  Bruno Haible  <bruno@clisp.org>
54190
54191         Assume that waitpid() fills an 'int' status, not a 'union wait'.
54192         * lib/wait-process.c (WAIT_T): Remove type.
54193         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
54194         (wait_subprocess): Update.
54195
54196 2008-10-19  Bruno Haible  <bruno@clisp.org>
54197
54198         New module 'atoll'.
54199         * modules/atoll: New file.
54200         * lib/stdlib.in.h (atoll): New declaration.
54201         * lib/atoll.c: New file, from glibc with modifications.
54202         * m4/atoll.m4: New file.
54203         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
54204         HAVE_ATOLL.
54205         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
54206         * doc/posix-functions/atoll.texi: Mention the new module.
54207
54208 2008-10-19  Bruno Haible  <bruno@clisp.org>
54209
54210         Add strtoull() declaration to <stdlib.h>.
54211         * lib/stdlib.in.h (strtoull): New declaration.
54212         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
54213         Set HAVE_STRTOULL.
54214         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
54215         HAVE_STRTOULL.
54216         * modules/strtoull (Depends-on): Add stdlib.
54217         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
54218         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
54219         HAVE_STRTOULL.
54220
54221 2008-10-19  Bruno Haible  <bruno@clisp.org>
54222
54223         Add strtoll() declaration to <stdlib.h>.
54224         * lib/stdlib.in.h (strtoll): New declaration.
54225         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
54226         Set HAVE_STRTOLL.
54227         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
54228         HAVE_STRTOLL.
54229         * modules/strtoll (Depends-on): Add stdlib.
54230         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
54231         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
54232
54233 2008-10-19  Bruno Haible  <bruno@clisp.org>
54234
54235         * modules/bcopy (Depends-on): Add strings.
54236         (Include): Specify <strings.h>.
54237
54238 2008-10-19  Bruno Haible  <bruno@clisp.org>
54239
54240         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
54241
54242 2008-10-19  Bruno Haible  <bruno@clisp.org>
54243
54244         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
54245         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
54246         mingw.
54247
54248 2008-10-19  Bruno Haible  <bruno@clisp.org>
54249
54250         * lib/atanl.c: Don't include isnanl.h.
54251         * lib/cosl.c: Likewise.
54252         * lib/ldexpl.c: Likewise.
54253         * lib/logl.c: Likewise.
54254         * lib/sinl.c: Likewise.
54255         * lib/sqrtl.c: Likewise.
54256         * lib/tanl.c: Likewise.
54257
54258         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
54259         * lib/isnanf.h: Remove file.
54260         * lib/isnand.h: Remove file.
54261         * lib/isnanl.h: Remove file.
54262         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
54263         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
54264         macros.
54265         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
54266         HAVE_ISNANF, don't define it as a C macro.
54267         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
54268         HAVE_ISNAND, don't define it as a C macro.
54269         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
54270         HAVE_ISNANL, don't define it as a C macro.
54271         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
54272         HAVE_ISNAN[FDL].
54273         * modules/isnanf (Files): Remove lib/isnanf.h.
54274         (Depends-on): Add math.
54275         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
54276         (Include): Specify <math.h> instead of isnanf.h.
54277         * modules/isnand (Files): Remove lib/isnand.h.
54278         (Depends-on): Add math.
54279         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
54280         (Include): Specify <math.h> instead of isnand.h.
54281         * modules/isnanl (Files): Remove lib/isnanl.h.
54282         (Depends-on): Add math.
54283         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
54284         (Include): Specify <math.h> instead of isnanl.h.
54285         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
54286         HAVE_ISNAN[FDL].
54287         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
54288         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
54289         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
54290         * NEWS: Mention the change.
54291
54292 2008-10-18  Bruno Haible  <bruno@clisp.org>
54293
54294         Add getusershell(), setusershell(), endusershell() declarations to
54295         <unistd.h>.
54296         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
54297         declarations.
54298         * lib/getusershell.c: Include unistd.h.
54299         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
54300         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
54301         HAVE_GETUSERSHELL.
54302         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
54303         and HAVE_GETUSERSHELL.
54304         * modules/getusershell (Depends-on): Add unistd, extensions.
54305         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
54306         (Include): Specify <unistd.h>.
54307         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
54308         HAVE_GETUSERSHELL.
54309
54310 2008-10-18  Bruno Haible  <bruno@clisp.org>
54311
54312         Add a getloadavg() declaration to <stdlib.h>.
54313         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
54314         getloadavg declaration.
54315         (getloadavg): New declaration.
54316         * lib/getloadavg.c: Include <stdlib.h> first.
54317         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
54318         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
54319         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
54320         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
54321         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
54322         * modules/getloadavg (Depends-on): Add stdlib, extensions.
54323         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
54324         (Include): Specify <stdlib.h>.
54325         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
54326         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
54327
54328 2008-10-18  Bruno Haible  <bruno@clisp.org>
54329
54330         * lib/dirchownmod.c: Don't include lchmod.h.
54331
54332         Move the lchmod() declaration to <sys/stat.h>.
54333         * lib/lchmod.h: Remove file.
54334         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
54335         (lchmod): New declaration, moved here from lib/lchown.h.
54336         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
54337         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
54338         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
54339         and HAVE_LCHMOD.
54340         * modules/lchmod (Files): Remove lib/lchmod.h.
54341         (Depends-on): Add sys_stat, extensions.
54342         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
54343         (Include): Specify <sys/stat.h> instead of lchmod.h.
54344         * modules/sys_stat (Depends-on): Add link-warning.
54345         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
54346         definition of GL_LINK_WARNING.
54347         * NEWS: Mention the change.
54348
54349 2008-10-18  Bruno Haible  <bruno@clisp.org>
54350
54351         * lib/fchdir.c: Don't include dirfd.h.
54352         * lib/fts.c: Likewise.
54353         * lib/getcwd.c: Likewise.
54354         * lib/glob.c: Likewise.
54355
54356         Move the dirfd() declaration to <dirent.h>.
54357         * lib/dirfd.h: Remove file.
54358         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
54359         (dirfd): New declaration.
54360         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
54361         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
54362         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
54363         HAVE_DECL_DIRFD.
54364         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
54365         HAVE_DECL_DIRFD.
54366         * modules/dirfd (Files): Remove lib/dirfd.h.
54367         (Depends-on): Add dirent, extensions.
54368         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
54369         (Include): Specify <dirent.h> instead of dirfd.h.
54370         * modules/dirent (Depends-on): Add link-warning.
54371         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
54372         definition of GL_LINK_WARNING.
54373         * NEWS: Mention the change.
54374
54375 2008-10-18  Bruno Haible  <bruno@clisp.org>
54376
54377         Move the euidaccess() declaration to <unistd.h>.
54378         * lib/euidaccess.h: Remove file.
54379         * lib/unistd.in.h (euidaccess): New declaration.
54380         * lib/euidaccess.c: Don't include euidaccess.h.
54381         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
54382         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
54383         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
54384         and HAVE_EUIDACCESS.
54385         * modules/euidaccess (Files): Remove lib/euidaccess.h.
54386         (Depends-on): Add unistd.
54387         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
54388         (Include): Specify <unistd.h> instead of euidaccess.h.
54389         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
54390         HAVE_EUIDACCESS.
54391         * NEWS: Mention the change.
54392
54393 2008-10-18  Bruno Haible  <bruno@clisp.org>
54394
54395         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
54396
54397         Move the getdomainname() declaration to <unistd.h>.
54398         * lib/getdomainname.h: Remove file.
54399         * lib/unistd.in.h (getdomainname): New declaration.
54400         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
54401         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
54402         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
54403         HAVE_GETDOMAINNAME.
54404         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
54405         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
54406         * modules/getdomainname (Files): Remove lib/getdomainname.h.
54407         (Depends-on): Add unistd, extensions.
54408         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
54409         (Includes): Specify <unistd.h> instead of getdomainname.h.
54410         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
54411         HAVE_GETDOMAINNAME.
54412         * NEWS: Mention the change.
54413
54414 2008-10-18  Bruno Haible  <bruno@clisp.org>
54415
54416         * modules/dirent: New file.
54417         * m4/dirent_h.m4: New file.
54418         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
54419         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
54420         * modules/fchdir (Files): Remove lib/dirent.in.h.
54421         (Depends-on): Add dirent.
54422         (Makefile.am): Move rules to modules/dirent.
54423         * doc/posix-headers/dirent.texi: Mention the new module.
54424
54425 2008-10-18  Bruno Haible  <bruno@clisp.org>
54426
54427         Avoid -Wunused-parameter warnings in public gnulib header files.
54428         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
54429         macro.
54430         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
54431
54432 2008-10-18  Bruno Haible  <bruno@clisp.org>
54433
54434         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
54435         * doc/glibc-functions/error.texi: Mention the module 'error'.
54436         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
54437         * doc/glibc-functions/getdomainname.texi: Mention the module
54438         'getdomainname'.
54439         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
54440         * doc/glibc-functions/getpagesize.texi: Mention the module
54441         'getpagesize'.
54442         * doc/glibc-functions/getusershell.texi: Mention the module
54443         'getusershell'.
54444         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
54445         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
54446         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
54447         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
54448         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
54449         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
54450         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
54451         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
54452         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
54453         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
54454         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
54455         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
54456         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
54457         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
54458
54459 2008-10-17  Bruno Haible  <bruno@clisp.org>
54460
54461         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
54462         HP-UX and IRIX, use -0.0L.
54463         * tests/test-ceill.c (minus_zero): Likewise.
54464         * tests/test-floorl.c (minus_zero): Likewise.
54465         * tests/test-frexpl.c (minus_zero): Likewise.
54466         * tests/test-isnan.c (minus_zerol): Likewise.
54467         * tests/test-isnanl.h (minus_zero): Likewise.
54468         * tests/test-ldexpl.c (minus_zero): Likewise.
54469         * tests/test-roundl.c (minus_zero): Likewise.
54470         * tests/test-signbit.c (minus_zerol): Likewise.
54471         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
54472         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
54473         * tests/test-truncl.c (minus_zero): Likewise.
54474         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
54475         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
54476         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
54477         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
54478
54479 2008-10-17  Bruno Haible  <bruno@clisp.org>
54480
54481         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
54482         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
54483         that it gets activated only for gcc >= 3.0.
54484         * lib/dirent.in.h: Likewise.
54485         * lib/errno.in.h: Likewise.
54486         * lib/fcntl.in.h: Likewise.
54487         * lib/float.in.h: Likewise.
54488         * lib/iconv.in.h: Likewise.
54489         * lib/inttypes.in.h: Likewise.
54490         * lib/locale.in.h: Likewise.
54491         * lib/math.in.h: Likewise.
54492         * lib/netdb.in.h: Likewise.
54493         * lib/netinet_in.in.h: Likewise.
54494         * lib/search.in.h: Likewise.
54495         * lib/signal.in.h: Likewise.
54496         * lib/spawn.in.h: Likewise.
54497         * lib/stdarg.in.h: Likewise.
54498         * lib/stdint.in.h: Likewise.
54499         * lib/stdio.in.h: Likewise.
54500         * lib/stdlib.in.h: Likewise.
54501         * lib/string.in.h: Likewise.
54502         * lib/strings.in.h: Likewise.
54503         * lib/sys_file.in.h: Likewise.
54504         * lib/sys_ioctl.in.h: Likewise.
54505         * lib/sys_select.in.h: Likewise.
54506         * lib/sys_socket.in.h: Likewise.
54507         * lib/sys_stat.in.h: Likewise.
54508         * lib/sys_time.in.h: Likewise.
54509         * lib/sysexits.in.h: Likewise.
54510         * lib/time.in.h: Likewise.
54511         * lib/unistd.in.h: Likewise.
54512         * lib/wchar.in.h: Likewise.
54513         * lib/wctype.in.h: Likewise.
54514         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
54515
54516 2008-10-17  Jim Meyering  <meyering@redhat.com>
54517
54518         ignore-value: don't depend on inline module
54519         * modules/ignore-value (Depends-on): Remove 'inline'.
54520         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
54521         Suggestion from Bruno Haible.
54522
54523 2008-10-17  Bruno Haible  <bruno@clisp.org>
54524
54525         New implementation of condition variables for Win32.
54526         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
54527         (gl_linked_waitqueue_t): New type.
54528         (gl_cond_t): Use it.
54529         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
54530         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
54531         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
54532         (glthread_cond_init_func, glthread_cond_wait_func,
54533         glthread_cond_timedwait_func, glthread_cond_signal_func,
54534         glthread_cond_broadcast_func, glthread_cond_destroy_func):
54535         Reimplemented on the basis of gl_linked_waitqueue_t.
54536         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
54537         gl_waitqueue_t.
54538         (gl_rwlock_t): Update.
54539         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
54540
54541 2008-10-17  Simon Josefsson  <simon@josefsson.org>
54542
54543         * modules/recvfrom (Depends-on): Add dependency on getpeername.
54544         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
54545
54546 2008-10-17  Jim Meyering  <meyering@redhat.com>
54547
54548         ignore-value: new module
54549         * modules/ignore-value: New file.
54550         * lib/ignore-value.h: New file.
54551         * MODULES.html.sh (Compiler warning management): New section,
54552         just for this module.  More to come.
54553
54554 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
54555
54556         open-safer.c: avoid 'signed and unsigned in conditional...' warning
54557         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
54558         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
54559
54560 2008-10-16  Jim Meyering  <meyering@redhat.com>
54561
54562         openat-die.c: avoid 'no previous prototype' warning
54563         * lib/openat-die.c: Include "openat.h".
54564         Reported by Reuben Thomas <rrt@sc3d.org>.
54565
54566 2008-10-16  Simon Josefsson  <simon@josefsson.org>
54567
54568         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
54569         * lib/netdb.in.h: Fix typo.
54570         Reported by Bruno Haible  <bruno@clisp.org>
54571
54572         * lib/netdb.in.h: Include sys/socket.h for platforms without
54573         netdb.h, to get structures like hostent on MinGW.
54574         * modules/netdb (Depends-on): Add sys_socket.
54575
54576 2008-10-15  Simon Josefsson  <simon@josefsson.org>
54577
54578         * modules/netdb, modules/netdb-tests: New file.
54579         * m4/netdb_h.m4: New file.
54580         * lib/netdb.in.h: Add, currently just an empty file pending
54581         definitions.
54582         * tests/test-netdb.c: New file.
54583         * doc/posix-headers/netdb.texi: Mention that we replace it if
54584         needed.
54585         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
54586         netdb.
54587
54588 2008-10-15  Simon Josefsson  <simon@josefsson.org>
54589
54590         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
54591         with code.
54592
54593 2008-10-13  Bruno Haible  <bruno@clisp.org>
54594
54595         * lib/glthread/cond.c (glthread_cond_wait_func,
54596         glthread_cond_timedwait_func): Add a comment.
54597
54598 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
54599
54600         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
54601         * tests/test-select.c: Likewise,
54602
54603 2008-10-13  Bruno Haible  <bruno@clisp.org>
54604
54605         * lib/glthread/cond.c (glthread_cond_wait_func,
54606         glthread_cond_timedwait_func): Fix variable name.
54607         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
54608
54609 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
54610
54611         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
54612         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
54613         struct sockaddr.sa_len.
54614         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
54615
54616 2008-10-13  Simon Josefsson  <simon@josefsson.org>
54617
54618         * build-aux/pmccabe2html: Add css and css_url parameters.
54619
54620 2008-10-12  Bruno Haible  <bruno@clisp.org>
54621
54622         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
54623         calling aclx_get.
54624         Reported by Rainer Tammer <tammer@tammer.net>.
54625
54626 2008-10-12  Bruno Haible  <bruno@clisp.org>
54627
54628         Use msvcrt aware primitives for creation/termination of Win32 threads.
54629         * lib/glthread/thread.c: Include <process.h>.
54630         (glthread_create_func): Use _beginthreadex instead of CreateThread.
54631         (wrapper_func): Update signature.
54632         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
54633
54634 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
54635             Bruno Haible  <bruno@clisp.org>
54636
54637         Provide a Win32 implementation of the 'cond' module.
54638         * lib/glthread/cond.h [USE_WIN32]: New implementation.
54639         * lib/glthread/cond.c (glthread_cond_init_func,
54640         glthread_cond_wait_func, glthread_cond_timedwait_func,
54641         glthread_cond_signal_func, glthread_cond_broadcast_func,
54642         glthread_cond_destroy_func) [USE_WIN32]: New functions.
54643         * modules/cond (Dependencies): Add gettimeofday.
54644
54645 2008-10-11  Bruno Haible  <bruno@clisp.org>
54646
54647         Make sleep work on older versions of mingw.
54648         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
54649         only whether it exists.
54650         * doc/posix-functions/sleep.texi: Mention the problem with older
54651         versions of mingw.
54652
54653 2008-10-11  Bruno Haible  <bruno@clisp.org>
54654
54655         New module 'shutdown'.
54656         * modules/shutdown: New file.
54657         * lib/sys_socket.in.h (shutdown): New declaration.
54658         * lib/winsock.c (shutdown): New function.
54659         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
54660         GNULIB_SHUTDOWN.
54661         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
54662         * doc/posix-functions/shutdown.texi: Document the new module.
54663
54664 2008-10-11  Jim Meyering  <meyering@redhat.com>
54665
54666         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
54667
54668 2008-10-11  Bruno Haible  <bruno@clisp.org>
54669
54670         New module 'fclose'.
54671         * modules/fclose: New file.
54672         * lib/stdio.in.h (fclose): New declaration.
54673         * lib/fclose.c: New file.
54674         * m4/fclose.m4: New file.
54675         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
54676         REPLACE_FCLOSE.
54677         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
54678         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
54679         REPLACE_FCLOSE.
54680         * modules/close (Depends-on): fclose.
54681         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
54682
54683 2008-10-11  Bruno Haible  <bruno@clisp.org>
54684
54685         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
54686         set errno and don't call _close.
54687
54688 2008-10-10  Bruno Haible  <bruno@clisp.org>
54689
54690         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
54691         ACL, not afterwards. Fixes test failure on Cygwin.
54692
54693 2008-10-09  Ben Pfaff  <blp@gnu.org>
54694
54695         * build-aux/announce-gen: Fix gnulib version related part of usage
54696         message.  Die with a useful error message if no tarballs are
54697         found.
54698
54699 2008-10-10  Jim Meyering  <meyering@redhat.com>
54700
54701         bootstrap: use git's --depth=N option only if it's supported
54702         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
54703         recognize the --depth option.  Reported by Pádraig Brady.
54704
54705 2008-10-09  Bruno Haible  <bruno@clisp.org>
54706
54707         New module 'ioctl'.
54708         * modules/ioctl: New file.
54709         * lib/sys_socket.in.h (ioctl): Remove declaration.
54710         * lib/winsock.c: Include <sys/ioctl.h>.
54711         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
54712         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
54713         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
54714         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
54715         * doc/posix-functions/ioctl.texi: Mention the new module.
54716
54717 2008-10-09  Bruno Haible  <bruno@clisp.org>
54718
54719         New module 'sys_ioctl'.
54720         * lib/sys_ioctl.in.h: New file.
54721         * m4/sys_ioctl_h.m4: New file.
54722         * modules/sys_ioctl: New file.
54723         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
54724
54725 2008-10-09  Bruno Haible  <bruno@clisp.org>
54726
54727         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
54728         * lib/winsock.c: Include <stdarg.h>.
54729         (rpl_ioctl): Change to second argument 'int' and then varargs.
54730
54731 2008-10-09  Bruno Haible  <bruno@clisp.org>
54732
54733         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
54734         when the sys_socket module is present and the system has <winsock2.h>.
54735
54736 2008-10-09  Bruno Haible  <bruno@clisp.org>
54737
54738         * doc/posix-functions/close.texi: Mention module 'close' instead of
54739         module 'sys_socket'.
54740
54741 2008-10-09  Bruno Haible  <bruno@clisp.org>
54742
54743         * doc/glibc-headers/sys_ioctl.texi: New file.
54744         * doc/gnulib.texi: Include it.
54745
54746 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
54747             Bruno Haible  <bruno@clisp.org>
54748
54749         Combine the two replacements of 'close'.
54750         * lib/sys_socket.in.h (close): Define to a reminder to include
54751         <unistd.h>.
54752         (_gl_close_fd_maybe_socket): New declaration.
54753         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
54754         * lib/winsock.c (close): Remove undefinition.
54755         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
54756         needed for the gnulib module 'close'.
54757         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
54758         define to an error symbol or to a warning, if suitable.
54759         * lib/close.c: Include <sys/socket.h>.
54760         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
54761         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
54762         UNISTD_H_HAVE_WINSOCK2_H.
54763         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
54764         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
54765         UNISTD_H_HAVE_WINSOCK2_H.
54766         * modules/sys_socket (Files): Add m4/unistd_h.m4.
54767         (configure.ac): Set a module indicator.
54768         (Makefile.am): Substitute GNULIB_CLOSE.
54769         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
54770         * modules/poll-tests (Depends-on): Add close.
54771         * modules/select-tests (Depends-on): Likewise.
54772
54773 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
54774             Bruno Haible  <bruno@clisp.org>
54775
54776         New module 'close'.
54777         * modules/close: New file.
54778         * lib/unistd.in.h (close): Move declaration out of the
54779         FCHDIR_REPLACEMENT scope.
54780         (_gl_unregister_fd): New declaration.
54781         * lib/close.c: New file.
54782         * lib/fchdir.c (rpl_close): Remove function.
54783         * m4/close.m4: New file.
54784         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
54785         close.
54786         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
54787         REPLACE_CLOSE.
54788         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
54789         REPLACE_CLOSE.
54790         * modules/fchdir (Depends-on): Add close.
54791
54792 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
54793             Bruno Haible  <bruno@clisp.org>
54794
54795         * lib/fcntl.in.h (open): Simplify conditionals.
54796         (_gl_register_fd): New declaration.
54797         * lib/fchdir.c (rpl_open): Remove function.
54798         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
54799         also.
54800         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
54801         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
54802         open.
54803
54804 2008-10-09  Jim Meyering  <meyering@redhat.com>
54805
54806         GNUmakefile: use the more name-space-friendly "_version"
54807         * top/GNUmakefile (_dummy): Update.
54808         (_version): Rename from "version".
54809
54810 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
54811             Bruno Haible  <bruno@clisp.org>
54812
54813         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
54814         rpl_close.
54815         (_gl_register_fd): New function, extracted from rpl_open.
54816         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
54817         (rpl_open, rpl_opendir): Use _gl_register_fd.
54818
54819 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
54820
54821         Fix organization of 'open' replacement.
54822         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
54823         (gl_FUNC_OPEN): Use it.
54824         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
54825
54826 2008-10-08  Bruno Haible  <bruno@clisp.org>
54827
54828         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
54829
54830 2008-10-08  Simon Josefsson  <simon@josefsson.org>
54831
54832         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
54833         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
54834         listen).
54835
54836 2008-10-08  Eric Blake  <ebb9@byu.net>
54837
54838         GNUmakefile: add 'make version' target
54839         * top/GNUmakefile (_curr-ver): Split version update rules...
54840         (version): ...into a target.
54841
54842 2008-10-07  Bruno Haible  <bruno@clisp.org>
54843
54844         Use a more portable replacement expression for -0.0L.
54845         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
54846         instead of -0.0L. Fix m4 quotation.
54847
54848         * tests/test-signbit.c: Include <float.h>.
54849         (minus_zero): New variable.
54850         (test_signbitl): Use minus_zero instead of -zero.
54851         * modules/signbit-tests (Depends-on): Add float.
54852
54853         * tests/test-ceill.c: Include <float.h>.
54854         (zero): Remove variable.
54855         (minus_zero): New variable.
54856         (main): Use minus_zero instead of -zero.
54857         * modules/ceill-tests (Depends-on): Add float.
54858
54859         * tests/test-floorl.c: Include <float.h>.
54860         (zero): Remove variable.
54861         (minus_zero): New variable.
54862         (main): Use minus_zero instead of -zero.
54863         * modules/floorl-tests (Depends-on): Add float.
54864
54865         * tests/test-roundl.c: Include <float.h>.
54866         (zero): Remove variable.
54867         (minus_zero): New variable.
54868         (main): Use minus_zero instead of -zero.
54869         * modules/roundl-tests (Depends-on): Add float.
54870
54871         * tests/test-truncl.c: Include <float.h>.
54872         (zero): Remove variable.
54873         (minus_zero): New variable.
54874         (main): Use minus_zero instead of -zero.
54875         * modules/truncl-tests (Depends-on): Add float.
54876
54877         * tests/test-frexpl.c (zero): Remove variable.
54878         (minus_zero): New variable.
54879         (main): Use minus_zero instead of -zero.
54880         * modules/frexpl-tests (Depends-on): Add float.
54881
54882         * tests/test-isnan.c (zerol): Remove variable.
54883         (minus_zerol): New variable.
54884         (test_long_double): Use minus_zerol instead of -zerol.
54885         * modules/isnan-tests (Depends-on): Add float.
54886
54887         * tests/test-isnanl.h (zero): Remove variable.
54888         (minus_zero): New variable.
54889         (main): Use minus_zero instead of -zero.
54890         * modules/isnanl-nolibm-tests (Depends-on): Add float.
54891         * modules/isnanl-tests (Depends-on): Add float.
54892
54893         * tests/test-ldexpl.c (zero): Remove variable.
54894         (minus_zero): New variable.
54895         (main): Use minus_zero instead of -zero.
54896         * modules/ldexpl-tests (Depends-on): Add float.
54897
54898         * tests/test-snprintf-posix.h (zerol): Remove variable.
54899         (minus_zerol): New variable.
54900         (test_function): Use minus_zerol instead of -zerol.
54901         * modules/snprintf-posix-tests (Depends-on): Add float.
54902         * modules/vsnprintf-posix-tests (Depends-on): Add float.
54903
54904         * tests/test-sprintf-posix.h (zerol): Remove variable.
54905         (minus_zerol): New variable.
54906         (test_function): Use minus_zerol instead of -zerol.
54907         * modules/sprintf-posix-tests (Depends-on): Add float.
54908         * modules/vsprintf-posix-tests (Depends-on): Add float.
54909
54910         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
54911         (minus_zerol): New variable.
54912         (test_function): Use minus_zerol instead of -zerol.
54913         * modules/vasnprintf-posix-tests (Depends-on): Add float.
54914
54915         * tests/test-vasprintf-posix.c (zerol): Remove variable.
54916         (minus_zerol): New variable.
54917         (test_function): Use minus_zerol instead of -zerol.
54918         * modules/vasprintf-posix-tests (Depends-on): Add float.
54919
54920 2008-10-07  Simon Josefsson  <simon@josefsson.org>
54921
54922         * MODULES.html.sh (Support for building documentation): Mention
54923         pmccabe2html.  Sort entries.
54924
54925         Add pmccabe2html module, from gnupdf.
54926         * build-aux/pmccabe.css: New file.
54927         * build-aux/pmccabe2html: New file.
54928         * m4/pmccabe2html.m4: New file.
54929         * modules/pmccabe2html: New file.
54930
54931 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
54932
54933         flock: new module
54934         * MODULES.html.sh: Add to list of modules.
54935         * lib/flock.c: flock implementation for Windows and Unix systems
54936         which have fcntl.
54937         * doc/glibc-functions/flock.texi: Update documentation.
54938         * lib/sys_file.in.h: <sys/file.h> header file.
54939         * m4/flock.m4: M4 macros.
54940         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
54941         * modules/flock: flock module.
54942         * modules/flock-tests: flock tests module.
54943         * modules/sys_file: sys/file.h module.
54944         * tests/test-flock.c: test suite for flock.
54945
54946 2008-10-06  Jim Meyering  <meyering@redhat.com>
54947
54948         bootstrap: check for LT_INIT more portably still ;-)
54949         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
54950         Spotted by Bruno Haible.
54951
54952 2008-10-06  Eric Blake  <ebb9@byu.net>
54953
54954         test-signbit: avoid tripping Irix cc bug on -0.0L
54955         * tests/test-signbit.c (minus_zerol): Delete, and replace with
54956         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
54957         entire testsuite consistent and avoids an Irix 6.2 bug.
54958
54959 2008-10-05  Bruno Haible  <bruno@clisp.org>
54960             Jim Meyering  <jim@meyering.net>
54961
54962         Add an option for ignoring EPIPE during close_stdout.
54963         * lib/closeout.h: Include <stdbool.h>.
54964         (close_stdout_set_ignore_EPIPE): New declaration.
54965         * lib/closeout.c: Include <stdbool.h>.
54966         (ignore_EPIPE): New variable.
54967         (close_stdout_set_ignore_EPIPE): New function.
54968         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
54969         * lib/close-stream.c (close_stream): Mention the possible EPIPE
54970         failure.
54971         * modules/closeout (Depends-on): Add stdbool.
54972
54973 2008-10-05  Bruno Haible  <bruno@clisp.org>
54974
54975         * modules/accept: New file.
54976         * modules/bind: New file.
54977         * modules/connect: New file.
54978         * modules/getpeername: New file.
54979         * modules/getsockname: New file.
54980         * modules/getsockopt: New file.
54981         * modules/listen: New file.
54982         * modules/recv: New file.
54983         * modules/recvfrom: New file.
54984         * modules/send: New file.
54985         * modules/sendto: New file.
54986         * modules/setsockopt: New file.
54987         * modules/socket: New file.
54988         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
54989         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
54990         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
54991         the particular module is requested. Add a link warning when the
54992         particular module is not requested.
54993         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
54994         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
54995         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
54996         the particular module is requested.
54997         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
54998         gl_SYS_SOCKET_H_DEFAULTS): New macros.
54999         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
55000         * modules/sys_socket (Depends-on): Add link-warning.
55001         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
55002         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
55003         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
55004         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
55005         GL_LINK_WARNING.
55006         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
55007         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
55008         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
55009         * doc/posix-functions/getpeername.texi: Mention the new module
55010         'getpeername'.
55011         * doc/posix-functions/getsockname.texi: Mention the new module
55012         'getsockname'.
55013         * doc/posix-functions/getsockopt.texi: Mention the new module
55014         'getsockopt'.
55015         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
55016         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
55017         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
55018         * doc/posix-functions/send.texi: Mention the new module 'send'.
55019         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
55020         * doc/posix-functions/setsockopt.texi: Mention the new module
55021         'setsockopt'.
55022         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
55023         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
55024         listen, connect, accept.
55025         * modules/select-tests (Depends-on): Likewise.
55026
55027 2008-10-05  Bruno Haible  <bruno@clisp.org>
55028
55029         * lib/winsock.c (strerror): Remove unused #undef.
55030         (rpl_close): Remove unused local variable.
55031
55032         * modules/sys_socket (Depends-on); Add errno.
55033
55034 2008-10-05  Bruno Haible  <bruno@clisp.org>
55035
55036         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
55037         (select): Add a link warning when the 'select' module is not used.
55038         * modules/sys_select (Depends-on): Add link-warning.
55039         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
55040         Suggested by Paolo Bonzini.
55041
55042 2008-10-05  Jim Meyering  <meyering@redhat.com>
55043
55044         bootstrap: check for LT_INIT more portably
55045         * build-aux/bootstrap: Avoid using grep -E, since it's not
55046         portable enough.  Suggestion from Bruno Haible.
55047
55048 2008-10-05  Bruno Haible  <bruno@clisp.org>
55049
55050         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
55051         as being fixed by gnulib.
55052
55053 2008-10-05  Bruno Haible  <bruno@clisp.org>
55054
55055         * modules/select-tests: New file, mostly copied from
55056         modules/sys_select-tests.
55057         * tests/test-select.c: New file, mostly copied from
55058         tests/test-sys_select.c.
55059         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
55060         * modules/sys_select-tests (Depends-on): Remove all dependencies.
55061         (Makefile.am): Remove test_sys_select_LDADD.
55062
55063         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
55064         to an undefined symbol, for an error message.
55065         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
55066         (gl_SYS_SELECT_H_DEFAULTS): New macro.
55067         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
55068         winsock-select.c here.
55069         * modules/sys_select (Files): Remove lib/winsock-select.c.
55070         (Depends-on): Remove alloca.
55071         (Makefile.am): Substitute GNULIB_SELECT.
55072         * modules/select: New file.
55073         * doc/posix-functions/select.texi: Update.
55074
55075 2008-10-05  Bruno Haible  <bruno@clisp.org>
55076
55077         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
55078         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
55079         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
55080         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
55081         getdtablesize.
55082         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
55083         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
55084
55085 2008-10-05  Bruno Haible  <bruno@clisp.org>
55086
55087         * modules/getdtablesize-tests: New file.
55088         * tests/test-getdtablesize.c: New file.
55089
55090         New module 'getdtablesize'.
55091         * lib/unistd.in.h (getdtablesize): New declaration.
55092         * lib/getdtablesize.c: New file.
55093         * m4/getdtablesize.m4: New file.
55094         * modules/getdtablesize: New file.
55095         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
55096         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
55097         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
55098         HAVE_GETDTABLESIZE.
55099         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
55100
55101 2008-10-05  Bruno Haible  <bruno@clisp.org>
55102
55103         * modules/sched (Makefile.am): Fix typo.
55104         Reported by Simon Josefsson.
55105
55106 2008-10-05  Jim Meyering  <meyering@redhat.com>
55107
55108         bootstrap: check for LT_INIT, too
55109         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
55110         are deprecated.  Suggestion from Ralf Wildenhues.
55111
55112 2008-10-05  Bruno Haible  <bruno@clisp.org>
55113
55114         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
55115         overriding them by ours.
55116         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
55117
55118 2008-10-05  Jim Meyering  <meyering@redhat.com>
55119
55120         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
55121         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
55122         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
55123
55124 2008-10-04  Bruno Haible  <bruno@clisp.org>
55125
55126         * modules/dup2 (License): Change to LGPLv2+.
55127         * modules/sleep (License): Likewise.
55128         * modules/perror (License): Likewise.
55129         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
55130         Blake.
55131         * modules/signal (License): Likewise.
55132         * modules/sigprocmask (License): Likewise.
55133         * modules/raise (License): Change to LGPLv2+, with approval by Jim
55134         Meyering.
55135
55136 2008-10-04  Bruno Haible  <bruno@clisp.org>
55137
55138         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
55139         Reported by Rainer Tammer <tammer@tammer.net>.
55140
55141 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
55142             Bruno Haible  <bruno@clisp.org>
55143
55144         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
55145         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
55146         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
55147
55148 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
55149
55150         filevercmp: new module
55151         * lib/filevercmp.h: New function filevercmp comparing version strings.
55152         * lib/filevercmp.c: Implementation of filevercmp function.
55153         * modules/filevercmp: Module metadata.
55154         * tests/test-filevercmp.c: Unit test for new module.
55155         * modules/filevercmp-tests: Unit test metadata.
55156         * MODULES.html.sh: Add filevercmp module.
55157
55158 2008-10-03  Bruno Haible  <bruno@clisp.org>
55159
55160         * lib/c-ctype.h: Add comment.
55161         Reported by Jim Meyering.
55162
55163 2008-10-02  Bruno Haible  <bruno@clisp.org>
55164
55165         * modules/posix_spawn-internal (Depends-on): Add 'open'.
55166
55167 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
55168
55169         * build-aux/bootstrap: Allow renaming bootstrap, and change the
55170         name of bootstrap.conf accordingly.
55171
55172 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
55173
55174         * build-aux/bootstrap: Install git-merge-changelog configuration
55175         items into .gitconfig if needed.
55176
55177 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
55178
55179         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
55180         git repository, and initialize/update it accordingly.
55181
55182 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
55183
55184         * modules/fsync-tests: New file.
55185         * tests/test-fsync.c: New file.
55186
55187         New module 'fsync'.
55188         * lib/fsync.c: New file.
55189         * m4/fsync.m4: New file.
55190         * modules/fsync: New file.
55191         * lib/unistd.in.h (fsync): New declaration.
55192         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
55193         GNULIB_FSYNC and HAVE_FSYNC.
55194         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
55195         * MODULES.html.sh (posix_functions): Add fsync.
55196         * doc/posix-functions/fsync.texi: Mention the new module.
55197
55198 2008-10-02  Jim Meyering  <meyering@redhat.com>
55199
55200         fts.c: sync with similar code from coreutils' remove.c
55201         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
55202         Guard also with "#if defined __linux__", since for now at least,
55203         this code is Linux-kernel-specific.
55204
55205 2008-10-02  Jim Meyering  <meyering@redhat.com>
55206
55207         fts: bug fixes
55208         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
55209         Include <sys/vfs.h>, not <sys/statfs.h>.
55210
55211         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
55212         Include <sys/vfs.h>, not <sys/statfs.h>.
55213
55214 2008-10-01  Bruno Haible  <bruno@clisp.org>
55215
55216         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
55217         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
55218         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
55219         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
55220         * doc/posix-functions/posix_spawnp.texi: Likewise.
55221         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
55222         whether posix_spawn actually works.
55223         * m4/pipe.m4 (gl_PIPE): Likewise.
55224         * modules/execute (Files): Add m4/posix_spawn.m4.
55225         * modules/pipe (Files): Add m4/posix_spawn.m4.
55226         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
55227
55228 2008-10-01  Jim Meyering  <meyering@redhat.com>
55229
55230         remove trailing spaces
55231         * NEWS: Likewise.
55232         * lib/poll.c (poll): Likewise.
55233         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
55234         * lib/winsock.c (rpl_close): Likewise.
55235         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
55236         * modules/yield: Likewise.
55237         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
55238         * tests/test-sys_select.c (connect_to_socket): Likewise.
55239
55240         fts.c: adjust a new interface to be more generally useful
55241         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
55242         (fts_build): Adjust caller.
55243
55244 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55245
55246         * modules/cond-tests: New file.
55247         * tests/test-cond.c: New file.
55248
55249 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55250             Bruno Haible  <bruno@clisp.org>
55251
55252         * modules/cond (Dependencies): Add errno, time.
55253         * lib/glthread/cond.h: Include <time.h>.
55254         (gl_cond_define, gl_cond_define_initialized): Use the same definition
55255         across platforms.
55256
55257 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55258             Bruno Haible  <bruno@clisp.org>
55259
55260         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
55261
55262 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55263             Bruno Haible  <bruno@clisp.org>
55264
55265         * modules/tls-tests (Depends-on): Add thread, yield.
55266         (configure.ac): Remove all checks.
55267         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
55268         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
55269         gl_thread_self): Remove definitions. Include glthread/thread.h and
55270         glthread/yield.h instead.
55271         (test_tls): Pass an additional NULL argument to gl_thread_join.
55272
55273 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55274             Bruno Haible  <bruno@clisp.org>
55275
55276         * modules/lock-tests (Depends-on): Add thread, yield.
55277         (configure.ac): Remove all checks.
55278         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
55279         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
55280         gl_thread_self): Remove definitions. Include glthread/thread.h and
55281         glthread/yield.h instead.
55282         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
55283         additional NULL argument to gl_thread_join.
55284
55285 2008-09-30  Bruno Haible  <bruno@clisp.org>
55286
55287         Fix the Win32 implementation of the 'thread' module.
55288         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
55289         pointer type.
55290         (gl_thread_self): Invoke gl_thread_self_func.
55291         (gl_thread_self_func): New declaration.
55292         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
55293         (do_init_self_key, init_self_key): New functions.
55294         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
55295         Remove some fields.
55296         (running_threads, running_lock): Remove variables.
55297         (get_current_thread_handle): New function.
55298         (gl_thread_self_func, wrapper_func, glthread_create_func,
55299         glthread_join_func, gl_thread_exit_func): Largely rewritten and
55300         simplified.
55301
55302 2008-09-30  Bruno Haible  <bruno@clisp.org>
55303
55304         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
55305         files.
55306
55307 2008-09-30  Jim Meyering  <meyering@redhat.com>
55308
55309         fts.m4: correct the test for statfs.f_type
55310         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
55311         when checking for statfs.f_type.
55312
55313 2008-09-15  Simon Josefsson  <simon@josefsson.org>
55314
55315         tests: avoid some compiler warnings
55316         * tests/test-memchr.c (main): Pass NULL indirectly.
55317         * tests/test-getdate.c (main): Remove unused variable 'ret'.
55318
55319 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
55320
55321         getdate.y: disallow countable dayshifts like "4 yesterday ago"
55322         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
55323         exactly specified dayshifts.
55324         (dayshift): New rule.
55325         (rel): Add dayshift.
55326         (relative_time_table) [tomorrow, yesterday, today, now]:
55327         Use tDAY_SHIFT in place of tDAY_UNIT.
55328         * tests/test-getdate.c: Add tests for now-disallowed countable
55329         dayshifts, e.g., "4 yesterday ago".
55330
55331 2008-09-29  Bruno Haible  <bruno@clisp.org>
55332
55333         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
55334         * tests/test-posix_spawn1.in.sh: Renamed from
55335         tests/test-posix_spawn.in.sh.
55336         * tests/test-posix_spawn2.c: New file.
55337         * tests/test-posix_spawn2.in.sh: New file.
55338         * modules/posix_spawnp-tests (Files): Update.
55339         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
55340
55341 2008-09-29  Bruno Haible  <bruno@clisp.org>
55342
55343         Propagate effects of putenv/setenv/unsetenv to child processes.
55344         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
55345         * lib/pipe.c (create_pipe): Likewise.
55346
55347 2008-09-29  Bruno Haible  <bruno@clisp.org>
55348
55349         Enable use of shell scripts as executables in mingw.
55350         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
55351         run the program as a shell script.
55352         * lib/pipe.c (create_pipe): Likewise.
55353         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
55354         resulting array.
55355
55356 2008-09-29  Eric Blake  <ebb9@byu.net>
55357
55358         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
55359
55360 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
55361
55362         * doc/posix-functions/accept.texi: Update mingw problems.
55363         * doc/posix-functions/bind.texi: Update mingw problems.
55364         * doc/posix-functions/close.texi: Update mingw problems.
55365         * doc/posix-functions/connect.texi: Update mingw problems.
55366         * doc/posix-functions/getpeername.texi: Update mingw problems.
55367         * doc/posix-functions/getsockname.texi: Update mingw problems.
55368         * doc/posix-functions/getsockopt.texi: Update mingw problems.
55369         * doc/posix-functions/ioctl.texi: Update mingw problems.
55370         * doc/posix-functions/listen.texi: Update mingw problems.
55371         * doc/posix-functions/recv.texi: Update mingw problems.
55372         * doc/posix-functions/recvfrom.texi: Update mingw problems.
55373         * doc/posix-functions/select.texi: Update mingw problems.
55374         * doc/posix-functions/send.texi: Update mingw problems.
55375         * doc/posix-functions/sendto.texi: Update mingw problems.
55376         * doc/posix-functions/setsockopt.texi: Update mingw problems.
55377         * doc/posix-functions/socket.texi: Update mingw problems.
55378
55379 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
55380             Bruno Haible  <bruno@clisp.org>
55381
55382         * lib/sys_select.in.h: Include sys/time.h.
55383         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
55384         * modules/sys_select: Depend on sys_time.
55385         * tests/test-sys_select.c: Test that sys/select.h defines struct
55386         timeval fully.
55387
55388 2008-09-29  Bruno Haible  <bruno@clisp.org>
55389
55390         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
55391         * lib/sys_select.in.h: Likewise.
55392
55393 2008-09-29  Bruno Haible  <bruno@clisp.org>
55394
55395         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
55396
55397 2008-09-29  Bruno Haible  <bruno@clisp.org>
55398
55399         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
55400         Set LIBSOCKET instead of augmenting LIBS.
55401         * modules/sockets (Link): New section.
55402         * modules/sockets-tests (test_sockets_LDADD): New variable.
55403         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
55404         * modules/poll-tests (test_poll_LDADD): New variable.
55405         * NEWS: Document the change.
55406
55407 2008-09-29  Bruno Haible  <bruno@clisp.org>
55408
55409         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
55410         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
55411         ARPA_INET_H directly.
55412         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
55413
55414 2008-09-28  Bruno Haible  <bruno@clisp.org>
55415
55416         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
55417         from gl_HEADER_SYS_SOCKET.
55418         (gl_HEADER_SYS_SOCKET): Invoke it.
55419         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
55420
55421 2008-09-28  Bruno Haible  <bruno@clisp.org>
55422
55423         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
55424         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
55425         Needed on OSF/1 4.0.
55426
55427 2008-09-28  Bruno Haible  <bruno@clisp.org>
55428
55429         Override open more carefully.
55430         * lib/open.c (orig_open): New function.
55431         (rpl_open): Use orig_open instead of open.
55432         * lib/fcntl.in.h: Add special invocation convention.
55433         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
55434         (gl_FUNC_OPEN): Invoke it.
55435
55436         Override freopen more carefully.
55437         * lib/freopen.c (orig_freopen): New function.
55438         (rpl_freopen): Use orig_freopen instead of freopen.
55439         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
55440         (gl_FUNC_FREOPEN): Invoke it.
55441
55442         Override fopen more carefully.
55443         * lib/fopen.c (orig_fopen): New function.
55444         (rpl_fopen): Use orig_fopen instead of fopen.
55445         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
55446         (gl_FUNC_FOPEN): Invoke it.
55447         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
55448
55449 2008-09-28  Bruno Haible  <bruno@clisp.org>
55450
55451         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
55452         SIGPIPE.
55453
55454 2008-09-28  Bruno Haible  <bruno@clisp.org>
55455
55456         * tests/test-sigaction.c (handler, main): Disable the check whether
55457         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
55458         glibc systems with LinuxThreads.
55459
55460 2008-09-28  Bruno Haible  <bruno@clisp.org>
55461
55462         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
55463
55464         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
55465         with AIX xlc.
55466         * lib/fcntl.in.h (open): Likewise.
55467         Reported by Rainer Tammer <tammer@tammer.net>.
55468
55469 2008-09-28  Bruno Haible  <bruno@clisp.org>
55470
55471         * modules/posix_spawnp-tests: New file.
55472         * tests/test-posix_spawn.c: New file.
55473         * tests/test-posix_spawn.in.sh: New file.
55474
55475         New module 'posix_spawnp'.
55476         * modules/posix_spawnp: New file.
55477         * lib/spawnp.c: New file, from GNU libc with modifications.
55478         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
55479
55480         New module 'posix_spawn'.
55481         * modules/posix_spawn: New file.
55482         * lib/spawn.c: New file, from GNU libc with modifications.
55483         * doc/posix-functions/posix_spawn.texi: Mention the new module.
55484
55485         New module 'posix_spawnattr_destroy'.
55486         * modules/posix_spawnattr_destroy: New file.
55487         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
55488         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
55489         module.
55490
55491         New module 'posix_spawnattr_setsigmask'.
55492         * modules/posix_spawnattr_setsigmask: New file.
55493         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
55494         modifications.
55495         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
55496         new module.
55497
55498         New module 'posix_spawnattr_getsigmask'.
55499         * modules/posix_spawnattr_getsigmask: New file.
55500         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
55501         modifications.
55502         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
55503         new module.
55504
55505         New module 'posix_spawnattr_setsigdefault'.
55506         * modules/posix_spawnattr_setsigdefault: New file.
55507         * lib/spawnattr_setdefault.c: New file, from GNU libc with
55508         modifications.
55509         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
55510         new module.
55511
55512         New module 'posix_spawnattr_getsigdefault'.
55513         * modules/posix_spawnattr_getsigdefault: New file.
55514         * lib/spawnattr_getdefault.c: New file, from GNU libc with
55515         modifications.
55516         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
55517         new module.
55518
55519         New module 'posix_spawnattr_setschedpolicy'.
55520         * modules/posix_spawnattr_setschedpolicy: New file.
55521         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
55522         modifications.
55523         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
55524         new module.
55525
55526         New module 'posix_spawnattr_getschedpolicy'.
55527         * modules/posix_spawnattr_getschedpolicy: New file.
55528         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
55529         modifications.
55530         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
55531         new module.
55532
55533         New module 'posix_spawnattr_setschedparam'.
55534         * modules/posix_spawnattr_setschedparam: New file.
55535         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
55536         modifications.
55537         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
55538         new module.
55539
55540         New module 'posix_spawnattr_getschedparam'.
55541         * modules/posix_spawnattr_getschedparam: New file.
55542         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
55543         modifications.
55544         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
55545         new module.
55546
55547         New module 'posix_spawnattr_setpgroup'.
55548         * modules/posix_spawnattr_setpgroup: New file.
55549         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
55550         modifications.
55551         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
55552         module.
55553
55554         New module 'posix_spawnattr_getpgroup'.
55555         * modules/posix_spawnattr_getpgroup: New file.
55556         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
55557         modifications.
55558         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
55559         module.
55560
55561         New module 'posix_spawnattr_setflags'.
55562         * modules/posix_spawnattr_setflags: New file.
55563         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
55564         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
55565         module.
55566
55567         New module 'posix_spawnattr_getflags'.
55568         * modules/posix_spawnattr_getflags: New file.
55569         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
55570         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
55571         module.
55572
55573         New module 'posix_spawnattr_init'.
55574         * modules/posix_spawnattr_init: New file.
55575         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
55576         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
55577         module.
55578
55579         New module 'posix_spawn_file_actions_destroy'.
55580         * modules/posix_spawn_file_actions_destroy: New file.
55581         * lib/spawn_faction_destroy.c: New file, from GNU libc with
55582         modifications.
55583         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
55584         the new module.
55585
55586         New module 'posix_spawn_file_actions_addopen'.
55587         * modules/posix_spawn_file_actions_addopen: New file.
55588         * lib/spawn_faction_addopen.c: New file, from GNU libc with
55589         modifications.
55590         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
55591         the new module.
55592
55593         New module 'posix_spawn_file_actions_adddup2'.
55594         * modules/posix_spawn_file_actions_adddup2: New file.
55595         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
55596         modifications.
55597         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
55598         the new module.
55599
55600         New module 'posix_spawn_file_actions_addclose'.
55601         * modules/posix_spawn_file_actions_addclose: New file.
55602         * lib/spawn_faction_addclose.c: New file, from GNU libc with
55603         modifications.
55604         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
55605         the new module.
55606
55607         New module 'posix_spawn_file_actions_init'.
55608         * modules/posix_spawn_file_actions_init: New file.
55609         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
55610         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
55611         new module.
55612
55613         New module 'posix_spawn-internal'.
55614         * modules/posix_spawn-internal: New file.
55615         * lib/spawn_int.h: New file, from GNU libc with modifications.
55616         * lib/spawni.c: New file, from GNU libc with modifications.
55617         * m4/posix_spawn.m4: New file.
55618
55619         New module 'spawn'.
55620         * modules/spawn: New file.
55621         * lib/spawn.in.h: New file, from GNU libc with modifications.
55622         * m4/spawn_h.m4: New file.
55623         * doc/posix-headers/spawn.texi: Mention the new module.
55624
55625 2008-09-28  Bruno Haible  <bruno@clisp.org>
55626
55627         * modules/sched-tests: New file.
55628         * tests/test-sched.c: New file.
55629
55630         New module 'sched'.
55631         * modules/sched: New file.
55632         * lib/sched.in.h: New file.
55633         * m4/sched_h.m4: New file.
55634         * doc/posix-headers/sched.texi: Mention the new module.
55635
55636 2008-09-27  Eric Blake  <ebb9@byu.net>
55637
55638         Fix previous patch, and tweak references to $0.
55639         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
55640         (func_version, func_gnulib_dir): Don't call this program
55641         gnulib-tool.
55642         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
55643         with using $0 in function.
55644         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
55645         (func_fatal_error): Reuse the name the user invoked us with.
55646
55647 2008-09-27  Bruno Haible  <bruno@clisp.org>
55648
55649         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
55650         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
55651         (gl_ICONV_H): Not here.
55652         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
55653         instead of assigning ICONV_H directly.
55654
55655         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
55656         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
55657         WCHAR_H directly.
55658
55659 2008-09-27  Bruno Haible  <bruno@clisp.org>
55660
55661         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
55662         * modules/arpa_inet (Depends-on): Add link-warning.
55663         (Makefile.am): Insert the definition of GL_LINK-WARNING.
55664         * modules/unistd (Makefile.am): Likewise.
55665
55666 2008-09-26  Bruno Haible  <bruno@clisp.org>
55667
55668         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
55669         variables.
55670         (func_version): Essentially copied from gnulib-tool.
55671         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
55672         func_readlink): Copied from gnulib-tool.
55673
55674 2008-09-26  Bruno Haible  <bruno@clisp.org>
55675
55676         * gnulib-tool (func_version): Change directory to $gnulib_dir before
55677         invoking git-version-gen.
55678
55679 2008-09-26  Bruno Haible  <bruno@clisp.org>
55680
55681         * posix-modules: Update to directory names changed on 2008-01-19.
55682         Remove commas in output before splitting into words. No more need to
55683         avoid 'ftruncate' since 2007-02-19.
55684
55685 2008-09-26  Bruno Haible  <bruno@clisp.org>
55686
55687         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
55688
55689 2008-09-26  Bruno Haible  <bruno@clisp.org>
55690
55691         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
55692         * modules/fwriteerror (Depends-on): Add errno.
55693
55694 2008-09-26  Bruno Haible  <bruno@clisp.org>
55695
55696         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
55697         * tests/test-vc-list-files-cvs.sh: Likewise.
55698
55699 2008-09-26  Bruno Haible  <bruno@clisp.org>
55700
55701         * doc/posix-headers/sys_resource.texi: Reorder items.
55702
55703 2008-09-26  Jim Meyering  <meyering@redhat.com>
55704
55705         fts: tweak inode comparison function
55706         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
55707         inode numbers, as documented.
55708
55709         fts: sort dirent entries on inode number before traversing
55710         This avoids a quadratic, seek-related performance penalty when
55711         operating on a directory containing many entries (measurable at 10k;
55712         3.5 hours at 2 million entries with a cold cache) on certain types
55713         of file systems, including ext3 and ext4, but not tmpfs.
55714         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
55715         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
55716         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
55717         (fs_handles_readdir_ordered_dirents_efficiently): New function.
55718         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
55719         (fts_build): Set the stat.st_ino member from D_INO.
55720         If it is likely to be useful, sort dirent entries on inode number.
55721
55722         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
55723         and the struct statfs.f_type member.
55724         * modules/fts (Depends-on): Add d-ino.
55725
55726 2008-09-26  Bruno Haible  <bruno@clisp.org>
55727
55728         * modules/sigpipe-die (Depends-on): Add sigpipe.
55729
55730         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
55731         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
55732         and GNULIB_STDIO_H_SIGPIPE are set.
55733         * lib/stdio-write.c: New file.
55734         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
55735         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
55736         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
55737         REPLACE_STDIO_WRITE_FUNCS.
55738         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
55739         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
55740         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
55741         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
55742         * modules/stdio (Files): Add lib/stdio-write.c.
55743         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
55744         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
55745         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
55746         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
55747         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
55748         REPLACE_FPRINTF_POSIX.
55749         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
55750         REPLACE_PRINTF_POSIX.
55751         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
55752         REPLACE_VFPRINTF_POSIX.
55753         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
55754         REPLACE_VPRINTF_POSIX.
55755         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
55756         SIGPIPE issue.
55757         * doc/posix-functions/fputc.texi: Likewise.
55758         * doc/posix-functions/fputs.texi: Likewise.
55759         * doc/posix-functions/fwrite.texi: Likewise.
55760         * doc/posix-functions/printf.texi: Likewise.
55761         * doc/posix-functions/putc.texi: Likewise.
55762         * doc/posix-functions/putchar.texi: Likewise.
55763         * doc/posix-functions/puts.texi: Likewise.
55764         * doc/posix-functions/vfprintf.texi: Likewise.
55765         * doc/posix-functions/vprintf.texi: Likewise.
55766
55767         * modules/safe-write (Depends-on): Add write.
55768
55769         * modules/sigpipe-tests: New file.
55770         * tests/test-sigpipe.c: New file.
55771         * tests/test-sigpipe.sh: New file.
55772
55773         * modules/write: New file.
55774         * lib/unistd.in.h: Include <sys/types.h>.
55775         (write): New declaration.
55776         * lib/write.c: New file.
55777         * m4/write.m4: New file.
55778         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
55779         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
55780         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
55781         GNULIB_WRITE, REPLACE_WRITE.
55782         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
55783         and the SIGPIPE issue.
55784
55785         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
55786         (raise): New declaration.
55787         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
55788         (ext_signal): New function.
55789         (rpl_raise): New function.
55790         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
55791         GNULIB_SIGNAL_H_SIGPIPE.
55792         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
55793         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
55794
55795         * modules/sigpipe: New file.
55796         * m4/sigpipe.m4: New file.
55797
55798 2008-09-25  Derek Price  <derek@ximbiot.com>
55799             Bruno Haible  <bruno@clisp.org>
55800
55801         * gnulib-tool (func_import): Report all license incompatibilities, not
55802         just the first one.
55803
55804 2008-09-25  Bruno Haible  <bruno@clisp.org>
55805
55806         * gnulib-tool (func_import): When computing the edits, consider not
55807         only the Makefile.ams that exist but also those that will be generated.
55808
55809 2008-09-25  Simon Josefsson  <simon@josefsson.org>
55810
55811         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
55812         fixes gnulib-tool --test warning about duplicate dependency.
55813
55814 2008-09-25  Bruno Haible  <bruno@clisp.org>
55815
55816         * gnulib-tool: Don't ask the user to perform edits in the generated
55817         Makefile.ams.
55818         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
55819         apply to the Makefile.am being generated.
55820         (func_emit_tests_Makefile_am): Execute edits that apply to the
55821         Makefile.am being generated.
55822         (func_import): Setup list of Makefile.am edits before emitting the
55823         Makefile.ams, not at the end.
55824         (func_create_testdir): Update.
55825         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
55826
55827 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55828
55829         * gnulib-tool (func_import): Store the --tests-base option in the
55830         comment in gnulib-cache.m4.
55831
55832 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
55833
55834         * NEWS: Document increased portability that sys_select now provides.
55835
55836         * lib/sys_select.in.h: Install select wrapper.
55837         * lib/sys_socket.in.h: Use more descriptive name when there is no
55838         select wrapper.
55839         * lib/winsock-select.c: New.
55840         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
55841         Require gl_HEADER_SYS_SOCKET.
55842         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
55843         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
55844         * tests/test-sys_select.c: Add functional tests.
55845
55846 2008-09-24  Eric Blake  <ebb9@byu.net>
55847
55848         open, fopen: close fd leak in last patch
55849         * lib/open.c (rpl_open): Close fd before returning error.
55850         * lib/fopen.c (rpl_fopen): Close fd before returning error.
55851         * doc/posix-functions/open.texi (open): Document that Irix also
55852         has the bug.
55853         * doc/posix-functions/fopen.texi (fopen): Likewise.
55854         Reported by Paolo Bonzini.
55855
55856 2008-09-24  Bruno Haible  <bruno@clisp.org>
55857
55858         Ensure that a filename ending in a slash cannot be used to access a
55859         non-directory.
55860         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
55861         to check whether it's really a directory.
55862         * lib/fopen.c: Include fcntl.h, unistd.h.
55863         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
55864         and fdopen().
55865         * modules/fopen (Depends-on): Add unistd.
55866         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
55867         * tests/test-fopen.c (main): Likewise.
55868         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
55869         * doc/posix-functions/fopen.texi: Likewise.
55870         Reported by Eric Blake.
55871
55872 2008-09-23  Eric Blake  <ebb9@byu.net>
55873
55874         c-stack: avoid compiler optimizations when provoking overflow
55875         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
55876         recursion harder to optimize, to ensure a stack overflow occurs.
55877         * tests/test-c-stack.c (recurse): Likewise.
55878         Borrowed from libsigsegv.
55879
55880         c-stack: work around Irix sigaltstack bug
55881         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
55882         whether sigaltstack uses wrong end of stack_t (copied in part from
55883         libsigsegv).
55884         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
55885         Irix bug, without requiring an over-allocation.
55886         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
55887         bug.
55888
55889         fopen: document mingw bug on directories
55890         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
55891         not allowing a stream visiting a directory, even though reading
55892         from such a stream is not portable.
55893
55894 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
55895
55896         * lib/poll.c: Rewrite.
55897         * modules/poll: Depend on alloca.
55898
55899 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
55900
55901         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
55902         instead define prototypes for a full set of wrappers.  Ensure
55903         that Cygwin does not use the compatibility code, which is only
55904         for MinGW.
55905         * lib/winsock.c: New.
55906         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
55907         * modules/sys_socket: Add lib/winsock.c.
55908
55909         * modules/poll-tests: Add errno and perror.
55910         * tests/test-poll.c: Use ioctl, not ioctlsocket.
55911
55912 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
55913
55914         * tests/test-poll.c: Downgrade minimum needed Winsock version.
55915
55916 2008-09-23  Bruno Haible  <bruno@clisp.org>
55917
55918         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
55919         * doc/glibc-functions/*: Likewise.
55920
55921 2008-09-23  Simon Josefsson  <simon@josefsson.org>
55922
55923         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
55924         success.
55925
55926 2008-09-22  Eric Blake  <ebb9@byu.net>
55927             Bruno Haible  <bruno@clisp.org>
55928
55929         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
55930         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
55931         supply %A but mishandle pseudo-NaN.
55932         Reported by Simon Josefsson.
55933
55934 2008-09-21  Bruno Haible  <bruno@clisp.org>
55935
55936         * tests/test-lock.c (main): Tweak skip message.
55937         * tests/test-tls.c (main): Likewise.
55938
55939 2008-09-21  Bruno Haible  <bruno@clisp.org>
55940
55941         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
55942         whether 'struct sigaction' has sa_sigaction here...
55943         (gl_PREREQ_SIG_HANDLER_H): ... not here.
55944         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
55945
55946 2008-09-21  Bruno Haible  <bruno@clisp.org>
55947
55948         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
55949         section.
55950         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
55951         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
55952         the new section.
55953         (Support for obsolete systems lacking POSIX:2001): New section.
55954         (String handling <string.h>): Move strdup to the new section.
55955         Suggested by Simon Josefsson and Paolo Bonzini.
55956
55957 2008-09-21  Bruno Haible  <bruno@clisp.org>
55958
55959         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
55960         exponents in %e and %g results on 'long double'. Needed for mingw's
55961         improved *printf functions.
55962         * tests/test-vasprintf-posix.c (test_function): Likewise.
55963         * tests/test-snprintf-posix.h (test_function): Likewise.
55964         * tests/test-sprintf-posix.h (test_function): Likewise.
55965         Reported by Eric Blake.
55966
55967 2008-09-21  Bruno Haible  <bruno@clisp.org>
55968
55969         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
55970         * tests/test-sprintf-posix.h (test_function): Likewise.
55971
55972 2008-09-21  Bruno Haible  <bruno@clisp.org>
55973
55974         * modules/getpass (Depends-on): Add strdup-posix.
55975
55976         New module 'strdup-posix'.
55977         * modules/strdup-posix: New file.
55978         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
55979         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
55980         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
55981         REPLACE_STRDUP.
55982         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
55983         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
55984         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55985         strdup-posix.
55986
55987         * modules/strdup (Depends-on): Remove malloc-posix.
55988
55989 2008-09-20  Bruno Haible  <bruno@clisp.org>
55990
55991         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
55992         Wildenhues.
55993
55994 2008-09-20  Bruno Haible  <bruno@clisp.org>
55995
55996         Ensure that wint_t gets defined on IRIX 5.3.
55997         * lib/wchar.in.h (wint_t): Define if not defined by the system.
55998         * lib/wctype.in.h (wint_t): Likewise.
55999         (__wctype_wint_t): Remove type.
56000         (isw*): Use wint_t instead of __wctype_wint_t.
56001         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
56002         * modules/wchar (Files): Add m4/wint_t.m4.
56003         (Makefile.am): Substitute HAVE_WINT_T.
56004         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
56005         * tests/test-wctype.c: Check that wint_t is defined.
56006         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
56007         * doc/posix-headers/wctype.texi: Likewise.
56008         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
56009
56010 2008-09-18  Bruno Haible  <bruno@clisp.org>
56011
56012         * gnulib-tool (func_exit): Update comment.
56013
56014 2008-09-18  Simon Josefsson  <simon@josefsson.org>
56015
56016         * modules/getaddrinfo (Depends-on): Remove strdup, this module
56017         assumes strdup exists and does not depend on strdup to return
56018         ENOMEM on out of memory conditions.
56019
56020 2008-09-18  Bruno Haible  <bruno@clisp.org>
56021
56022         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
56023         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
56024         digits for the exponent.
56025
56026 2008-09-18  Jim Meyering  <meyering@redhat.com>
56027             Bruno Haible  <bruno@clisp.org>
56028
56029         * lib/vasnprintf.c (decimal_point_char): Define also if
56030         NEED_PRINTF_INFINITE_LONG_DOUBLE.
56031
56032 2008-09-16  Bruno Haible  <bruno@clisp.org>
56033         and Eric Blake  <ebb9@byu.net>
56034
56035         vasnprintf: support Irix 5.3
56036         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
56037         that mishandle long double infinity.
56038         Reported by Tom G. Christensen.
56039
56040 2008-09-16  Bruno Haible  <bruno@clisp.org>
56041
56042         * doc/glibc-functions/scandir.texi: Mention the function is missing on
56043         Solaris 9.
56044         * doc/glibc-functions/alphasort.texi: Likewise.
56045         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
56046
56047 2008-09-16  Jim Meyering  <meyering@redhat.com>
56048
56049         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
56050         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
56051         a umask modification leak out of a subshell.  Otherwise, the
56052         opensolaris /bin/sh would be accepted and thus cause unwarranted
56053         failures in the coreutils test suite.
56054
56055 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
56056
56057         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
56058         to succeed.
56059
56060 2008-09-16  Jim Meyering  <meyering@redhat.com>
56061
56062         avoid spurious test failure when library is built without ACL support
56063         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
56064         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
56065         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
56066         * tests/test-copy-acl.sh: Likewise.
56067
56068 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56069
56070         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
56071         based on character occurrence counts.
56072
56073 2008-09-15  Eric Blake  <ebb9@byu.net>
56074
56075         tests: avoid some compiler warnings
56076         * tests/test-memchr.c (main): Pass NULL indirectly.
56077         * tests/test-closein.c (main): Avoid unused variable.
56078
56079 2008-09-15  Bruno Haible  <bruno@clisp.org>
56080
56081         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
56082         are missing on OpenBSD 4.0 individually.
56083         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
56084
56085 2008-09-15  Bruno Haible  <bruno@clisp.org>
56086
56087         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
56088         * doc/posix-functions/strerror.texi: Mention also Cygwin.
56089         * doc/posix-functions/perror.texi: Likewise.
56090         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
56091         is missing.
56092         Reported by Eric Blake.
56093
56094         * lib/errno.in.h: Use replacement values >= 2000.
56095         Reported by Eric Blake.
56096
56097 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56098
56099         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
56100         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
56101         limit.
56102         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
56103         compareseq was aborted.
56104
56105 2008-09-14  Bruno Haible  <bruno@clisp.org>
56106
56107         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
56108         yvec_edit_count.
56109         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
56110         (fstrcmp_bounded): Simplify result computation accordingly.
56111
56112 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56113
56114         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
56115         (fstrcmp): Define in terms of fstrcmp_bounded.
56116         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
56117         lower_bound argument.
56118         Return quickly if the result is certainly < lower_bound.
56119         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
56120
56121 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56122
56123         * lib/diffseq.h (EARLY_ABORT): New macro.
56124         (compareseq): Change return type to bool. Return true when EARLY_ABORT
56125         evaluates to true.
56126
56127 2008-09-14  Bruno Haible  <bruno@clisp.org>
56128
56129         * modules/perror-tests: New file.
56130         * tests/test-perror.sh: New file.
56131         * tests/test-perror.c: New file.
56132
56133         New module 'perror'.
56134         * lib/stdio.in.h (perror): New declaration.
56135         * lib/perror.c: New file.
56136         * m4/perror.m4: New file.
56137         * modules/perror: New file.
56138         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
56139         * doc/posix-functions/perror.texi: Mention the perror module.
56140         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
56141         REPLACE_PERROR.
56142         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
56143         REPLACE_PERROR.
56144
56145 2008-09-14  Bruno Haible  <bruno@clisp.org>
56146
56147         * modules/stdio (Makefile.am): Reorder to match the order in
56148         lib/stdio.in.h.
56149         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
56150
56151 2008-09-13  Bruno Haible  <bruno@clisp.org>
56152
56153         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
56154
56155 2008-09-13  Bruno Haible  <bruno@clisp.org>
56156
56157         Extend strerror to cover the added errno values.
56158         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
56159         (rpl_strerror): Provide error messages for the added errno values and
56160         for the WSA* values.
56161         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
56162         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
56163         strerror.
56164         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
56165         * modules/strerror (Depends-on): Add errno.
56166         * doc/posix-functions/strerror.texi: Document the change.
56167         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
56168         and EOVERFLOW.
56169
56170 2008-09-13  Bruno Haible  <bruno@clisp.org>
56171
56172         * modules/EOVERFLOW: Remove file.
56173         * m4/eoverflow.m4: Remove file.
56174         * modules/EOVERFLOW-tests: Remove file.
56175         * tests/test-EOVERFLOW.c: Remove file.
56176         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
56177         * modules/ftell (Depends-on): Likewise.
56178         * modules/getdelim (Depends-on): Likewise.
56179         * modules/getugroups (Depends-on): Likewise.
56180         * modules/poll (Depends-on): Likewise.
56181         * modules/snprintf (Depends-on): Likewise.
56182         * modules/sprintf-posix (Depends-on): Likewise.
56183         * modules/vasnprintf (Depends-on): Likewise.
56184         * modules/vasprintf (Depends-on): Likewise.
56185         * modules/vfprintf-posix (Depends-on): Likewise.
56186         * modules/vsnprintf (Depends-on): Likewise.
56187         * modules/vsprintf-posix (Depends-on): Likewise.
56188         * modules/xvasprintf (Depends-on): Likewise.
56189         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
56190         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
56191         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
56192         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
56193         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
56194         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
56195         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
56196         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
56197         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
56198         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
56199         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
56200         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
56201         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
56202         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
56203         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
56204         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
56205         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
56206         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
56207         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
56208         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
56209         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
56210         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
56211         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
56212         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
56213         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
56214         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
56215         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
56216         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
56217         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
56218         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
56219         * MODULES.html.sh: Remove EOVERFLOW.
56220         * NEWS: Mention the change.
56221
56222 2008-09-13  Bruno Haible  <bruno@clisp.org>
56223
56224         * modules/errno-tests: New file.
56225         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
56226
56227         * lib/errno.in.h: New file.
56228         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
56229         * modules/errno: New file.
56230         * doc/posix-headers/errno.texi: Update documentation.
56231         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
56232
56233 2008-09-13  Bruno Haible  <bruno@clisp.org>
56234
56235         * tests/test-poll.c: Use #if for native Windows, rather than testing
56236         __MSVCRT__.
56237
56238 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56239             Bruno Haible  <bruno@clisp.org>
56240
56241         * lib/glob.c: Don't include <pwd.h> on native Windows.
56242         (WINDOWS32): New macro.
56243         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
56244
56245 2008-09-13  Bruno Haible  <bruno@clisp.org>
56246
56247         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
56248         (ETIMEDOUT): Remove macro.
56249         (glthread_cond_timedwait_multithreaded): New declaration.
56250         (glthread_cond_timedwait): Use it.
56251         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
56252         (glthread_cond_timedwait_multithreaded): New function.
56253
56254 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
56255
56256         * modules/poll-tests: Do not check for io.h.
56257         * tests/test-poll.c: Check for __MSVCRT__ instead.
56258
56259 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
56260
56261         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
56262         * modules/poll-tests: Add inet_pton, stdbool, sockets.
56263         * tests/test-poll.c: Use them.  Use _pipe on Windows.
56264
56265 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
56266
56267         * modules/poll-tests: New.
56268         * tests/test-poll.c: New.
56269
56270 2008-09-12  Eric Blake  <ebb9@byu.net>
56271
56272         frexp: test for NetBSD failure on -0.0
56273         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
56274         not all, bugs from NetBSD 3.0 have been fixed.
56275         * doc/posix-functions/frexp.texi (frexp): Document bug.
56276         Reported by Thomas Klausner.
56277
56278         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
56279         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
56280         literal -0.0.
56281         Reported by Jonathan C. Patschke <jp@centtech.com>.
56282
56283 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56284
56285         * lib/glthread/cond.h: Use dummy implementation also if
56286         USE_WIN32_THREADS.
56287
56288 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56289
56290         * modules/fnmatch-posix (License): Change to LGPLv2+.
56291         * modules/fnmatch-gnu (License): Likewise.
56292
56293 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56294
56295         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
56296
56297 2008-09-11  Jim Meyering  <meyering@redhat.com>
56298
56299         * users.txt: Add gtk-vnc.
56300
56301 2008-09-08  Simon Josefsson  <simon@josefsson.org>
56302
56303         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
56304         rotate amounts.
56305
56306         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
56307         required for 16-bit and 8-bit rotates.
56308         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
56309         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
56310         UINT8_MAX instead of hard-coded constants.
56311         Suggested by Paul Eggert.
56312
56313 2008-09-07  Bruno Haible  <bruno@clisp.org>
56314
56315         * tests/test-striconveh.c (main): Check behaviour when converting from
56316         UTF-7.
56317
56318         Make striconveh work better with stateful encodings.
56319         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
56320         that iconv does not increment the inptr when returning -1/EINVAL.
56321
56322 2008-09-07  Bruno Haible  <bruno@clisp.org>
56323
56324         * build-aux/config.rpath: Update according to libtool-2.2.6.
56325         * build-aux/config.libpath: Likewise.
56326
56327 2008-09-06  Bruno Haible  <bruno@clisp.org>
56328
56329         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
56330         * lib/freadptr.c (freadptr): Likewise.
56331         * lib/freadseek.c (freadptrinc): Likewise.
56332         Reported by Simon Josefsson.
56333
56334 2008-09-06  Bruno Haible  <bruno@clisp.org>
56335
56336         * modules/freadptr (License): Change to LGPLv2+.
56337         * modules/freadseek (License): Likewise.
56338         Suggested by Eric Blake.
56339
56340         * modules/memchr2 (License): Change to LGPLv2+.
56341         Approved by Eric Blake.
56342
56343 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56344             Bruno Haible  <bruno@clisp.org>
56345
56346         Make gnulib-tool work with native 'sed' on AIX.
56347         * gnulib-tool (sed_noop): New variable.
56348         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
56349         func_add_or_update, func_create_testdir): Use it to initialize sed
56350         script variables.
56351         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
56352
56353 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
56354             Bruno Haible  <bruno@clisp.org>
56355
56356         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
56357         also works after #include directives.
56358
56359 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
56360
56361         getdate.y: reject an out-of-range timezone value
56362         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
56363         the range [-24...+24].  When specified with only one or two digits,
56364         * tests/test-getdate.c: Tests for the fix.
56365         * doc/getdate.texi: Document this change.
56366
56367 2008-09-03  Bruno Haible  <bruno@clisp.org>
56368
56369         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
56370
56371 2008-09-02  Simon Josefsson  <simon@josefsson.org>
56372
56373         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
56374         <bruce.korb@gmail.com> with ideas from Ben Pfaff
56375         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
56376         Blake <ebb9@byu.net>.
56377
56378         * tests/test-bitrotate.c: Add more test vectors.
56379
56380 2008-09-02  Eric Blake  <ebb9@byu.net>
56381
56382         vasnprintf-posix: handle large precision via %.*d
56383         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
56384         when handling it ourselves.
56385         * tests/test-vasnprintf-posix.c (test_function): Add test.
56386         * tests/test-snprintf-posix.h (test_function): Likewise.
56387         * tests/test-sprintf-posix.h (test_function): Likewise.
56388         * tests/test-vasprintf-posix.c (test_function): Likewise.
56389         Reported by Alain Guibert.
56390
56391 2008-09-01  Eric Blake  <ebb9@byu.net>
56392
56393         c-stack: make configure-time check more robust
56394         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
56395         successful sigaction call.
56396         Reported by Tom G. Christensen.
56397
56398 2008-09-01  Bruno Haible  <bruno@clisp.org>
56399
56400         New module 'findprog-lgpl'.
56401         * modules/findprog-lgpl: New file.
56402         * lib/findprog-lgpl.c: New file.
56403         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
56404         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
56405         to decide whether to use strdup or xstrdup, concatenated_filename or
56406         xconcatenated_filename.
56407
56408 2008-09-01  Bruno Haible  <bruno@clisp.org>
56409
56410         Split module 'concat-filename' into 'concat-filename' (LGPL) and
56411         'xconcat-filename' (GPL).
56412         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
56413         (License): Change to LGPLv2+.
56414         * modules/xconcat-filename: New file.
56415         * lib/concat-filename.h (concatenated_filename): Change specification.
56416         (xconcatenated_filename): New declaration.
56417         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
56418         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
56419         memory situations.
56420         * lib/xconcat-filename.c: New file.
56421         * NEWS: Mention the change.
56422         * lib/findprog.c: Include concat-filename.h, not filename.h.
56423         (find_in_path): Use xconcatenated_filename instead of
56424         concatenated_filename.
56425         * lib/javacomp.c: Include concat-filename.h, not filename.h.
56426         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
56427         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
56428         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
56429         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
56430         instead of concatenated_filename.
56431         * lib/javaexec.c: Include concat-filename.h, not filename.h.
56432         (execute_java_class): Use xconcatenated_filename instead of
56433         concatenated_filename.
56434         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
56435         * modules/javacomp (Depends-on): Likewise.
56436         * modules/javaexec (Depends-on): Likewise.
56437
56438 2008-09-01  Bruno Haible  <bruno@clisp.org>
56439
56440         Split module 'filename' into 'filename' and 'concat-filename'.
56441         * modules/filename: Keep only lib/filename.h.
56442         (License): Change to LGPLv2+.
56443         * modules/concat-filename: New file, extracted from modules/filename.
56444         * lib/filename.h (concatenated_filename): Remove declaration.
56445         * lib/concat-filename.h: New file, extracted from lib/filename.h.
56446         * lib/concat-filename.c: Include concat-filename.h.
56447         * NEWS: Mention the change.
56448
56449 2008-09-01  Simon Josefsson  <simon@josefsson.org>
56450
56451         * lib/bitrotate.h (rotl8, rotr8): Add.
56452
56453         * modules/bitrotate (configure.ac): Need
56454         AC_REQUIRE([AC_C_INLINE]).
56455         (Description): Mention stdint.h.  Reported by Bruno Haible
56456         <bruno@clisp.org>.
56457
56458         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
56459         Paolo Bonzini <bonzini@gnu.org>.
56460
56461 2008-08-31  Bruno Haible  <bruno@clisp.org>
56462
56463         Assume Solaris specific bi-arch conventions on Solaris systems.
56464         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
56465         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
56466         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
56467         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
56468         like acl_libdirstem.
56469         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
56470         acl_libdirstem.
56471         * NEWS: Mention the change.
56472         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
56473
56474 2008-08-31  Jim Meyering  <meyering@redhat.com>
56475
56476         * lib/strftime.h: Add comments describing the two added arguments.
56477
56478         remove duplicate #include directives
56479         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
56480         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
56481
56482 2008-08-31  Bruno Haible  <bruno@clisp.org>
56483
56484         New module 'sigpipe-die'.
56485         * modules/sigpipe-die: New file.
56486         * lib/sigpipe-die.h: New file.
56487         * lib/sigpipe-die.c: New file.
56488         * MODULES.html.sh (Signal handling): Add sigpipe-die.
56489
56490 2008-08-31  Bruno Haible  <bruno@clisp.org>
56491
56492         Don't override previously installed signal handlers.
56493         * lib/fatal-signal.c (saved_sigactions): New variable.
56494         (uninstall_handlers): Reset the signal to the saved handler, not
56495         to SIG_DFL (except when ignored).
56496         (install_handlers): Save the previous handlers.
56497
56498 2008-08-30  Bruno Haible  <bruno@clisp.org>
56499
56500         * gnulib-tool (func_reset_sigpipe): New function.
56501         (func_get_automake_snippet, func_modules_transitive_closure,
56502         func_import): Invoke it before a join command that reads from stdin,
56503         to avoid "echo: write error: Broken pipe" error messages on stderr.
56504         Reported by Sam Steingold <sds@gnu.org>.
56505
56506 2008-08-30  Bruno Haible  <bruno@clisp.org>
56507
56508         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
56509         Code copied from m4/open.m4.
56510         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
56511         access and the filename ends in a slash. Code copied from lib/open.c.
56512         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
56513         * tests/test-fopen.c (main): Check against bug with trailing slash.
56514
56515 2008-08-29  Bruno Haible  <bruno@clisp.org>
56516
56517         Avoid some "gcc -pedantic" warnings.
56518         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
56519         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
56520         * lib/dirent.in.h: Likewise.
56521         * lib/fcntl.in.h: Likewise.
56522         * lib/float.in.h: Likewise.
56523         * lib/iconv.in.h: Likewise.
56524         * lib/inttypes.in.h: Likewise.
56525         * lib/locale.in.h: Likewise.
56526         * lib/math.in.h: Likewise.
56527         * lib/netinet_in.in.h: Likewise.
56528         * lib/search.in.h: Likewise.
56529         * lib/signal.in.h: Likewise.
56530         * lib/stdarg.in.h: Likewise.
56531         * lib/stdint.in.h: Likewise.
56532         * lib/stdio.in.h: Likewise.
56533         * lib/stdlib.in.h: Likewise.
56534         * lib/string.in.h: Likewise.
56535         * lib/strings.in.h: Likewise.
56536         * lib/sys_select.in.h: Likewise.
56537         * lib/sys_socket.in.h: Likewise.
56538         * lib/sys_stat.in.h: Likewise.
56539         * lib/sys_time.in.h: Likewise.
56540         * lib/sysexits.in.h: Likewise.
56541         * lib/time.in.h: Likewise.
56542         * lib/unistd.in.h: Likewise.
56543         * lib/wchar.in.h: Likewise.
56544         * lib/wctype.in.h: Likewise.
56545         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
56546         * modules/fchdir (Makefile.am): Likewise.
56547         * modules/fcntl (Makefile.am): Likewise.
56548         * modules/float (Makefile.am): Likewise.
56549         * modules/iconv_open (Makefile.am): Likewise.
56550         * modules/inttypes (Makefile.am): Likewise.
56551         * modules/locale (Makefile.am): Likewise.
56552         * modules/math (Makefile.am): Likewise.
56553         * modules/netinet_in (Makefile.am): Likewise.
56554         * modules/search (Makefile.am): Likewise.
56555         * modules/signal (Makefile.am): Likewise.
56556         * modules/stdarg (Makefile.am): Likewise.
56557         * modules/stdint (Makefile.am): Likewise.
56558         * modules/stdio (Makefile.am): Likewise.
56559         * modules/stdlib (Makefile.am): Likewise.
56560         * modules/string (Makefile.am): Likewise.
56561         * modules/strings (Makefile.am): Likewise.
56562         * modules/sys_select (Makefile.am): Likewise.
56563         * modules/sys_socket (Makefile.am): Likewise.
56564         * modules/sys_stat (Makefile.am): Likewise.
56565         * modules/sys_time (Makefile.am): Likewise.
56566         * modules/sysexits (Makefile.am): Likewise.
56567         * modules/time (Makefile.am): Likewise.
56568         * modules/unistd (Makefile.am): Likewise.
56569         * modules/wchar (Makefile.am): Likewise.
56570         * modules/wctype (Makefile.am): Likewise.
56571         Reported by Reuben Thomas <rrt@sc3d.org>.
56572
56573 2008-08-29  Bruno Haible  <bruno@clisp.org>
56574
56575         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
56576         any more.
56577
56578 2008-08-29  Simon Josefsson  <simon@josefsson.org>
56579
56580         * MODULES.html.sh (Misc): Add bitrotate.
56581
56582         * modules/bitrotate: New file.
56583
56584         * lib/bitrotate.h: New file.
56585
56586         * modules/bitrotate-tests: New file.
56587
56588         * tests/test-bitrotate.c: New file.
56589
56590         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
56591         on the bitrotate module.
56592
56593         * lib/arctwo.c: Use new bitrotate module.
56594
56595 2008-08-29  Jim Meyering  <meyering@redhat.com>
56596
56597         bootstrap: merge changes from coreutils
56598         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
56599         of copied files.  Remove a kludge, now that this is fixed.
56600         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
56601         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
56602         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
56603
56604 2008-08-29  Bruno Haible  <bruno@clisp.org>
56605
56606         * MODULES.html.sh: Remove --cvs-urls option.
56607
56608 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
56609
56610         maint.mk: adjust to file name change
56611         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
56612
56613 2008-08-28  Jim Meyering  <meyering@redhat.com>
56614
56615         * modules/getndelim2 (License): Relicense to LGPLv2+.
56616         Approved by Richard Stallman for the version of 1995, and by
56617         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
56618
56619 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
56620
56621         * lib/getdelim.c (flockfile, funlockfile): Make all of them
56622         dummy if one is not available.  Do not touch them if
56623         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
56624         (getc_maybe_unlocked): New.
56625         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
56626
56627 2008-08-26  Eric Blake  <ebb9@byu.net>
56628
56629         doc/INSTALL: resync from autoconf
56630         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
56631         (INSTALL_PRELUDE): Delete; this is done more efficiently by
56632         moving...
56633         * install.texi [!autoconf]: ...here.  Resync from autoconf.
56634         * INSTALL: Regenerate.
56635         * INSTALL.ISO: New file.
56636         * INSTALL.UTF-8: Likewise.
56637
56638 2008-08-26  Jim Meyering  <meyering@redhat.com>
56639
56640         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
56641         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
56642         these definitions conditional, so that they may be overridden, too.
56643
56644 2008-08-26  Bruno Haible  <bruno@clisp.org>
56645
56646         Generate INSTALL file variants with prettier quotes.
56647         * doc/Makefile (INSTALL_PRELUDE): New macro.
56648         (INSTALL): Use it.
56649         (INSTALL.ISO, INSTALL.UTF-8): New rules.
56650
56651 2008-08-26  Bruno Haible  <bruno@clisp.org>
56652
56653         Run makeinfo in an English locale.
56654         * doc/Makefile (MAKEINFO): New variable.
56655
56656 2008-08-26  Bruno Haible  <bruno@clisp.org>
56657
56658         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
56659         Suggested by Eric Blake.
56660
56661 2008-08-25  Bruno Haible  <bruno@clisp.org>
56662
56663         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
56664
56665 2008-08-25  Eric Blake  <ebb9@byu.net>
56666
56667         c-stack: test that stack overflow can be caught
56668         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
56669         that platform allows handling stack overflow; at least OS/2 EMX
56670         has sigaltstack, but crashes before transferring control to
56671         handler on stack overflow.
56672         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
56673         check for HAVE_STACK_OVERFLOW_HANDLING.
56674         Reported by Elbert Pol.
56675
56676 2008-08-25  Bruno Haible  <bruno@clisp.org>
56677
56678         * doc/posix-functions/strftime.texi: Fix description of strftime
56679         module.
56680
56681 2008-08-24  Bruno Haible  <bruno@clisp.org>
56682
56683         * tests/uniwidth/test-uc_width2.c: New file.
56684         * tests/uniwidth/test-uc_width2.sh: New file.
56685         * modules/uniwidth/width-tests (Files): Add the new files.
56686         (TESTS): Add uniwidth/test-uc_width2.sh.
56687         (TESTS_ENVIRONMENT): New variable.
56688         (check_PROGRAMS): Add test-uc_width2.
56689         (test_uc_width2_SOURCES): New variable.
56690
56691         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
56692         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
56693         not 0x00AB.
56694         Reported by Alexander V. Lukyanov <lav@netis.ru>.
56695
56696 2008-08-22  Eric Blake  <ebb9@byu.net>
56697
56698         test-lock, test-tls: mention why a test is skipped
56699         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
56700         skipped.
56701         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
56702
56703         count-one-bits: relax license
56704         * modules/count-one-bits (License): Relicense to LGPLv2+.
56705         Suggested by Ludovic Courtès, approved by Ben Pfaff.
56706
56707 2008-08-22  Andreas Schwab  <schwab@suse.de>
56708
56709         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
56710         Remove spurious space in assignment.
56711
56712 2008-08-21  Simon Josefsson  <simon@josefsson.org>
56713
56714         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
56715         Paul Eggert <eggert@CS.UCLA.EDU>.
56716
56717 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
56718
56719         * modules/gettext: Add m4/threadlib.m4.
56720
56721 2008-08-19  Eric Blake  <ebb9@byu.net>
56722
56723         test-c-stack: fix compilation failure on FreeBSD 5.0
56724         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
56725         headers before <sys/resource.h>.
56726         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
56727         the bug.
56728         Reported by Nelson H. F. Beebe.
56729
56730         strverscmp: migrate from "strverscmp.h" to <string.h>
56731         * modules/string (Makefile.am): Add new hooks.
56732         * modules/strverscmp (Files): Remove strverscmp.h.
56733         (Depends-on): Add string.
56734         (configure.ac): Add indicator.
56735         (Include): Mention new header.
56736         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
56737         defaults.
56738         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
56739         results.
56740         * lib/strverscmp.h: Delete.
56741         * lib/string.in.h (strverscmp): Provide declaration, when needed.
56742         * tests/test-strverscmp.c (includes): Adjust client.
56743         * lib/check-version.c (includes): Likewise.
56744         * NEWS: Document the change.
56745
56746         strverscmp: add unit test
56747         * modules/strverscmp-tests: New file.
56748         * tests/test-strverscmp.c: Likewise.
56749
56750 2008-08-19  Simon Josefsson  <simon@josefsson.org>
56751
56752         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
56753         regarding Windows crypto stuff, from Mono.
56754
56755 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
56756
56757         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
56758         if present, for intel RND.  Return error on failures.
56759
56760 2008-08-18  Ben Pfaff  <blp@gnu.org>
56761
56762         gitlog-to-changelog: give better diagnostic for failed pipe-open
56763         * build-aux/gitlog-to-changelog: Improve error message: suggest
56764         that the version of Git may be too old.
56765
56766 2008-08-18  Simon Josefsson  <simon@josefsson.org>
56767
56768         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
56769         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
56770
56771 2008-08-18  Bruno Haible  <bruno@clisp.org>
56772
56773         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
56774         pthread_in_use().
56775
56776 2008-08-18  Bruno Haible  <bruno@clisp.org>
56777
56778         * lib/glthread/threadlib.c: Include <pthread.h>.
56779
56780 2008-08-18  Bruno Haible  <bruno@clisp.org>
56781
56782         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
56783         glthread_recursive_lock_* macros.
56784         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
56785         Fix syntax error.
56786
56787 2008-08-18  Bruno Haible  <bruno@clisp.org>
56788
56789         * lib/glthread/thread.c: Avoid forcing a context switch right after
56790         thread creation.
56791
56792 2008-08-17  Bruno Haible  <bruno@clisp.org>
56793
56794         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
56795         * lib/glthread/thread.h: Provide Win32 specific implementation.
56796         * modules/thread (Files): Add lib/glthread/thread.c.
56797         (Depends-on): Add lock.
56798         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
56799
56800 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56801
56802         New module 'yield'.
56803         * modules/yield: New file.
56804         * lib/glthread/yield.h: New file.
56805         * m4/yield.m4: New file.
56806         * MODULES.html.sh (Multithreading): Add yield.
56807
56808 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56809
56810         New module 'thread'.
56811         * modules/thread: New file.
56812         * lib/glthread/thread.h: New file.
56813         * m4/thread.m4: New file.
56814         * MODULES.html.sh (Multithreading): Add thread.
56815
56816 2008-08-17  Bruno Haible  <bruno@clisp.org>
56817
56818         * lib/glthread/lock.h: Include <stdlib.h> always.
56819         * lib/glthread/tls.h: Likewise.
56820         * lib/glthread/cond.h: Likewise.
56821
56822 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56823
56824         New module 'cond'.
56825         * modules/cond: New file.
56826         * lib/glthread/cond.h: New file.
56827         * lib/glthread/cond.c: New file.
56828         * m4/cond.m4: New file.
56829         * MODULES.html.sh (Multithreading): Add cond.
56830
56831 2008-08-16  Eric Blake  <ebb9@byu.net>
56832
56833         c-stack: fix regression on Irix 5.3 from 2008-06-21
56834         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
56835         sa_sigaction...
56836         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
56837         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
56838         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
56839         * modules/signal (Makefile.am): Use the value.
56840         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
56841         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
56842         * doc/posix-headers/signal.texi (signal.h): Document this
56843         portability issue.
56844         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
56845         Reported by Tom G. Christensen.
56846
56847 2008-08-17  Bruno Haible  <bruno@clisp.org>
56848
56849         New module 'threadlib'.
56850         * modules/threadlib: New file.
56851         * lib/glthread/threadlib.c: New file, extracted from
56852         lib/glthread/lock.c.
56853         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
56854         functions.
56855         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
56856         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
56857         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
56858         macros.
56859         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
56860         (gl_DISABLE_THREADS): Remove macro.
56861         * modules/lock (Files): Remove build-aux/config.rpath.
56862         (Depends-on): Remove havelib. Add threadlib.
56863         (configure.ac-early): Remove section.
56864         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
56865         * modules/tls (Depends-on): Remove lock. Add threadlib.
56866         (Link): New section, copied from threadlib.
56867         * MODULES.html.sh (Multithreading): Add threadlib.
56868
56869 2008-08-14  Bruno Haible  <bruno@clisp.org>
56870
56871         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
56872         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
56873         glthread_rwlock_unlock, glthread_rwlock_destroy,
56874         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
56875         glthread_recursive_lock_destroy): Define as macros always.
56876         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
56877         glthread_lock_lock.
56878         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
56879         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
56880         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
56881         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
56882         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
56883         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
56884         (glthread_recursive_lock_lock_func): Renamed from
56885         glthread_recursive_lock_lock.
56886         (glthread_recursive_lock_unlock_func): Renamed from
56887         glthread_recursive_lock_unlock.
56888         (glthread_recursive_lock_destroy_func): Renamed from
56889         glthread_recursive_lock_destroy.
56890
56891 2008-08-14  Bruno Haible  <bruno@clisp.org>
56892
56893         * lib/glthread/lock.h: Renamed from lib/lock.h.
56894         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
56895         * lib/glthread/tls.h: Renamed from lib/tls.h.
56896         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
56897         * lib/fstrcmp.c: Update includes.
56898         * lib/strsignal.c: Update includes.
56899         * modules/lock (Files, Makefile.am): Update.
56900         (Include): Change to "glthread/lock.h".
56901         * modules/tls (Files, Makefile.am): Update.
56902         (Include): Change to "glthread/tls.h".
56903         * tests/test-lock.c: Update includes.
56904         * tests/test-tls.c: Update includes.
56905         * NEWS: Mention the renamed header files.
56906
56907 2008-08-11  Jim Meyering  <meyering@redhat.com>
56908
56909         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
56910
56911 2008-08-11  Eric Blake  <ebb9@byu.net>
56912
56913         test-c-stack: avoid C99-ism
56914         * tests/test-c-stack.c (main): Fix whitespace, move declaration
56915         before statement.
56916         Reported by Alain Guibert.
56917
56918 2008-08-10  Jim Meyering  <meyering@redhat.com>
56919
56920         ensure that return value of uinttostr et al are not ignored
56921         * lib/inttostr.h (__GNUC_PREREQ): Define.
56922         (__attribute_warn_unused_result__): Define.
56923         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
56924
56925 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
56926
56927         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
56928         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
56929
56930 2008-08-07  Jim Meyering  <meyering@redhat.com>
56931
56932         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
56933
56934         * modules/mkstemp (License): Relicense under LGPLv2+.
56935         * modules/tempname (License): Likewise.
56936
56937 2008-08-06  Bruno Haible  <bruno@clisp.org>
56938
56939         * lib/poll.c (poll): Further micro-optimization.
56940
56941 2008-08-06  Jim Meyering  <meyering@redhat.com>
56942
56943         inet_pton.c: use locale-independent tolower
56944         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
56945         (inet_pton6): Use c_tolower rather than tolower.
56946         * modules/inet_pton (Depends-on): Add c-ctype.
56947
56948 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
56949
56950         * lib/poll.c (poll): Avoid division when timeout is 0, cache
56951         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
56952
56953 2008-08-06  Jim Meyering  <meyering@redhat.com>
56954
56955         * modules/inet_pton (License): Relicense under LGPLv2+.
56956
56957 2008-08-03  Bruno Haible  <bruno@clisp.org>
56958
56959         Additional non-aborting API for lock and tls.
56960         * lib/lock.h: Include <errno.h>.
56961         (glthread_lock_init): New macro/function.
56962         (gl_lock_init): Define as wrapper around glthread_lock_init.
56963         (glthread_lock_lock): New macro/function.
56964         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
56965         (glthread_lock_unlock): New macro/function.
56966         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
56967         (glthread_lock_destroy): New macro/function.
56968         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
56969         (glthread_rwlock_init): New macro/function.
56970         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
56971         (glthread_rwlock_rdlock): New macro/function.
56972         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
56973         (glthread_rwlock_wrlock): New macro/function.
56974         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
56975         (glthread_rwlock_unlock): New macro/function.
56976         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
56977         (glthread_rwlock_destroy): New macro/function.
56978         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
56979         (glthread_recursive_lock_init): New macro/function.
56980         (gl_recursive_lock_init): Define as wrapper around
56981         glthread_recursive_lock_init.
56982         (glthread_recursive_lock_lock): New macro/function.
56983         (gl_recursive_lock_lock): Define as wrapper around
56984         glthread_recursive_lock_lock.
56985         (glthread_recursive_lock_unlock): New macro/function.
56986         (gl_recursive_lock_unlock): Define as wrapper around
56987         glthread_recursive_lock_unlock.
56988         (glthread_recursive_lock_destroy): New macro/function.
56989         (gl_recursive_lock_destroy): Define as wrapper around
56990         glthread_recursive_lock_destroy.
56991         (glthread_once): New macro/function.
56992         (gl_once): Define as wrapper around glthread_once.
56993         Update function declarations.
56994         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
56995         glthread_rwlock_init. Return error code.
56996         (glthread_rwlock_rdlock_multithreaded): Renamed from
56997         glthread_rwlock_rdlock. Return error code.
56998         (glthread_rwlock_wrlock_multithreaded): Renamed from
56999         glthread_rwlock_wrlock. Return error code.
57000         (glthread_rwlock_unlock_multithreaded): Renamed from
57001         glthread_rwlock_unlock. Return error code.
57002         (glthread_rwlock_destroy_multithreaded): Renamed from
57003         glthread_rwlock_destroy. Return error code.
57004         (glthread_recursive_lock_init_multithreaded): Renamed from
57005         glthread_recursive_lock_init. Return error code.
57006         (glthread_recursive_lock_lock_multithreaded): Renamed from
57007         glthread_recursive_lock_lock. Return error code.
57008         (glthread_recursive_lock_unlock_multithreaded): Renamed from
57009         glthread_recursive_lock_unlock. Return error code.
57010         (glthread_recursive_lock_destroy_multithreaded): Renamed from
57011         glthread_recursive_lock_destroy. Return error code.
57012         (glthread_once_call): Make static.
57013         (glthread_once_multithreaded): Renamed from glthread_once.
57014         * lib/tls.h: Include <errno.h>.
57015         (glthread_tls_key_init): New macro/function.
57016         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
57017         (glthread_tls_set): New macro/function.
57018         (gl_tls_set): Define as wrapper around glthread_tls_set.
57019         (glthread_tls_key_destroy): New macro/function.
57020         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
57021         Update function declarations.
57022         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
57023         glthread_tls_get.
57024         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
57025
57026 2008-08-04  Eric Blake  <ebb9@byu.net>
57027
57028         gnumakefile: use space, not TAB, outside of targets
57029         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
57030
57031 2008-08-02  Jim Meyering  <meyering@redhat.com>
57032
57033         getdate.y: avoid locale-dependent date parsing failure
57034         In Turkish locales, getdate would fail to recognize keywords
57035         containing a lowercase "i".  The solution is not to rely on
57036         locale-sensitive case-conversion.
57037         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
57038         (lookup_word): Use c_toupper in place of toupper.
57039         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
57040         Reported by Vefa Bicakci <bicave@superonline.com> in
57041         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
57042         * modules/getdate (Depends-on): Add c-ctype.
57043
57044 2008-08-02  Bruno Haible  <bruno@clisp.org>
57045
57046         * gnulib-tool (func_import): When updating or creating a .gitignore
57047         file, prepend each added line with a slash, and ignore leading slashes
57048         from the existing lines.
57049         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
57050
57051 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57052
57053         Portability fix for GNU make 3.79.1.
57054         * top/GNUmakefile: Avoid 'else COND', which older GNU make
57055         versions do not understand.
57056
57057 2008-08-01  Bruno Haible  <bruno@clisp.org>
57058
57059         Work around bug of HP-UX 10.20 cc with -0.0 literal.
57060         * tests/test-isnanf.h (zero): New variable.
57061         (main): Avoid literal -0.0f.
57062         * tests/test-isnand.h (zero): New variable.
57063         (main): Avoid literal -0.0.
57064         * tests/test-isnanl.h (zero): New variable.
57065         (main): Avoid literal -0.0L.
57066         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
57067         (test_float, test_double, test_long_double): Avoid literals -0.0f,
57068         -0.0, -0.0L.
57069         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
57070         (test_signbitd): Avoid literal -0.0.
57071         (test_signbitl): Avoid literal -0.0L.
57072         * tests/test-ceilf1.c (zero): New variable.
57073         (main): Avoid literal -0.0f.
57074         * tests/test-ceill.c (zero): New variable.
57075         (main): Avoid literal -0.0L.
57076         * tests/test-floorf1.c (zero): New variable.
57077         (main): Avoid literal -0.0f.
57078         * tests/test-floorl.c (zero): New variable.
57079         (main): Avoid literal -0.0L.
57080         * tests/test-roundf1.c (zero): New variable.
57081         (main): Avoid literal -0.0f.
57082         * tests/test-round1.c (zero): New variable.
57083         (main): Avoid literal -0.0.
57084         * tests/test-roundl.c (zero): New variable.
57085         (main): Avoid literal -0.0L.
57086         * tests/test-truncf1.c (zero): New variable.
57087         (main): Avoid literal -0.0f.
57088         * tests/test-trunc1.c (zero): New variable.
57089         (main): Avoid literal -0.0.
57090         * tests/test-truncl.c (zero): New variable.
57091         (main): Avoid literal -0.0L.
57092         * tests/test-frexp.c (zero): New variable.
57093         (main): Avoid literal -0.0.
57094         * tests/test-frexpl.c (zero): New variable.
57095         (main): Avoid literal -0.0L.
57096         * tests/test-ldexpl.c (zero): New variable.
57097         (main): Avoid literal -0.0L.
57098         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
57099         (zerod, zerol): New variables.
57100         (test_function): Avoid literals -0.0, -0.0L.
57101         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
57102         (zerod, zerol): New variables.
57103         (test_function): Avoid literals -0.0, -0.0L.
57104         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
57105         (zerod, zerol): New variables.
57106         (test_function): Avoid literals -0.0, -0.0L.
57107         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
57108         (zerod, zerol): New variables.
57109         (test_function): Avoid literals -0.0, -0.0L.
57110         * tests/test-strtod.c (zero): New variable.
57111         (main): Avoid literal -0.0.
57112         Reported by Jonathan C. Patschke <jp@centtech.com>.
57113
57114 2008-07-31  Jim Meyering  <meyering@redhat.com>
57115
57116         sha256.h: correct definition of SHA224_DIGEST_SIZE
57117         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
57118         Reported by Paulie Pena IV <paulie4@gmail.com>.
57119         Define as 224 / 8, rather than as a literal.
57120         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
57121         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
57122         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
57123
57124 2008-07-31  Bruno Haible  <bruno@clisp.org>
57125
57126         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
57127         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
57128         Reported by Jonathan Patschke <jp@centtech.com>.
57129
57130 2008-07-31  Bruno Haible  <bruno@clisp.org>
57131
57132         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
57133         Reported by Paolo Bonzini <bonzini@gnu.org>.
57134
57135 2008-07-30  Eric Blake  <ebb9@byu.net>
57136
57137         test-strtod: allow compilation without -lm
57138         * tests/test-strtod.c (main): Avoid link dependence on fabs.
57139         Reported by Dennis Clarke <blastwave@gmail.com>.
57140
57141 2008-07-28  Jim Meyering  <meyering@redhat.com>
57142
57143         bootstrap: work also when there are no .po files in po/
57144         * build-aux/bootstrap (update_po_files): Complete the change
57145         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
57146
57147 2008-07-27  Jim Meyering  <meyering@redhat.com>
57148
57149         * users.txt: Add zile.
57150
57151 2008-07-26  Ben Pfaff  <blp@gnu.org>
57152
57153         Add missing dependencies on new m4/exponent[fdl].m4 files.
57154         * modules/isnanf-nolibm: Add m4/exponentf.m4.
57155         * modules/isnand-nolibm: Add m4/exponentd.m4.
57156         * modules/isnanl-nolibm: Add m4/exponentl.m4.
57157         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
57158         m4/isnan[fdl].m4, because the macros actually used moved.
57159         Reported by Jim Meyering.
57160
57161 2008-07-14  Ben Pfaff  <blp@gnu.org>
57162
57163         Add isinf module.
57164         * lib/isinf.c: New file.
57165         * lib/math.in.h: Define isinf macro if we have decided to replace
57166         it.
57167         * m4/isinf.m4: New file.
57168         * m4/math_h.m4: Initialize and substitute variables for isinf
57169         module.
57170         * modules/isinf: New file.
57171         * modules/isinf-tests: New file.
57172         * modules/math: Add substitutions for new module.
57173         * tests/test-isinf.c: New file.
57174         * doc/posix-functions/isinf.texi: Mention new module.
57175         * MODULES.html.sh: Mention new module.
57176
57177 2008-07-14  Ben Pfaff  <blp@gnu.org>
57178
57179         Factor out some macros for use by additional modules.
57180         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
57181         exponentf.m4.
57182         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
57183         exponentd.m4.
57184         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
57185         file exponentl.m4.
57186         * m4/exponentf.m4: New file.
57187         * m4/exponentd.m4: New file.
57188         * m4/exponentl.m4: New file.
57189         * modules/isnanf: Use new file m4/exponentf.m4.
57190         * modules/isnand: Use new file m4/exponentd.m4.
57191         * modules/isnanl: Use new file m4/exponentl.m4.
57192
57193 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
57194
57195         mktime.c: normalize tp->tm_isdst value to -1/0/1.
57196         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
57197         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
57198         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
57199
57200         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
57201         readlink on platforms without PATH_MAX.
57202
57203 2008-07-21  Eric Blake  <ebb9@byu.net>
57204
57205         Warn, not fail, on stale version.
57206         * top/GNUmakefile (_curr-ver): Tone down previous patch.
57207
57208         Don't allow installation with stale devel version number.
57209         * top/GNUmakefile (_is-install-target): New macro.
57210         (_curr-ver): Forbid installation with stale version number.
57211
57212 2008-07-20  Bruno Haible  <bruno@clisp.org>
57213
57214         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
57215         TESTS_ENVIRONMENT.
57216         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
57217
57218 2008-07-20  Bruno Haible  <bruno@clisp.org>
57219
57220         * lib/c-stack.h (c_stack_action): Add documentation.
57221         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
57222
57223 2008-07-20  Bruno Haible  <bruno@clisp.org>
57224
57225         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
57226         * modules/readlink (License): Likewise.
57227
57228 2008-07-17  Eric Blake  <ebb9@byu.net>
57229
57230         * modules/c-stack (Link): Fix typo.
57231
57232         Make c-stack use libsigsegv, when available.
57233         * modules/c-stack (Depends-on): Add libsigsegv.
57234         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
57235         needed.
57236         * lib/c-stack.c (SIGSTKSZ): Define fallback.
57237         (segv_handler, overflow_handler, c_stack_action)
57238         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
57239         implementation when libsigsegv is available, but only when using
57240         the library is necessary.
57241         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
57242         comment, explaining why XSI check fails on Linux.
57243         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
57244         * tests/test-c-stack2.sh: Tweak skip message.
57245         * NEWS: Document new link-time requirements.
57246
57247 2008-07-16  Eric Blake  <ebb9@byu.net>
57248
57249         c-stack: Expose false positives when not using libsigsegv.
57250         * modules/c-stack-tests (Files): Expand test.
57251         * tests/test-c-stack.c (main): Add means to conditionally trigger
57252         non-overflow SIGSEGV.
57253         * tests/test-c-stack2.sh: New file.
57254
57255 2008-07-14  Bruno Haible  <bruno@clisp.org>
57256
57257         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
57258         Reported by Eric Blake.
57259
57260 2008-07-14  Sam Steingold  <sds@gnu.org>
57261             Bruno Haible  <bruno@clisp.org>
57262
57263         New module libsigsegv.
57264         * modules/libsigsegv: New file.
57265         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
57266         modifications.
57267         * MODULES.html.sh (Signal handling): New section.
57268
57269 2008-07-14  Bruno Haible  <bruno@clisp.org>
57270
57271         * modules/unictype/ctype-* (Description): Add the word "function".
57272         Improves the resulting doc in MODULES.html.
57273
57274 2008-07-12  Ben Pfaff  <blp@gnu.org>
57275
57276         Add longlong module.
57277         * modules/longlong: New file.
57278
57279 2008-07-12  Bruno Haible  <bruno@clisp.org>
57280
57281         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
57282         to empty.
57283
57284 2008-07-10  Ben Pfaff  <blp@gnu.org>
57285
57286         Add isnan module.
57287         * doc/posix-functions/isnan.texi: Mention new module.
57288         * lib/math.in.h: Define isnan macro if we have decided to replace
57289         it.
57290         * m4/isnan.m4: New file.
57291         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
57292         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
57293         also.
57294         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
57295         redundancy.
57296         * m4/math_h.m4: Initialize and substitute variables for isnan
57297         module.
57298         * modules/isnan: New file.
57299         * modules/isnan-tests: New file.
57300         * modules/math: Add substitutions for new module.
57301         * tests/test-isnan.c: New file.
57302         * MODULES.html.sh: Mention new module.
57303
57304 2008-07-10  Ben Pfaff  <blp@gnu.org>
57305
57306         Add isnanf module.
57307         * lib/isnanf.m4: New file.
57308         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
57309         (gl_HAVE_ISNANF_IN_LIBM): New macro.
57310         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
57311         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
57312         * modules/isnanf: New file.
57313         * modules/isnanf-tests: New file.
57314         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
57315         files.
57316         * tests/test-isnanf-nolibm.c: factored most of its contents into
57317         new file tests/test-isnanf.h.
57318         * tests/test-isnanf.h: New file.
57319         * tests/test-isnanf.c: New file.
57320         * MODULES.html.sh: Mention new module.
57321         * doc/glibc-functions/isnanf.texi: Mention new module.
57322
57323 2008-07-10  Ben Pfaff  <blp@gnu.org>
57324
57325         Add isnand module.
57326         * lib/isnand.h: New file.
57327         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
57328         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
57329         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
57330         functionality also.
57331         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
57332         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
57333         (gl_HAVE_ISNAND_IN_LIBM): New macro.
57334         * modules/isnand: New file.
57335         * modules/isnand-tests: New file.
57336         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
57337         files.
57338         * tests/test-isnand-nolibm.c: factored most of its contents into
57339         new file tests/test-isnand.h.
57340         * tests/test-isnand.h: New file.
57341         * tests/test-isnand.c: New file.
57342         * MODULES.html.sh: Mention new module.
57343
57344 2008-07-10  Ben Pfaff  <blp@gnu.org>
57345
57346         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
57347         * lib/isnand.h: Rename lib/isnand-nolibm.h.
57348         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
57349         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
57350         * modules/isnanf-nolibm: Update references to renamed files.
57351         * modules/isnand-nolibm: Likewise.
57352         * modules/isnanf-nolibm-tests: Likewise.
57353         * modules/isnand-nolibm-tests: Likewise.
57354         * lib/frexp.c: Likewise.
57355         * lib/isfinite.c: Likewise.
57356         * lib/signbitd.c: Likewise.
57357         * lib/signbitf.c: Likewise.
57358         * lib/vasnprintf.c: Likewise.
57359         * tests/test-ceilf1.c: Likewise.
57360         * tests/test-ceilf2.c: Likewise.
57361         * tests/test-floorf1.c: Likewise.
57362         * tests/test-floorf2.c: Likewise.
57363         * tests/test-frexp.c: Likewise.
57364         * tests/test-round1.c: Likewise.
57365         * tests/test-round2.c: Likewise.
57366         * tests/test-roundf1.c: Likewise.
57367         * tests/test-strtod.c: Likewise.
57368         * tests/test-trunc1.c: Likewise.
57369         * tests/test-trunc2.c: Likewise.
57370         * tests/test-truncf1.c: Likewise.
57371         * tests/test-truncf2.c: Likewise.
57372         * NEWS: Mention the renamed header files.
57373
57374 2008-07-11  Jim Meyering  <meyering@redhat.com>
57375
57376         vc-list-files: make the last-resort awk code more portable
57377         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
57378         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
57379         does not support it.
57380
57381 2008-07-10  Eric Blake  <ebb9@byu.net>
57382
57383         Work with tar's bootstrap.
57384         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
57385         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
57386         an m4 comment.
57387
57388 2008-07-09  Jim Meyering  <meyering@redhat.com>
57389
57390         posix-shell.m4: fix typo that made this test malfunction
57391         * m4/posix-shell.m4: Remove capitalization in variable name.
57392
57393 2008-07-08  Bruno Haible  <bruno@clisp.org>
57394
57395         * m4/onceonly.m4: Update comments.
57396         Reported by Ben Pfaff <blp@cs.stanford.edu>.
57397
57398 2008-07-04  Jim Meyering  <meyering@redhat.com>
57399
57400         * users.txt: Add vc-dwim.
57401         (bison, coreutils): Use the gitweb URL.
57402
57403 2008-07-03  Jim Meyering  <meyering@redhat.com>
57404
57405         * users.txt: Add libffcall.  From Sam Steingold.
57406
57407 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
57408
57409         getdate.y: do not ignore TZ with relative day, month or year offset
57410         * lib/getdate.y (get_date): Move the tz-handling block to follow the
57411         relative-date-handling, since otherwise, the latter would clobber the
57412         sole output (an updated Start value) of the tz-handling block.
57413         * tests/test-getdate.c: Tests for the fix
57414
57415 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57416
57417         Recognize 'foo_LIBRARIES += libgnu.a'.
57418         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
57419         makefile snippet has already specified an installation location,
57420         also using '+='.
57421
57422 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
57423
57424         getdate.y: factor out common actions
57425         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
57426         Use them in place of open-coded actions.
57427
57428 2008-07-01  Simon Josefsson  <simon@josefsson.org>
57429
57430         Add self-test for getdate module.
57431         * modules/getdate-tests: New file.
57432         * tests/test-getdate.c: New file.
57433
57434 2008-06-29  Bruno Haible  <bruno@clisp.org>
57435
57436         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
57437         .gitignore.
57438         Reported by Sylvain Beucler <beuc@beuc.net>.
57439
57440 2008-06-29  Bruno Haible  <bruno@clisp.org>
57441
57442         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
57443         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
57444
57445 2008-06-29  Bruno Haible  <bruno@clisp.org>
57446
57447         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
57448         EXTRA_DIST.
57449         Reported by Sylvain Beucler <beuc@beuc.net>.
57450
57451 2008-06-26  Jim Meyering  <meyering@redhat.com>
57452
57453         make several modules depend on the "open" module
57454         This provides slightly increased consistency when opening-for-write
57455         the name of a non-directory spelled with a trailing slash.
57456         * modules/chdir-safer: Likewise.
57457         * modules/chown: Likewise.
57458         * modules/clean-temp: Likewise.
57459         * modules/copy-file: Likewise.
57460         * modules/fchdir: Likewise.
57461         * modules/fcntl-safer: Likewise.
57462         * modules/pipe: Likewise.
57463         * modules/utime: Likewise.
57464         Prompted by Eric Blake and Bruno Haible.
57465
57466 2008-06-24  Andreas Schwab  <schwab@suse.de>
57467
57468         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
57469         literals can be used as initializers for global variables.
57470
57471 2008-06-23  Eric Blake  <ebb9@byu.net>
57472
57473         Make gnulib-cache.m4 easier to diff.
57474         * gnulib-tool (func_import): Allow newlines when reading cached
57475         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
57476
57477 2008-06-23  Bruno Haible  <bruno@clisp.org>
57478
57479         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
57480         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
57481         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
57482         m4/signalblocking.m4.
57483         (gl_PREREQ_SIGACTION): Don't invoke it.
57484         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
57485         gl_PREREQ_SIG_HANDLER_H.
57486         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
57487         Don't check for sigaction here.
57488
57489 2008-06-23  Bruno Haible  <bruno@clisp.org>
57490
57491         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
57492         (install_handlers): Don't set the SA_RESETHAND flag.
57493
57494 2008-06-23  Bruno Haible  <bruno@clisp.org>
57495
57496         * m4/sigaction.m4: Comment fixes.
57497         * lib/signal.in.h: Likewise.
57498
57499 2008-06-23  Eric Blake  <ebb9@byu.net>
57500
57501         Fix typo.
57502         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
57503
57504         Avoid SA_ namespace.
57505         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
57506         Reported by Ralf Wildenhues.
57507
57508         Avoid test failure due to SA_RESTORER.
57509         * tests/test-sigaction.c (SA_MASK): New macro.
57510         (main): Avoid failing due to extension flags being set.
57511         Reported by Jim Meyering.
57512
57513         Revert use of sig-handler.h in sigprocmask.c.
57514         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
57515         it requires the existence of struct sigaction.
57516         * lib/sigprocmask.c (handler_t): Restore typedef.
57517         (rpl_signal, old_handlers): Use local type.
57518
57519 2008-06-22  Bruno Haible  <bruno@clisp.org>
57520
57521         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
57522         conditionally.
57523         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
57524
57525 2008-06-22  Bruno Haible  <bruno@clisp.org>
57526
57527         * doc/posix-functions/siginterrupt.texi: Move note.
57528
57529         * lib/signal.in.h (SA_RESTART): New macro.
57530         * lib/sigaction.c: Update comment.
57531
57532         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
57533
57534         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
57535         (gl_PREREQ_SIGPROCMASK): Invoke it.
57536         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
57537
57538         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
57539
57540         * lib/sigprocmask.c: Update a comment.
57541
57542 2008-06-21  Eric Blake  <ebb9@byu.net>
57543
57544         Use sigaction module rather than signal().
57545         * modules/c-stack (Depends-on): Add sigaction.
57546         * modules/fatal-signal (Depends-on): Likewise.
57547         * modules/nanosleep (Depends-on): Likewise.
57548         * modules/sigprocmask (Files): Add sig-handler.h.
57549         * modules/sigaction (Files): Likewise.
57550         * lib/sig-handler.h (get_handler): New file, suggested by Paul
57551         Eggert.
57552         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
57553         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
57554         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
57555         (init_fatal_signals): Likewise.
57556         * lib/nanosleep.c (rpl_nanosleep): Likewise.
57557         (siginterrupt): Delete fallback.
57558         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
57559         instead.
57560         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
57561         siginterrupt.
57562
57563         New module sigaction, for mingw.
57564         * modules/sigaction: New module...
57565         * modules/sigaction-tests: ...and its test.
57566         * m4/sigaction.m4: New file.
57567         * lib/sigaction.c: Likewise.
57568         * tests/test-sigaction.c: Likewise.
57569         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
57570         * modules/signal (Makefile.am): Likewise.
57571         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
57572         needed.
57573         * doc/posix-headers/signal.texi (signal.h): Mention provided
57574         types.
57575         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
57576         that sigaction is preferable.
57577         * doc/posix-functions/sigaction.texi (sigaction): Mention new
57578         module.
57579         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
57580         sigaction.
57581
57582         Improve robustness of sigprocmask by overriding signal.
57583         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
57584         is in use.
57585         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
57586         (SIGKILL, SIGSTOP): Provide fallbacks.
57587         (rpl_signal): Implement.
57588         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
57589         signal can be called inside handlers.
57590
57591         Fix nanosleep module on mingw.
57592         * modules/nanosleep (Depends-on): Add sys_select.
57593         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
57594
57595         Fix licensing of sigprocmask.
57596         * modules/raise (License): Relicense as LGPL.
57597
57598 2008-06-21  Bruno Haible  <bruno@clisp.org>
57599
57600         * lib/propername.c (proper_name_utf8): Don't use the transliterated
57601         result if it contains question marks.
57602         Reported by Michael Geng <linux@michaelgeng.de>.
57603
57604 2008-06-19  Bruno Haible  <bruno@clisp.org>
57605
57606         Fix CVS-ism.
57607         * doc/gnulib.texi: Include updated-stamp.texi.
57608         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
57609         (updated-stamp.texi): New rule.
57610         (gnulib.info): Depend on it.
57611         * doc/.gitignore: Add updated-stamp.texi.
57612         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
57613
57614 2008-06-19  Bruno Haible  <bruno@clisp.org>
57615
57616         * doc/Makefile (gnulib.info): Update and simplify dependencies.
57617         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
57618
57619 2008-06-19  Eric Blake  <ebb9@byu.net>
57620
57621         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
57622         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
57623         Reported by Stepan Kasal.
57624
57625 2008-06-18  Bruno Haible  <bruno@clisp.org>
57626
57627         * lib/fatal-signal.c (init_fatal_signals): Add comment.
57628         Reported by Eric Blake.
57629
57630 2008-06-18  Eric Blake  <ebb9@byu.net>
57631
57632         Work around cygwin 1.5.25 strsignal bug.
57633         * tests/test-strsignal.c: Allow for const char *.
57634         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
57635
57636 2008-06-18  Simon Josefsson  <simon@josefsson.org>
57637
57638         * users.txt: Update URL to article and add author/date
57639         information.
57640
57641 2008-06-17  Bruno Haible  <bruno@clisp.org>
57642
57643         New macro gl_DISABLE_THREADS.
57644         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
57645         if the user did not pass --enable-threads or --disable-threads option.
57646         (gl_DISABLE_THREADS): New macro.
57647         Reported by Eric Blake <ebb9@byu.net>.
57648
57649 2008-06-17  Bruno Haible  <bruno@clisp.org>
57650
57651         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
57652         when the macro ignores it.
57653         Based on a patch by Eric Blake <ebb9@byu.net>.
57654
57655 2008-06-17  Bruno Haible  <bruno@clisp.org>
57656
57657         * modules/tls (License): Change to LGPLv2+.
57658         Reported by Eric Blake.
57659
57660 2008-06-17  Eric Blake  <ebb9@byu.net>
57661
57662         Simplify c-stack prerequisites.
57663         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
57664         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
57665         no longer requires <ucontext.h> to exist.  Optimize setrlimit
57666         check.
57667         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
57668         <sys/resource.h>.
57669
57670         Move c-stack test into testsuite.
57671         * modules/c-stack-tests: New file.
57672         * lib/c-stack.c [DEBUG]: Move test program...
57673         * tests/test-c-stack.c: ...into this new file.  Skip rather than
57674         fail test if sigaltstack is lacking.
57675         * tests/test-c-stack.sh: New driver file.
57676
57677 2008-06-16  Eric Blake  <ebb9@byu.net>
57678
57679         Use raise module consistently.
57680         * modules/fatal-signal (Depends-on): Add raise.
57681         * modules/sigprocmask (Depends-on): Likewise.
57682         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
57683         * lib/sigprocmask.c (sigprocmask): Likewise.
57684         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
57685         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
57686
57687         Fix compliance bug in sigpending.
57688         * lib/sigprocmask.c (sigpending): Return pending array via
57689         parameter, not return value.
57690
57691 2008-06-14  Eric Blake  <ebb9@byu.net>
57692
57693         Improve obstack-printf test code.
57694         * tests/test-obstack-printf.c (test_function): Fix comment, and
57695         simplify usage of obstack_* in macros.  Add a test for coverage.
57696         Reported by Bruno Haible.
57697
57698 2008-06-14  Bruno Haible  <bruno@clisp.org>
57699
57700         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
57701         array size as a constant, not as a const variable.
57702         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
57703         AC_USE_SYSTEM_EXTENSIONS.
57704         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
57705         Test whether the obstack_printf function actually exists.
57706         * modules/obstack-printf (Depends-on): Add extensions.
57707         (Include): Remove obstack.h.
57708         * modules/obstack-printf-posix (Depends-on): Add extensions.
57709         (Include): Remove obstack.h.
57710
57711 2008-06-13  Eric Blake  <ebb9@byu.net>
57712
57713         Add obstack-printf and obstack-printf-posix modules.
57714         * modules/obstack-printf: New file.
57715         * modules/obstack-printf-posix: Likewise.
57716         * MODULES.html.sh (Misc): Mention them.
57717         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
57718         Likewise.
57719         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
57720         Likewise.
57721         * modules/stdio (Makefile.am): Accomodate new modules.
57722         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
57723         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
57724         Declare.
57725         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
57726         functions.
57727         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
57728         (gl_REPLACE_OBSTACK_PRINTF): New macros
57729         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
57730         * tests/test-obstack-printf.c: New file.
57731         * modules/obstack-printf-tests: Likewise.
57732         * modules/obstack-printf-posix-tests: Likewise.
57733
57734 2008-06-11  Bruno Haible  <bruno@clisp.org>
57735
57736         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
57737         * lib/open.c: Include errno.h.
57738         (open): Fail when attempting to write to a file that has a trailing
57739         slash.
57740         * tests/test-open.c (main): Test against trailing slash bug.
57741         * doc/posix-functions/open.texi: Mention the trailing slash bug.
57742
57743 2008-06-10  Bruno Haible  <bruno@clisp.org>
57744
57745         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
57746         for $? to work inside the trap command, with various /bin/sh-s.
57747         * tests/test-vc-list-files-cvs.sh: Likewise.
57748
57749 2008-06-10  Bruno Haible  <bruno@clisp.org>
57750
57751         * lib/acl-internal.h: Don't include gettext.h here.
57752         * lib/set-mode-acl.c: Include gettext.h here.
57753         * lib/copy-acl.c: Likewise.
57754
57755 2008-06-10  Bruno Haible  <bruno@clisp.org>
57756
57757         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
57758         * lib/wait-process.c (wait_subprocess): Likewise.
57759         * lib/execute.h (execute): Add termsigp argument.
57760         * lib/execute.c (execute): Likewise.
57761         * lib/csharpcomp.c (compile_csharp_using_pnet,
57762         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
57763         * lib/csharpexec.c (execute_csharp_using_pnet,
57764         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
57765         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
57766         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
57767         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
57768         is_jikes_present): Update.
57769         * lib/javaexec.c (execute_java_class): Update.
57770         * lib/javaversion.c (execute_and_read_line): Update.
57771         * NEWS: Document the changes.
57772         Reported by Eric Blake.
57773
57774 2008-06-10  Eric Blake  <ebb9@byu.net>
57775
57776         Add missing include.
57777         * tests/test-strstr.c (includes): Add <signal.h>.
57778         * tests/test-strcasestr.c (includes): Likewise.
57779         * tests/test-memmem.c (includes): Likewise.
57780
57781 2008-06-10  Bruno Haible  <bruno@clisp.org>
57782
57783         * lib/wait-process.c (wait_subprocess): Add an assertion.
57784
57785 2008-06-10  Bruno Haible  <bruno@clisp.org>
57786
57787         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
57788
57789 2008-06-10  Bruno Haible  <bruno@clisp.org>
57790
57791         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
57792         using alarm().
57793         * tests/test-strcasestr.c (main): Likewise.
57794         * tests/test-strstr.c (main): Likewise.
57795
57796 2008-06-09  Bruno Haible  <bruno@clisp.org>
57797
57798         Work around the Solaris 10 ACE ACLs ABI change.
57799         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
57800         declare if ACL_NO_TRIVIAL is present.
57801         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
57802         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
57803         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
57804         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
57805         define if ACL_NO_TRIVIAL is present.
57806         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
57807         and use the current ABI.
57808         (file_has_acl): Use same #if condition as elsewhere.
57809         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
57810         in use, and use the current ABI.
57811         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
57812         Reported by Jim Meyering.
57813
57814 2008-06-09  Eric Blake  <ebb9@byu.net>
57815
57816         Work around environments that (stupidly) ignore SIGALRM.
57817         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
57818         before using alarm().
57819         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
57820         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
57821         Reported by Ian Beckwith <ianb@erislabs.net>.
57822
57823         Produce autobuild blurb earlier in log.
57824         * modules/autobuild (configure.ac-early): Move AB_INIT here.
57825
57826 2008-06-09  Jim Meyering  <meyering@redhat.com>
57827         and OndÅ™ej Vašík  <ovasik@redhat.com>
57828
57829         utimens.c: correct kernel bug work-around
57830         OndÅ™ej Vašík found that the invalid return value of 280 indicates
57831         failure, not success, and the kernel bug we're trying to work
57832         around affects not just the utimensat call, but also the fallback
57833         futimens call.
57834         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
57835         not success.
57836         [HAVE_FUTIMENS]: Use the same work-around, here.
57837
57838 2008-06-09  Jim Meyering  <meyering@redhat.com>
57839
57840         add more guards around definition of ACE_-related code
57841         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
57842         ALLOW and ACE_OWNER are also defined.
57843
57844 2008-06-08  Bruno Haible  <bruno@clisp.org>
57845
57846         * lib/acl-internal.h: Add me as co-author.
57847         * lib/file-has-acl.c: Likewise.
57848         * lib/set-mode-acl.c: Likewise.
57849         * lib/copy-acl.c: Likewise.
57850
57851 2008-06-08  Bruno Haible  <bruno@clisp.org>
57852
57853         Add support for AIX ACLs.
57854         * lib/acl-internal.h (acl_nontrivial): New declaration.
57855         * lib/file-has-acl.c (acl_nontrivial): New function.
57856         (file_has_acl): Add implementation using AIX 4 ACL API.
57857         * lib/set-mode-acl.c (qset_acl): Likewise.
57858         * lib/copy-acl.c (qcopy_acl): Likewise.
57859
57860 2008-06-08  Bruno Haible  <bruno@clisp.org>
57861
57862         Add support for HP-UX ACLs.
57863         * lib/acl-internal.h (acl_nontrivial): New declaration.
57864         * lib/file-has-acl.c (acl_nontrivial): New function.
57865         (file_has_acl): Add implementation using HP-UX 11 ACL API.
57866         * lib/set-mode-acl.c (qset_acl): Likewise.
57867         * lib/copy-acl.c (qcopy_acl): Likewise.
57868
57869 2008-06-08  Bruno Haible  <bruno@clisp.org>
57870
57871         Add support for Cygwin ACLs.
57872         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
57873         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
57874         the chmod_or_fchmod call.
57875         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
57876
57877 2008-06-08  Bruno Haible  <bruno@clisp.org>
57878
57879         Fix bug with setuid modes in Solaris 10+ code.
57880         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
57881         succeeded, when the mode contains some special bits.
57882
57883 2008-06-08  Bruno Haible  <bruno@clisp.org>
57884
57885         Add support for Solaris 7..10 ACLs.
57886         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
57887         declarations.
57888         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
57889         functions.
57890         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
57891         * lib/set-mode-acl.c (qset_acl): Likewise.
57892         * lib/copy-acl.c (qcopy_acl): Likewise.
57893
57894 2008-06-08  Bruno Haible  <bruno@clisp.org>
57895
57896         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
57897         declaration.
57898         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
57899         (acl_access_nontrivial): Remove MacOS X case.
57900         (file_has_acl): Use acl_extended_nontrivial.
57901         * lib/copy-acl.c (qcopy_acl): Likewise.
57902
57903 2008-06-08  Bruno Haible  <bruno@clisp.org>
57904
57905         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
57906
57907 2008-06-08  Jim Meyering  <meyering@redhat.com>
57908
57909         * modules/acl (Maintainer): Add Bruno Haible.
57910
57911 2008-06-07  Bruno Haible  <bruno@clisp.org>
57912
57913         Improve support for Tru64 ACLs.
57914         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
57915         ACL on OSF/1.
57916
57917 2008-06-07  Bruno Haible  <bruno@clisp.org>
57918
57919         Add support for MacOS X ACLs.
57920         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
57921         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
57922         * lib/set-mode-acl.c (qset_acl): Likewise.
57923         * lib/copy-acl.c (qcopy_acl): Likewise.
57924
57925 2008-06-07  Bruno Haible  <bruno@clisp.org>
57926
57927         Fix memory leak introduced on 2008-05-22.
57928         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
57929         use.
57930
57931 2008-06-07  Bruno Haible  <bruno@clisp.org>
57932
57933         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
57934         to construct an empty ACL.
57935
57936 2008-06-07  Bruno Haible  <bruno@clisp.org>
57937
57938         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
57939         precisely.
57940         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
57941
57942 2008-06-07  Bruno Haible  <bruno@clisp.org>
57943
57944         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
57945         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
57946
57947 2008-06-07  Bruno Haible  <bruno@clisp.org>
57948
57949         * doc/posix-functions/_setjmp.texi: Explain the use of this function
57950         regardless of POSIX.
57951         * doc/posix-functions/_longjmp.texi: Likewise.
57952         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
57953         SystemV platform in this case.
57954
57955 2008-06-06  Eric Blake  <ebb9@byu.net>
57956
57957         Document abort() bugs.
57958         * doc/posix-functions/abort.texi (abort): Mention anomalies.
57959
57960         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
57961         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
57962         sigsetjmp.
57963         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
57964         siglongjmp, but only as a macro.
57965         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
57966         is obsolete.
57967         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
57968
57969         Tweak documentation to cover cygwin argz bugs.
57970         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
57971         argz bug fix; no code change needed since no cygwin releases
57972         occurred between the last fix and the bug being tested.
57973         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
57974         module and recently fixed cygwin bugs.
57975         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
57976         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
57977         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
57978         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
57979         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
57980         Likewise.
57981         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
57982         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
57983         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
57984         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
57985         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
57986         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
57987         Likewise.
57988
57989         Avoid gcc warning on cygwin.
57990         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
57991         !ACL_NO_TRIVIAL]: Avoid unused variable.
57992
57993 2008-06-05  Eric Blake  <ebb9@byu.net>
57994
57995         Be tolerant of UNKNOWN version in gnulib-tool test dir.
57996         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
57997         git-version-gen fails to come up with a version.
57998         Reported by Simon Josefsson.
57999
58000 2008-06-05  Jim Meyering  <meyering@redhat.com>
58001             Paul Eggert  <eggert@cs.ucla.edu>
58002
58003         utimens.c: work around a probable Linux kernel bug
58004         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
58005         appears to be a kernel bug that causes utimensat to return 280
58006         instead of 0, indicating success.
58007
58008 2008-06-04  Bruno Haible  <bruno@clisp.org>
58009
58010         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
58011         2008-06-01 commit.
58012
58013 2008-06-04  Bruno Haible  <bruno@clisp.org>
58014
58015         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
58016         * lib/file-has-acl.c (acl_access_nontrivial): New function.
58017         (file_has_acl): Use it. Save errno afterwards.
58018         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
58019
58020 2008-06-03  Bruno Haible  <bruno@clisp.org>
58021
58022         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
58023         draft code. Simplify #ifs.
58024         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
58025         Put Solaris code after POSIX-draft code. Fix comments regarding
58026         Solaris 10, HP-UX. Mention Cygwin.
58027         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
58028
58029 2008-06-03  Eric Blake  <ebb9@byu.net>
58030
58031         Provide fallback for older kernels.
58032         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
58033         Provide runtime fallback if kernel lacks support.
58034         Reported by Mike Frysinger.
58035
58036 2008-06-02  Bruno Haible  <bruno@clisp.org>
58037
58038         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
58039         it exists.
58040
58041 2008-06-02  Bruno Haible  <bruno@clisp.org>
58042
58043         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
58044         * lib/copy-acl.c (qcopy_acl): Update comment.
58045
58046 2008-06-02  Bruno Haible  <bruno@clisp.org>
58047
58048         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
58049         like ACL APIs.
58050
58051 2008-06-02  Bruno Haible  <bruno@clisp.org>
58052
58053         * tests/test-file-has-acl.sh: Use different code for Cygwin.
58054         * tests/test-set-mode-acl.sh: Likewise.
58055         * tests/test-copy-acl.sh: Likewise.
58056         * tests/test-copy-file.sh: Likewise.
58057
58058 2008-06-02  Bruno Haible  <bruno@clisp.org>
58059
58060         * tests/test-file-has-acl.sh: Remove unused code.
58061
58062 2008-06-01  Bruno Haible  <bruno@clisp.org>
58063
58064         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
58065         (copy_acl): Just a wrapper around qcopy_acl that emits the error
58066         messages.
58067         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
58068
58069 2008-06-01  Bruno Haible  <bruno@clisp.org>
58070
58071         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
58072         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
58073         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
58074         APIs.
58075         * modules/acl-tests (configure.ac): Remove tests now contained in
58076         m4/acl.m4.
58077
58078 2008-06-02  Jim Meyering  <meyering@redhat.com>
58079
58080         announce-gen: use a better key-server host name
58081         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
58082         it may be more consistently reliable.  Suggested by Werner Koch
58083         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
58084
58085 2008-06-01  Bruno Haible  <bruno@clisp.org>
58086
58087         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
58088         Reported by Voroskoi Andras <voroskoi@gmail.com>.
58089
58090 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
58091
58092         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
58093
58094 2008-06-01  Bruno Haible  <bruno@clisp.org>
58095
58096         New ACL tests.
58097         * tests/test-file-has-acl.sh: New file.
58098         * tests/test-file-has-acl.c: New file.
58099         * tests/test-set-mode-acl.sh: New file.
58100         * tests/test-set-mode-acl.c: New file.
58101         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
58102         * tests/test-copy-acl.c: New file.
58103         * modules/acl-tests: New file, based on modules/copy-file-tests.
58104         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
58105         (Depends-on): Add acl-tests.
58106         (configure.ac): Remove checks.
58107         (Makefile.am): Don't create test-sameacls program here any more.
58108
58109 2008-06-01  Bruno Haible  <bruno@clisp.org>
58110
58111         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
58112         * tests/test-sameacls.c: Include progname.h.
58113         (main): Invoke set_program_name. Portability fixes for MacOS X,
58114         Solaris, HP-UX.
58115
58116 2008-06-01  Bruno Haible  <bruno@clisp.org>
58117
58118         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
58119         function.
58120         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
58121
58122 2008-06-01  Bruno Haible  <bruno@clisp.org>
58123
58124         * modules/rpmatch (Depends-on): Add strdup.
58125
58126 2008-06-01  Bruno Haible  <bruno@clisp.org>
58127
58128         * lib/pipe.c: Include unistd-safer.h.
58129         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
58130         * modules/pipe (Depends-on): Add unistd-safer.
58131
58132 2008-05-30  Simon Josefsson  <simon@josefsson.org>
58133
58134         * modules/autobuild (configure.ac): Call AB_INIT.
58135
58136 2008-05-30  Simon Josefsson  <simon@josefsson.org>
58137
58138         * tests/test-getaddrinfo.c: Don't print debug messages by default.
58139         Suggested by Bruno Haible <bruno@clisp.org>.
58140
58141 2008-05-30  Simon Josefsson  <simon@josefsson.org>
58142
58143         * tests/test-base64.c: Cast size_t to unsigned long when invoking
58144         printf.  Use %lu instead of %d.  Reported by Bruno Haible
58145         <bruno@clisp.org>.
58146
58147 2008-05-29  Eric Blake  <ebb9@byu.net>
58148
58149         Prefer new POSIX 200x interfaces over futimesat.
58150         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
58151         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
58152         when available.
58153         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
58154
58155 2008-05-28  Bruno Haible  <bruno@clisp.org>
58156
58157         * modules/stpcpy (License): Change to LGPLv2+.
58158         Requested by David Lutterkort <dlutter@redhat.com>.
58159
58160 2008-05-27  Bruno Haible  <bruno@clisp.org>
58161
58162         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
58163         current mingw.
58164         Reported by Jose E. Marchesi <jemarch@gnu.org>.
58165
58166 2008-05-27  Bruno Haible  <bruno@clisp.org>
58167
58168         * modules/iconv_open (Link): New section, from module 'iconv'.
58169         * modules/striconv (Link): Likewise.
58170         * modules/striconveh (Link): Likewise.
58171         * modules/xstriconv (Link): Likewise.
58172         * modules/unicodeio (Link): Likewise.
58173         * modules/propername (Link): Likewise.
58174         Reported by Jim Meyering.
58175
58176 2008-05-26  Jim Meyering  <meyering@redhat.com>
58177
58178         sha256: do not artificially restrict buffer length to be < 2^32
58179         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
58180         uint32_t to size_t.
58181         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
58182         to match.
58183
58184         avoid unaligned access errors, e.g., on sparc
58185         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
58186         direct access through a possibly-unaligned uint64* pointer.
58187         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
58188         direct access through a possibly-unaligned uint32* pointer.
58189         Prompted by this patch from Tom "spot" Callaway:
58190         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
58191
58192         sha512.c: fix typo in comment
58193         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
58194
58195 2008-05-25  Bruno Haible  <bruno@clisp.org>
58196
58197         * lib/set-mode-acl.c: Renamed from lib/acl.c.
58198         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
58199         (Makefile.am): Update lib_SOURCES.
58200
58201 2008-05-25  Bruno Haible  <bruno@clisp.org>
58202
58203         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
58204
58205 2008-05-25  Jim Meyering  <meyering@redhat.com>
58206
58207         useless-if-before-free: freed expr may have white-space differences
58208         * build-aux/useless-if-before-free: Recognize cases in which the
58209         freed expression differs from the tested one in embedded white
58210         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
58211         $1 was used, so we can't make any regexp shy.  Improved tests now
58212         detect this.
58213
58214         useless-if-before-free: accept white space in the expression.
58215         * build-aux/useless-if-before-free: For now, any white space
58216         in the expression must be identical in the free argument.
58217
58218         useless-if-before-free: efficiency tweak
58219         * build-aux/useless-if-before-free: Make the expression-matching
58220         regexp "shy".
58221         Make the *outer* regexp shy, not the expr-matching one.
58222
58223         update code-in-comment to accept cast of free arg
58224         * build-aux/useless-if-before-free: Update regexp.
58225
58226 2008-05-25  Bruno Haible  <bruno@clisp.org>
58227
58228         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
58229         * modules/copy-file-tests (Files, Makefile.am): Update.
58230         * tests/test-copy-file.c (func_test_copy): Update.
58231
58232 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
58233
58234         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
58235
58236 2008-05-23  Bruno Haible  <bruno@clisp.org>
58237
58238         Improve support for ACLs on OSF/1.
58239         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
58240         Remove fallback for unknown flavors of ACLs.
58241
58242 2008-05-22  Bruno Haible  <bruno@clisp.org>
58243
58244         Add support for ACLs on OSF/1.
58245         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
58246         replacements.
58247         (acl_free_text): New macro fallback.
58248         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
58249         acl_free.
58250         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
58251         acl_free_text function. Require AC_C_INLINE.
58252
58253 2008-05-22  Bruno Haible  <bruno@clisp.org>
58254
58255         Make copy_acl work on MacOS X 10.5.
58256         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
58257         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
58258         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
58259         If MODE_INSIDE_ACL, don't assume that every system has the same text
58260         representation for ACLs as FreeBSD.
58261         * lib/copy-acl.c (copy_acl): Add support for platforms with
58262         !MODE_INSIDE_ACL.
58263         * lib/file-has-acl.c (file_has_acl): Likewise.
58264         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
58265         FreeBSD, MacOS X, or IRIX, respectively.
58266
58267 2008-05-22  Bruno Haible  <bruno@clisp.org>
58268
58269         * lib/acl.h: Don't include <sys/acl.h>.
58270         (GETACLCNT): Move fallback to lib/acl-internal.h.
58271         * lib/acl-internal.h: Include <sys/acl.h> here.
58272         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
58273
58274 2008-05-22  Bruno Haible  <bruno@clisp.org>
58275
58276         Split off copy_acl function to separate file.
58277         * lib/copy-acl.c: New file, extracted from lib/acl.c.
58278         * lib/acl.c (copy_acl): Moved function to separate file.
58279         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
58280         * modules/acl (Files): Add lib/copy-acl.c.
58281         (Makefiles.am): Augment lib_SOURCES.
58282
58283 2008-05-22  Bruno Haible  <bruno@clisp.org>
58284
58285         * modules/copy-file-tests: New file.
58286         * tests/test-copy-file.sh: New file.
58287         * tests/test-copy-file.c: New file.
58288         * tests/test-copy-file-sameacls.c: New file.
58289
58290 2008-05-22  Eric Blake  <ebb9@byu.net>
58291
58292         Avoid gcc warning.
58293         * tests/test-memcmp.c (main): Pass NULL indirectly.
58294
58295 2008-05-21  Bruno Haible  <bruno@clisp.org>
58296
58297         Add reference doc about ACLs.
58298         * doc/acl-resources.txt: New file.
58299         * doc/acl-cygwin.txt: New file.
58300
58301 2008-05-21  Bruno Haible  <bruno@clisp.org>
58302
58303         Avoid one more warning from gcc.
58304         * lib/vasnprintf.c (IF_LINT): Update comments.
58305         (VASNPRINTF): Use it also for the 'prefix' array initializer.
58306
58307 2008-05-21  Jim Meyering  <meyering@redhat.com>
58308
58309         avoid a warning from gcc
58310         * lib/vasnprintf.c (IF_LINT): Define.
58311         (scale10_round_decimal_long_double):
58312         Use it to avoid a "may be used uninitialized" warning.
58313         (scale10_round_decimal_double): Likewise.
58314
58315 2008-05-21  Simon Josefsson  <simon@josefsson.org>
58316
58317         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
58318         declared.
58319
58320 2008-05-20  Bruno Haible  <bruno@clisp.org>
58321
58322         * tests/test-memcmp.c (main): Test also the sign of the result. Test
58323         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
58324
58325 2008-05-20  Simon Josefsson  <simon@josefsson.org>
58326
58327         * modules/memcmp-tests: New file.
58328         * tests/test-memcmp.c: New file.
58329
58330 2008-05-19  Bruno Haible  <bruno@clisp.org>
58331
58332         * modules/propername (Notice, configure.ac): Put quoted "..." into
58333         --keyword option.
58334         * lib/propername.h: Update comments accordingly.
58335         Reported by Eric Blake.
58336
58337 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
58338
58339         * modules/getpass-gnu (Depends-on): Add fseeko.
58340
58341 2008-05-19  Simon Josefsson  <simon@josefsson.org>
58342
58343         * modules/base64-tests: New file.
58344
58345 2008-05-19  Bo Borgerson <gigabo@gmail.com>
58346
58347         * lib/base64.c (base64_decode_ctx): If a decode context structure
58348         was passed in use it to ignore newlines.  If a context structure
58349         was _not_ passed in, continue to treat newlines as garbage (this
58350         is the historical behavior).  Formerly base64_decode.
58351         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
58352         takes a decode context structure.
58353         * lib/base64.h (base64_decode): Macro for four-argument calls.
58354         (base64_decode_alloc): Likewise.
58355         * lib/base64.c (base64_decode_ctx): If a decode context structure
58356         was passed in use it to ignore newlines.  If a context structure
58357         was _not_ passed in, continue to treat newlines as garbage (this
58358         is the historical behavior).  Formerly base64_decode.
58359         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
58360         takes a decode context structure.
58361         * lib/base64.h (base64_decode): Macro for four-argument calls.
58362         (base64_decode_alloc): Likewise.
58363
58364 2008-05-19  Jim Meyering  <meyering@redhat.com>
58365
58366         avoid a warning from gcc
58367         * lib/trim.c (IF_LINT): Define.
58368         (trim2): Use it to avoid a "may be used uninitialized" warning.
58369
58370         Fix doc typo.
58371         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
58372
58373 2008-05-19  Bruno Haible  <bruno@clisp.org>
58374
58375         * doc/glibc-functions/getpass.texi: Document limits of other
58376         implementations.
58377
58378 2008-05-19  Simon Josefsson  <simon@josefsson.org>
58379             Bruno Haible <bruno@clisp.org>
58380
58381         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
58382
58383 2008-05-18  Bruno Haible  <bruno@clisp.org>
58384
58385         * modules/propername: New file, from GNU gettext.
58386         * lib/propername.h: New file, from GNU gettext.
58387         * lib/propername.c: New file, from GNU gettext.
58388         * MODULES.html.sh (Internationalization functions): Add propername.
58389
58390 2008-05-16  Jim Meyering  <meyering@redhat.com>
58391             Bruno Haible  <bruno@clisp.org>
58392
58393         Avoid some warnings from "gcc -Wshadow".
58394         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
58395
58396 2008-05-15  Eric Blake  <ebb9@byu.net>
58397
58398         Extend previous patch to cygwin 1.7.0.
58399         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
58400         fast implementation in cygwin >= 1.7.0.
58401         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
58402         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
58403
58404 2008-05-15  Bruno Haible  <bruno@clisp.org>
58405
58406         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
58407         implementation in glibc >= 2.9.
58408         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
58409         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
58410
58411 2008-05-15  Bruno Haible  <bruno@clisp.org>
58412
58413         * MODULES.html.sh (Internationalization functions): Remove linebreak.
58414         (Unicode string functions): Add unilbrk/*.
58415         Reported by Karl Berry.
58416
58417 2008-05-15  Eric Blake  <ebb9@byu.net>
58418
58419         Fix violation of <stdbool.h> replacement in regex.
58420         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
58421         * lib/regexec.c (re_search_internal): Likewise.
58422         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
58423
58424 2008-05-15  Jim Meyering  <meyering@redhat.com>
58425
58426         avoid distracting test output when git or cvs is not found
58427         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
58428         * tests/test-vc-list-files-git.sh: Likewise.
58429
58430 2008-05-15  Eric Blake  <ebb9@byu.net>
58431
58432         Glibc finally accepted the memmem speedup code, bugzilla #5514.
58433         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
58434         glibc version.
58435         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
58436         * doc/posix-functions/strstr.texi (strstr): Likewise.
58437         * lib/str-two-way.h (MAX): Sychronize with glibc.
58438
58439 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
58440
58441         * lib/regcomp.c (optimize_utf8): Add a note on why we test
58442         opr.ctx_type.
58443         (calc_first): Initialize constraint field.
58444         (duplicate_node_closure): Use it instead of special casing ANCHORS.
58445         Fix grammar.
58446         (duplicate_node): Merge constraint field for all node types.
58447         (calc_eclosure_iter): Look at constraint field for all node types.
58448         * lib/regex_internal.c (create_cd_newstate): Don't look at
58449         opr.ctx_type.
58450
58451 2008-05-14  Bruno Haible  <bruno@clisp.org>
58452
58453         Help GCC to do better code generation.
58454         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
58455         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
58456         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
58457         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
58458         Declare with attribute 'malloc' if supported.
58459
58460 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
58461
58462         use "echo STR|wc -c" rather than unportable "expr length STR"
58463         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
58464         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
58465
58466 2008-05-14  Jim Meyering  <meyering@redhat.com>
58467
58468         use dd ibs=$n count=1 ... rather than less-portable head -c$n
58469         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
58470         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
58471         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
58472         via Collin Lasse.
58473
58474 2008-05-14  Eric Blake  <ebb9@byu.net>
58475
58476         Avoid quadratic growth in gl_LIBSOURCES.
58477         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
58478         Suggested by Bruno Haible.
58479
58480         Test xmemdup0.
58481         * modules/xmemdup0-tests: New file.
58482         * tests/test-xmemdup0.c: Likewise.
58483
58484 2008-05-13  Eric Blake  <ebb9@byu.net>
58485
58486         Split xmemdup0 into its own module.
58487         * modules/xmemdup0: New file.
58488         * lib/xmemdup0.h: Likewise.
58489         * lib/xmemdup0.c: Likewise.
58490         * MODULES.html.sh (Memory management functions): Add xmemdup0.
58491         * lib/xalloc.h (xmemdup0): Remove.
58492         * lib/xmalloc.c (xmemdup0): Likewise.
58493
58494 2008-05-13  Eric Blake  <ebb9@byu.net>
58495             Bruno Haible  <bruno@clisp.org>
58496
58497         Reduce number of forks required during autoconf.
58498         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
58499         and gl_LIBSOURCES_DIR.
58500         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
58501         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
58502         m4_syscmd per file.
58503         <m4_foreach_w>: Move...
58504         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
58505
58506 2008-05-13  Eric Blake  <ebb9@byu.net>
58507
58508         * gnulib-tool: Fix various comment typos.
58509
58510 2008-05-12  Bruno Haible  <bruno@clisp.org>
58511
58512         Tailor the linebreaking algorithm.
58513         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
58514
58515 2008-05-12  Bruno Haible  <bruno@clisp.org>
58516
58517         Update to Unicode 5.0.0.
58518         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
58519         LBP_JV, LBP_JT. Redistribute values.
58520         (unilbrk_table): Change size.
58521         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
58522         Unicode TR#14 rev. 22.
58523         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
58524         LBP_JV, LBP_JT. Redistribute values.
58525         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
58526         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
58527         Update.
58528         * lib/unilbrk/lbrkprop1.h: Regenerated.
58529         * lib/unilbrk/lbrkprop2.h: Regenerated.
58530         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
58531         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
58532         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
58533         Likewise.
58534         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
58535         Likewise.
58536         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
58537         result.
58538         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
58539         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
58540         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
58541         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
58542         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
58543         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
58544
58545 2008-05-11  Bruno Haible  <bruno@clisp.org>
58546
58547         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
58548
58549 2008-05-11  Bruno Haible  <bruno@clisp.org>
58550
58551         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
58552         * modules/unilbrk/gen-lbrk: New file.
58553
58554 2008-05-11  Bruno Haible  <bruno@clisp.org>
58555
58556         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
58557         * m4/sha512.m4 (gl_SHA512): Likewise.
58558
58559 2008-05-11  Jim Meyering  <meyering@redhat.com>
58560
58561         New modules: crypto/sha256, crypto/sha512 (from coreutils)
58562         * modules/crypto/sha256: New file.
58563         * modules/crypto/sha512: Likewise.
58564         * lib/sha256.c: Likewise.
58565         * lib/sha256.h: Likewise.
58566         * lib/sha512.c: Likewise.
58567         * lib/sha512.h: Likewise.
58568         * lib/u64.h: Likewise.
58569         * m4/sha256.m4: Likewise.
58570         * m4/sha512.m4: Likewise.
58571         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
58572
58573 2008-05-10  Bruno Haible  <bruno@clisp.org>
58574
58575         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
58576         (Input/Output <stdio.h>): Add xprintf.
58577         (Signal handling <signal.h>): Add strsignal.
58578         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
58579         (Core language properties): Add func.
58580         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
58581         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
58582         strings.
58583         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
58584         (Input/output): New section.
58585         (File system functions): Add openat-die, stat-macros.
58586         (Networking functions): Add sockets.
58587         (Unicode string functions): Add unictype/*.
58588         (Support for building libraries and executables): Add gperf.
58589         (Support for building documentation): Add agpl-3.0.
58590         (Misc): Add nocrash.
58591
58592 2008-05-10  Bruno Haible  <bruno@clisp.org>
58593
58594         * modules/unictype/gen-ctype: New file.
58595
58596 2008-05-10  Jim Meyering  <meyering@redhat.com>
58597
58598         Make chdir-safer.c more efficient on a system with no symlinks.
58599         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
58600         also if ELOOP is zero.  Suggested by Bruno Haible.
58601
58602         Make chdir-safer.c slightly safer.
58603         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
58604         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
58605
58606         Avoid compile failure on systems without ELOOP (like mingw).
58607         * lib/chdir-safer.c (ELOOP): Define if not already defined.
58608         Reported by Bruno Haible.
58609
58610 2008-05-10  Bruno Haible  <bruno@clisp.org>
58611
58612         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
58613         (is_utf8_encoding): Use a case-insensitive comparison.
58614         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
58615         streq.
58616
58617 2008-05-10  Bruno Haible  <bruno@clisp.org>
58618
58619         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
58620         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
58621         * lib/unilbrk/ulc-common.h (iconv_string_length,
58622         iconv_string_keeping_offsets): Remove declarations.
58623         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
58624         Don't include <iconv.h>, streq.h, xsize.h.
58625         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
58626         conversion.
58627         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
58628         <iconv.h>, streq.h, xsize.h.
58629         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
58630         conversion.
58631         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
58632         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
58633         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
58634         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
58635
58636 2008-05-10  Bruno Haible  <bruno@clisp.org>
58637
58638         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
58639         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
58640
58641         * modules/unilbrk/u32-width-linebreaks-tests: New file.
58642         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
58643
58644         * modules/unilbrk/u16-width-linebreaks-tests: New file.
58645         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
58646
58647         * modules/unilbrk/u8-width-linebreaks-tests: New file.
58648         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
58649
58650         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
58651         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
58652
58653         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
58654         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
58655
58656         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
58657         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
58658
58659         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
58660         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
58661
58662 2008-05-10  Bruno Haible  <bruno@clisp.org>
58663
58664         Split up 'linebreak' module.
58665         * lib/unilbrk.h: New file, based on lib/linebreak.h.
58666         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
58667         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
58668         modifications.
58669         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
58670         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
58671         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
58672         lib/linebreak.c.
58673         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
58674         lib/linebreak.c.
58675         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
58676         lib/linebreak.c.
58677         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
58678         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
58679         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
58680         lib/linebreak.c.
58681         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
58682         lib/linebreak.c.
58683         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
58684         lib/linebreak.c.
58685         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
58686         lib/linebreak.c.
58687         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
58688         lib/linebreak.c.
58689         * modules/unilbrk/base: New file.
58690         * modules/unilbrk/tables: New file.
58691         * modules/unilbrk/u8-possible-linebreaks: New file.
58692         * modules/unilbrk/u16-possible-linebreaks: New file.
58693         * modules/unilbrk/u32-possible-linebreaks: New file.
58694         * modules/unilbrk/ulc-common: New file.
58695         * modules/unilbrk/ulc-possible-linebreaks: New file.
58696         * modules/unilbrk/u8-width-linebreaks: New file.
58697         * modules/unilbrk/u16-width-linebreaks: New file.
58698         * modules/unilbrk/u32-width-linebreaks: New file.
58699         * modules/unilbrk/ulc-width-linebreaks: New file.
58700         * lib/linebreak.h: Remove file.
58701         * lib/linebreak.c: Remove file.
58702         * m4/linebreak.m4: Remove file.
58703         * modules/linebreak: Remove file.
58704         * NEWS: Mention the changes.
58705
58706 2008-05-09  Eric Blake  <ebb9@byu.net>
58707
58708         Add xmemdup0.
58709         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
58710         implementation.
58711         * lib/xmalloc.c (xmemdup0): New C implementation.
58712
58713 2008-05-08  Bruno Haible  <bruno@clisp.org>
58714
58715         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
58716
58717 2008-05-07  Eric Blake  <ebb9@byu.net>
58718
58719         Support cross-compilation of <wctype.h>.
58720         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
58721         AC_CACHE_CHECK.
58722
58723 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
58724
58725         * build-aux/vc-list-files: Add support for bzr.
58726
58727 2008-05-03  Jim Meyering  <meyering@redhat.com>
58728
58729         avoid failed assertion with tight malloc
58730         * tests/test-getndelim2.c: Correct an off-by-one assertion.
58731
58732 2008-05-03  Simon Josefsson  <simon@josefsson.org>
58733
58734         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
58735         are needed from arpa/inet.h.
58736         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
58737         Reported by Bruno Haible.
58738
58739 2008-05-02  Jim Meyering  <meyering@redhat.com>
58740
58741         avoid compilation error on FreeBSD 6
58742         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
58743
58744 2008-05-01  Jim Meyering  <meyering@redhat.com>
58745
58746         useless-if-before-free: correct --help's exit status description
58747         * build-aux/useless-if-before-free (usage): Like grep, exit 0
58748         for one or more matches, etc.  Reported by Bruno Haible.
58749
58750         vc-list-files: make the stand-alone gnulib test work
58751         * modules/vc-list-files-tests (configure.ac):
58752         Define and AC_SUBST abs_aux_dir.
58753         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
58754         $(abs_top_srcdir) to each script and having each of them
58755         duplicate the work of setting PATH, set PATH here, using
58756         the new variable, abs_aux_dir instead.
58757         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
58758         * tests/test-vc-list-files-git.sh: Likewise.
58759         Reported by Bruno Haible.
58760
58761 2008-05-01  Bruno Haible  <bruno@clisp.org>
58762
58763         * lib/getndelim2.c (getndelim2): Fix newsize computation during
58764         reallocation. Rename 'done' to 'found_delimiter'.
58765
58766 2008-05-01  Jim Meyering  <meyering@redhat.com>
58767
58768         vc-list-files: accommodate /bin/sh like the one from Solaris 10
58769         * build-aux/vc-list-files: Use `...`, not $(...).
58770
58771 2008-04-30  Jim Meyering  <meyering@redhat.com>
58772
58773         add tests for vc-list-files
58774         * modules/vc-list-files-tests: New module.
58775         * tests/test-vc-list-files-cvs.sh: New file.
58776         * tests/test-vc-list-files-git.sh: New file.
58777
58778         avoid a warning from gcc
58779         * lib/getndelim2.c (IF_LINT): Define.
58780         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
58781
58782         vc-list-files: work properly with build-aux/cvsu, too
58783         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
58784         to all cvs-based clauses.
58785
58786         vc-list-files: work properly in the CVS+awk case, too
58787         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
58788
58789         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
58790         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
58791         take more than one file argument, so .  Add quotes, just in case $dir
58792         ever contains a shell meta-character.  Prompted by Soren Hansen in
58793         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
58794
58795 2008-04-29  Eric Blake  <ebb9@byu.net>
58796
58797         Optimize getndelim2 to use block operations when possible.
58798         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
58799         freadseek, and memchr2.
58800         * lib/getndelim2.c (getndelim2): Use them for block reads.
58801
58802 2008-04-29  Bruno Haible  <bruno@clisp.org>
58803
58804         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
58805         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
58806         * modules/inet_ntop (Depends-on): Add extensions.
58807         * modules/inet_pton (Depends-on): Likewise.
58808         Reported by Simon Josefsson.
58809
58810 2008-04-29  Jim Meyering  <meyering@redhat.com>
58811
58812         When the is more than one match in a block, match all of them.
58813         * build-aux/useless-if-before-free: Iterate through each block
58814         until there are no more matches.
58815
58816         Fix broken useless-if-before-free script.
58817         * build-aux/useless-if-before-free: Fix typo: missing "?" after
58818         the expression to match cast of argument to free-like function.
58819
58820 2008-04-29  Eric Blake  <ebb9@byu.net>
58821
58822         Use new header.
58823         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
58824
58825 2008-04-29  Jim Meyering  <meyering@redhat.com>
58826
58827         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
58828         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
58829         by gnulib to exist and to declare e.g., inet_ntop.
58830         Don't include "inet_ntop.h", now removed.
58831
58832         * m4/arpa_inet_h.m4: Remove trailing blanks.
58833
58834 2008-04-29  Eric Blake  <ebb9@byu.net>
58835
58836         Silence valgrind on safe reads beyond potential array bounds.
58837         * lib/rawmemchr.valgrind: New file.
58838         * lib/strchrnul.valgrind: Likewise.
58839         * modules/rawmemchr (Files): Distribute new file.
58840         * modules/strchrnul (Files): Likewise.
58841         Suggested by Bruno Haible.
58842
58843 2008-04-29  Bruno Haible  <bruno@clisp.org>
58844
58845         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
58846         (inet_ntop, inet_pton): Change portability warning's wording.
58847         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
58848         Invoke gl_CHECK_NEXT_HEADERS.
58849         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
58850         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
58851         set ARPA_INET_H.
58852         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
58853         * modules/arpa_inet (Description): No longer only for systems that
58854         lack it.
58855         (Depends-on): Add include_next.
58856         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
58857         HAVE_ARPA_INET_H.
58858
58859 2008-04-29  Jim Meyering  <meyering@redhat.com>
58860
58861         * modules/mkdir (License): Re-license as LGPLv2+.
58862
58863 2008-04-29  Bruno Haible  <bruno@clisp.org>
58864
58865         * modules/rawmemchr (Maintainer): Set to Eric.
58866         * modules/strchrnul (Maintainer): Likewise.
58867
58868 2008-04-29  Simon Josefsson  <simon@josefsson.org>
58869
58870         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
58871         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
58872
58873         * modules/arpa_inet (arpa/inet.h): Use them.
58874
58875 2008-04-28  Eric Blake  <ebb9@byu.net>
58876
58877         Test getndelim2.
58878         * modules/getndelim2-tests: New file.
58879         * tests/test-getndelim2.c: Likewise.
58880         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
58881         stream.
58882         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
58883
58884         * MODULES.html.sh: Document new module.
58885
58886 2008-04-20  Bruno Haible  <bruno@clisp.org>
58887
58888         * lib/c-stack.c (die): Use raise.
58889         * modules/c-stack (Depends-on): Add raise.
58890
58891 2008-04-28  Bruno Haible  <bruno@clisp.org>
58892
58893         Expect rpmatch to be declared.
58894         * lib/yesno.c (rpmatch): Remove declaration.
58895
58896         Declare rpmatch.
58897         * lib/stdlib.in.h (rpmatch): New declaration.
58898         * lib/rpmatch.c: Include <stdlib.h> first.
58899         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
58900         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
58901         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
58902         HAVE_RPMATCH.
58903         * modules/rpmatch (Depends-on): Add stdlib, extensions.
58904         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
58905         (Include): Set to <stdlib.h>.
58906         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
58907         HAVE_RPMATCH.
58908         * NEWS: Document the change.
58909
58910 2008-04-28  Bruno Haible  <bruno@clisp.org>
58911
58912         Change rpmatch to use nl_langinfo when appropriate.
58913         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
58914         (N_): New macro.
58915         (localized_pattern): New function/macro.
58916         (try): Remove match, nomatch arguments. Copy the pattern into safe
58917         memory before caching it.
58918         (rpmatch): Use localized_pattern. Add translator comments.
58919         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
58920         Suggested by Eric Blake.
58921         * modules/rpmatch (Depends-on): Add stdbool.
58922
58923 2008-04-28  Eric Blake  <ebb9@byu.net>
58924
58925         Add rawmemchr module, matching glibc.
58926         * modules/string (Makefile.am): New indicator.
58927         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
58928         * lib/string.in.h (rawmemchr): Declare when appropriate.
58929         * modules/rawmemchr: New file.
58930         * m4/rawmemchr.m4: Likewise.
58931         * lib/rawmemchr.c: Likewise.
58932         * modules/rawmemchr-tests: Likewise.
58933         * tests/test-rawmemchr.c: Likewise.
58934         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
58935         module.
58936         * modules/strchrnul (Depends-on): Add rawmemchr.
58937         * lib/strchrnul.c (strchrnul): Optimize a corner case.
58938
58939         Whitespace cleanup.
58940         * tests/test-strchrnul.c: Reindent.
58941         * lib/strchrnul.c: Likewise.
58942
58943         Optimize and test strchrnul.
58944         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
58945         * modules/strchrnul-tests: New file.
58946         * tests/test-strchrnul.c: Likewise.
58947
58948         Remove intprops dependency.
58949         * modules/memchr (Depends-on): Remove intprops.
58950         * modules/memrchr (Depends-on): Likewise.
58951         * modules/memchr2 (Depends-on): Likewise.
58952         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
58953         * lib/memrchr.c (__memrchr): Likewise.
58954         * lib/memrchr2.c (memchr2): Likewise.
58955         Reported by Simon Josefsson.
58956
58957 2008-04-28  Simon Josefsson  <simon@josefsson.org>
58958
58959         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
58960         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
58961
58962 2008-04-28  Simon Josefsson  <simon@josefsson.org>
58963
58964         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
58965
58966         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
58967
58968         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
58969
58970         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
58971         declarations.
58972         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
58973
58974         * m4/inet_pton.m4: Don't check for header files.
58975
58976         * m4/inet_ntop.m4: Don't check for header files.
58977
58978 2008-04-28  Simon Josefsson  <simon@josefsson.org>
58979
58980         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
58981         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
58982         trigger for cygwin).
58983         Reported by Bruno Haible  <bruno@clisp.org>.
58984
58985 2008-04-28  Bruno Haible  <bruno@clisp.org>
58986
58987         * doc/posix-functions/strdup.texi: Mention mingw problem.
58988
58989 2008-04-27  Bruno Haible  <bruno@clisp.org>
58990
58991         * modules/stat-time-tests (Depends-on): Add sleep.
58992         * tests/test-stat-time.c (force_unlink): New function.
58993         (cleanup): Use it.
58994         (test_mtime): Remove the ctime related tests.
58995         (test_ctime): New function, containing the ctime related tests.
58996         (main): Call test_ctime, except on native Windows platforms.
58997
58998 2008-04-27  Bruno Haible  <bruno@clisp.org>
58999
59000         * lib/rpmatch.c (rpmatch): Add some comments.
59001         Reported by James Youngman <jay@gnu.org>.
59002
59003 2008-04-27  Bruno Haible  <bruno@clisp.org>
59004
59005         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
59006         quiet NaNs.
59007
59008 2008-04-27  Bruno Haible  <bruno@clisp.org>
59009
59010         Make test-yesno.sh work on mingw.
59011         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
59012         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
59013         (main): Set stdin to binary mode.
59014         * modules/yesno-tests (Depends-on): Add binary-io.
59015
59016 2008-04-27  Bruno Haible  <bruno@clisp.org>
59017
59018         Fix 'isfinite' on x86, x86_64, ia64 platforms.
59019         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
59020         argument that lie outside the IEEE 854 domain.
59021         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
59022         (gl_ISFINITE): Use it.
59023         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
59024
59025 2008-04-27  Bruno Haible  <bruno@clisp.org>
59026
59027         Allow local renaming in config.h.
59028         * lib/memrchr.c (memrchr): Don't undefine outside libc.
59029
59030 2008-04-27  Bruno Haible  <bruno@clisp.org>
59031
59032         * lib/memchr.c (__memchr): Change type of 'i'.
59033         * lib/memchr2.c (memchr2): Likewise.
59034
59035 2008-04-26  Eric Blake  <ebb9@byu.net>
59036         and Bruno Haible  <bruno@clisp.org>
59037
59038         Optimize and test memrchr.
59039         * modules/memrchr (Depends-on): Add intprops.
59040         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
59041         * modules/memrchr-tests: New file.
59042         * tests/test-memrchr.c: New file.
59043
59044 2008-04-26  Bruno Haible  <bruno@clisp.org>
59045
59046         Add tentative support for DragonFly BSD.
59047         * lib/stdio-impl.h: Add macros for DragonFly BSD.
59048         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
59049         fp.
59050         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
59051         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
59052         * lib/fpurge.c (fpurge): Likewise.
59053         * lib/freadable.c (freaadable): Likewise.
59054         * lib/freadahead.c (freadahead): Likewise.
59055         * lib/freading.c (freading): Likewise.
59056         * lib/freadptr.c (freadptr): Likewise.
59057         * lib/freadseek.c (freadptrinc): Likewise.
59058         * lib/fseeko.c (fseeko): Likewise.
59059         * lib/fseterr.c (fseterr): Likewise.
59060         * lib/fwritable.c (fwritable): Likewise.
59061         * lib/fwriting.c (fwriting): Likewise.
59062
59063 2008-04-26  Bruno Haible  <bruno@clisp.org>
59064
59065         * lib/stdio-impl.h: New file.
59066         * lib/fbufmode.c: Include stdio-impl.h.
59067         (fbufmode): Use fp_, remove redundant #defines.
59068         * lib/fflush.c: Include stdio-impl.h.
59069         (clear_ungetc_buffer): Remove redundant #defines.
59070         * lib/fpurge.c: Include stdio-impl.h.
59071         (fpurge): Remove redundant #defines.
59072         * lib/freadable.c: Include stdio-impl.h.
59073         (freadable): Remove redundant #defines.
59074         * lib/freadahead.c: Include stdio-impl.h.
59075         (freadahead): Remove redundant #defines.
59076         * lib/freading.c: Include stdio-impl.h.
59077         (freading): Remove redundant #defines.
59078         * lib/freadptr.c: Include stdio-impl.h.
59079         (freadptr): Remove redundant #defines.
59080         * lib/freadseek.c: Include stdio-impl.h.
59081         (freadptrinc): Remove redundant #defines.
59082         * lib/fseeko.c: Include stdio-impl.h.
59083         (rpl_fseeko): Remove redundant #defines.
59084         * lib/fseterr.c: Include stdio-impl.h.
59085         (fseterr): Remove redundant #defines.
59086         * lib/fwritable.c: Include stdio-impl.h.
59087         (fwritable: Remove redundant #defines.
59088         * lib/fwriting.c: Include stdio-impl.h.
59089         (fwriting): Remove redundant #defines.
59090         * modules/fbufmode (Files): Add lib/stdio-impl.h.
59091         * modules/fflush (Files): Likewise.
59092         * modules/fpurge (Files): Likewise.
59093         * modules/freadable (Files): Likewise.
59094         * modules/freadahead (Files): Likewise.
59095         * modules/freading (Files): Likewise.
59096         * modules/freadptr (Files): Likewise.
59097         * modules/freadseek (Files): Likewise.
59098         * modules/fseeko (Files): Likewise.
59099         * modules/fseterr (Files): Likewise.
59100         * modules/fwritable (Files): Likewise.
59101         * modules/fwriting (Files): Likewise.
59102
59103 2008-04-26  Bruno Haible  <bruno@clisp.org>
59104
59105         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
59106         restore_seek_optimization, update_fpos_cache): New functions, extracted
59107         from rpl_fflush.
59108         (rpl_fflush): Use them.
59109         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
59110         (gl_REPLACE_FFLUSH): Use it.
59111
59112 2008-04-26  Bruno Haible  <bruno@clisp.org>
59113
59114         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
59115         on Solaris.
59116         * tests/test-xstrtoimax.sh: Likewise.
59117         * tests/test-xstrtoumax.sh: Likewise.
59118         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59119
59120 2008-04-26  Bruno Haible  <bruno@clisp.org>
59121
59122         * modules/memchr-tests: New file.
59123         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
59124
59125 2008-04-26  Eric Blake  <ebb9@byu.net>
59126             Bruno Haible  <bruno@clisp.org>
59127
59128         * lib/memchr.c: Include intprops.h.
59129         (__memchr): Optimize parallel detection of matching bytes. Rename local
59130         variables. Add explanatory comments.
59131
59132 2008-04-26  Bruno Haible  <bruno@clisp.org>
59133
59134         Fix module 'memchr', broken since 2000-10-28.
59135         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
59136
59137 2008-04-26  Bruno Haible  <bruno@clisp.org>
59138
59139         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
59140         comments.
59141
59142 2008-04-25  Eric Blake  <ebb9@byu.net>
59143
59144         Use native fstatat on cygwin 1.7.0.
59145         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
59146         first.
59147
59148 2008-04-23  Eric Blake  <ebb9@byu.net>
59149
59150         Improve memchr2 performance.
59151         * lib/memchr2.c (memchr2): Further optimize parallel detection of
59152         NUL bytes.
59153         * modules/memchr2 (Depends-on): Use intprops.h.
59154
59155 2008-04-23  Simon Josefsson  <simon@josefsson.org>
59156
59157         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
59158         an inline function instead of a CPP macro.  Patch by Ben Pfaff
59159         <blp@cs.stanford.edu>.
59160
59161 2008-04-23  Simon Josefsson  <simon@josefsson.org>
59162
59163         * lib/arpa_inet.in.h: New file.
59164
59165         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
59166         (Makefile.am): Sed in substitute header file.
59167
59168         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
59169         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
59170
59171         * modules/inet_ntop (configure.ac): Use
59172         gl_ARPA_INET_MODULE_INDICATOR.
59173
59174         * modules/inet_pton (configure.ac): Use
59175         gl_ARPA_INET_MODULE_INDICATOR.
59176
59177 2008-04-22  Jim Meyering  <meyering@redhat.com>
59178
59179         * modules/verify (License): Re-license as LGPLv2+.
59180
59181 2008-04-22  Simon Josefsson  <simon@josefsson.org>
59182
59183         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
59184         parameter to void* as per POSIX standard (MinGW uses char*).
59185
59186 2008-04-21  Bruno Haible  <bruno@clisp.org>
59187
59188         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
59189         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
59190         Define to replacements if REPLACE_ISWCNTRL is 1.
59191         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
59192         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
59193         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
59194         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
59195         what it fixes.
59196         * doc/posix-functions/iswalpha.texi: Likewise.
59197         * doc/posix-functions/iswblank.texi: Likewise.
59198         * doc/posix-functions/iswcntrl.texi: Likewise.
59199         * doc/posix-functions/iswdigit.texi: Likewise.
59200         * doc/posix-functions/iswgraph.texi: Likewise.
59201         * doc/posix-functions/iswlower.texi: Likewise.
59202         * doc/posix-functions/iswprint.texi: Likewise.
59203         * doc/posix-functions/iswpunct.texi: Likewise.
59204         * doc/posix-functions/iswspace.texi: Likewise.
59205         * doc/posix-functions/iswupper.texi: Likewise.
59206         * doc/posix-functions/iswxdigit.texi: Likewise.
59207         Reported by Alain Guibert.
59208
59209 2008-04-21  Bruno Haible  <bruno@clisp.org>
59210
59211         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
59212         Patch by Alain Guibert.
59213
59214 2008-04-21  Bruno Haible  <bruno@clisp.org>
59215
59216         Fix test failures on mingw.
59217         * tests/test-xstrtol.c (print_no_progname): New function.
59218         (main): Install it in error_print_progname hook.
59219         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
59220         * tests/test-xstrtoimax.sh: Likewise.
59221         * tests/test-xstrtoumax.sh: Likewise.
59222
59223 2008-04-21  Bruno Haible  <bruno@clisp.org>
59224
59225         Fix test failure on mingw.
59226         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
59227
59228 2008-04-21  Bruno Haible  <bruno@clisp.org>
59229
59230         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
59231         Actually assign a value.
59232
59233 2008-04-20  Bruno Haible  <bruno@clisp.org>
59234
59235         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
59236         take 2.
59237         * lib/canonicalize.c (canonicalize_file_name): Elide if the
59238         'canonicalize-lgpl' module is also used.
59239         * lib/canonicalize-lgpl.c: Undo last change.
59240         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
59241
59242 2008-04-20  Bruno Haible  <bruno@clisp.org>
59243
59244         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
59245         config.h. Provide _mkdir based fallback for mingw.
59246         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
59247         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
59248         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
59249         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
59250         rather than defining mkdir in config.h.
59251         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
59252         (gl_SYS_STAT_H_DEFAULTS): New macro.
59253         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
59254         HAVE_IO_H any more.
59255         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
59256         HAVE_DECL_MKDIR and HAVE_IO_H.
59257
59258 2008-04-20  Bruno Haible  <bruno@clisp.org>
59259
59260         * lib/isapipe.c: Port to native Windows platforms.
59261
59262 2008-04-20  Bruno Haible  <bruno@clisp.org>
59263
59264         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
59265
59266 2008-04-21  Eric Blake  <ebb9@byu.net>
59267
59268         Work around preprocessors that don't handle UINTMAX_MAX.
59269         * lib/memchr2.c (memchr2): Avoid embedded #if.
59270         Reported by Alain Guibert, fix suggested by Bruno Haible.
59271
59272 2008-04-21  Simon Josefsson  <simon@josefsson.org>
59273
59274         * doc/posix-functions/strftime.texi (strftime): Explain better
59275         Windows incompatibility.  Suggested by Micah Cowan
59276         <micah@cowan.name>.
59277
59278 2008-04-20  Bruno Haible  <bruno@clisp.org>
59279
59280         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
59281         unistr/u8-mblen.
59282
59283 2008-04-20  Bruno Haible  <bruno@clisp.org>
59284
59285         Fix test failure on platforms with non-GNU iconv.
59286         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
59287         (U_TO_U8): Use it, rather than u16_to_u8.
59288         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
59289         units at the end of the input string.
59290         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
59291
59292 2008-04-20  Bruno Haible  <bruno@clisp.org>
59293
59294         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
59295         when the resulting length is 0.
59296         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
59297
59298 2008-04-20  Bruno Haible  <bruno@clisp.org>
59299
59300         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
59301         works.
59302         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
59303
59304 2008-04-20  Bruno Haible  <bruno@clisp.org>
59305
59306         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
59307         * modules/tsearch-tests (configure.ac): Test for initstate function.
59308
59309 2008-04-20  Bruno Haible  <bruno@clisp.org>
59310
59311         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
59312         for nlink_t if missing.
59313         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
59314
59315 2008-04-19  Bruno Haible  <bruno@clisp.org>
59316
59317         Work around snprintf bug on Linux libc5.
59318         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
59319         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
59320         gl_SNPRINTF_SIZE1.
59321         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59322         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
59323         that test failed.
59324         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
59325         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
59326         * modules/snprintf (Files): Add m4/printf.m4.
59327         * modules/vsnprintf (Files): Likewise.
59328         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
59329         * doc/posix-functions/vsnprintf.texi: Likewise.
59330
59331 2008-04-19  Bruno Haible  <bruno@clisp.org>
59332
59333         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
59334         from 0.0058 to less than 10^-7.
59335
59336 2008-04-19  Bruno Haible  <bruno@clisp.org>
59337
59338         Fix rounding when a precision is given.
59339         * lib/vasnprintf.c (is_borderline): New function.
59340         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
59341         9...9x.
59342         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
59343         %e, %g.
59344         * tests/test-vasprintf-posix.c (test_function): Likewise.
59345         * tests/test-snprintf-posix.h (test_function): Likewise.
59346         * tests/test-sprintf-posix.h (test_function): Likewise.
59347         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
59348         * tests/test-printf-posix.h (test_function): Likewise.
59349         * tests/test-printf-posix.output: Update.
59350         Reported by John Darrington <john@darrington.wattle.id.au> via
59351         Ben Pfaff <blp@cs.stanford.edu>.
59352
59353 2008-04-18  Simon Josefsson  <simon@josefsson.org>
59354
59355         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
59356         Suggested by Bruno Haible <bruno@clisp.org>.
59357
59358 2008-04-17  Bruno Haible  <bruno@clisp.org>
59359
59360         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
59361         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
59362         implementation.
59363         Patch by Bruce Merry <bmerry@gmail.com>.
59364
59365 2008-04-17  Simon Josefsson  <simon@josefsson.org>
59366
59367         * doc/posix-functions/strftime.texi (strftime): Mention that %e
59368         doesn't work under Windows.
59369
59370 2008-04-16  Bruno Haible  <bruno@clisp.org>
59371
59372         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
59373         New macros.
59374         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
59375         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
59376         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
59377         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
59378         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
59379         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
59380         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
59381         macros.
59382         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
59383         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
59384         Northern Sotho, Uighur.
59385
59386 2008-04-16  Bruno Haible  <bruno@clisp.org>
59387
59388         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
59389         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
59390         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
59391         Reported by Daniel Bergström <daniel@octocode.com>.
59392
59393 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
59394             Bruno Haible  <bruno@clisp.org>
59395
59396         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
59397         function.
59398         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
59399         New functions, mostly extracted from gl_locale_name_default.
59400         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
59401
59402 2008-04-16  Eric Blake  <ebb9@byu.net>
59403
59404         Adjust strtod detection to catch glibc 2.7 bug.
59405         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
59406         Reported by John Gatewood Ham.
59407
59408 2008-04-16  Bruno Haible  <bruno@clisp.org>
59409
59410         Add tentative support for Linux libc5.
59411         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
59412         * lib/fpurge.c (fpurge): Likewise.
59413         * lib/freadable.c (freadable): Likewise.
59414         * lib/freadahead.c (freadahead): Likewise.
59415         * lib/freading.c (freading): Likewise.
59416         * lib/freadptr.c (freadptr): Likewise.
59417         * lib/freadseek.c (freadptrinc): Likewise.
59418         * lib/fseeko.c (rpl_fseeko): Likewise.
59419         * lib/fseterr.c (fseterr): Likewise.
59420         * lib/fwritable.c (fwritable): Likewise.
59421         * lib/fwriting.c (fwriting): Likewise.
59422         Reported by Alain Guibert <alguibert+bts@free.fr>.
59423
59424 2008-04-15  Bruno Haible  <bruno@clisp.org>
59425
59426         * modules/mathl (configure.ac): Define module indicator.
59427
59428 2008-04-15  Bruno Haible  <bruno@clisp.org>
59429
59430         * lib/logl.c (logl): Remove unused variables.
59431
59432 2008-04-15  Bruno Haible  <bruno@clisp.org>
59433
59434         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
59435         fails.
59436
59437 2008-04-15  Bruno Haible  <bruno@clisp.org>
59438
59439         * lib/trim.c (trim2): Fix argument of isspace() macro.
59440
59441 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
59442
59443         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
59444         to 0.
59445         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
59446
59447 2008-04-14  Bruno Haible  <bruno@clisp.org>
59448
59449         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
59450         AC_LANG_PROGRAM argument.
59451         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
59452         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
59453         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
59454         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
59455         * m4/math_h.m4 (gl_MATH_H): Likewise.
59456         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
59457         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
59458         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
59459         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
59460         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
59461         * m4/regex.m4 (gl_REGEX): Likewise.
59462         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
59463         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
59464         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
59465         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
59466         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
59467         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
59468         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
59469         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
59470
59471 2008-04-14  Jim Meyering  <meyering@redhat.com>
59472
59473         test-strtod: fix typos: s/abs/fabs/
59474         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
59475
59476 2008-04-13  Bruno Haible  <bruno@clisp.org>
59477
59478         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
59479         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
59480         module is also used and while not building the reloc-wrapper.
59481
59482 2008-04-13  Bruno Haible  <bruno@clisp.org>
59483
59484         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
59485
59486 2008-04-13  Bruno Haible  <bruno@clisp.org>
59487
59488         Fix AIX compilation failure introduced on 2008-04-02.
59489         * tests/test-frexp.c (exp): Undefine before redefining.
59490         * tests/test-frexpl.c (exp): Likewise.
59491
59492 2008-04-13  Bruno Haible  <bruno@clisp.org>
59493
59494         Work around a HP-UX stdio bug.
59495         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
59496         * tests/test-ftello.c (main): Likewise.
59497         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
59498         * doc/posix-functions/ftello.texi: Likewise.
59499
59500 2008-04-13  Bruno Haible  <bruno@clisp.org>
59501
59502         Make test-signbit pass on HP-UX/hppa.
59503         * tests/test-signbit.c (minus_zerol): New variable.
59504         (test_signbitl): Use it.
59505
59506 2008-04-13  Bruno Haible  <bruno@clisp.org>
59507
59508         Make truncl work on OSF/1 4.0.
59509         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
59510         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
59511         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
59512         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
59513         HAVE_DECL_TRUNCL.
59514         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
59515         HAVE_DECL_TRUNCL.
59516         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
59517
59518 2008-04-13  Bruno Haible  <bruno@clisp.org>
59519
59520         * lib/unictype.h: Remove trailing comma from enumeration definitions.
59521
59522 2008-04-13  Bruno Haible  <bruno@clisp.org>
59523
59524         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
59525         expression, so as to avoid HP-UX 11 cc compiler bug.
59526
59527 2008-04-13  Bruno Haible  <bruno@clisp.org>
59528
59529         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
59530
59531 2008-04-13  Bruno Haible  <bruno@clisp.org>
59532
59533         * lib/git-merge-changelog.c: Remove empty declaration outside of
59534         functions.
59535
59536 2008-04-13  Bruno Haible  <bruno@clisp.org>
59537
59538         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
59539
59540 2008-04-13  Bruno Haible  <bruno@clisp.org>
59541
59542         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
59543         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
59544         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
59545         also if it exists but lacks definitions of the SHUT_* macros.
59546         * modules/sys_socket (Description): Update.
59547         Reported by Elbert Pol <e.pol@chello.nl>.
59548
59549 2008-04-13  Bruno Haible  <bruno@clisp.org>
59550
59551         * lib/localcharset.c (OS2): Don't redefine if already defined.
59552         Reported by Elbert Pol <e.pol@chello.nl>.
59553
59554 2008-04-13  Bruno Haible  <bruno@clisp.org>
59555
59556         * lib/binary-io.h [__EMX__]: Include <io.h>.
59557         Reported by Elbert Pol <e.pol@chello.nl>.
59558
59559 2008-04-12  Bruno Haible  <bruno@clisp.org>
59560
59561         * lib/fpucw.h: Enable the definitions also for x86_64.
59562         Needed for NetBSD/x86_64.
59563         Reported by Thomas Klausner <tk@giga.or.at>.
59564
59565 2008-04-12  Bruno Haible  <bruno@clisp.org>
59566
59567         * tests/test-strtod.c: Include isnand.h.
59568         (main): Use isnand instead of isnan.
59569         Reported by Jim Meyering.
59570
59571 2008-04-12  Bruno Haible  <bruno@clisp.org>
59572
59573         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
59574         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
59575
59576 2008-04-12  Jim Meyering  <meyering@redhat.com>
59577
59578         * m4/math_h.m4 (gl_MATH_H): Fix typos.
59579
59580 2008-04-12  Bruno Haible  <bruno@clisp.org>
59581
59582         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
59583         Reported by Elbert Pol <e.pol@chello.nl>.
59584
59585 2008-04-12  Eric Blake  <ebb9@byu.net>
59586
59587         Work around Solaris 10 math.h bug.
59588         * m4/math_h.m4 (gl_MATH_H): Check for bug.
59589         (gl_MATH_H_DEFAULTS): Set up default.
59590         * modules/math (Makefile.am): Replace new indicators.
59591         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
59592         * tests/test-math.c (main): Test this.
59593         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
59594         * doc/posix-headers/math.texi (math.h): Mention bug.
59595         Reported by Nelson H. F. Beebe and Jim Meyering.
59596
59597 2008-04-11  Bruno Haible  <bruno@clisp.org>
59598
59599         Adapt to future versions of Apple GCC.
59600         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
59601         Reported by Peter O'Gorman <peter@pogma.com>.
59602
59603 2008-04-11  Bruno Haible  <bruno@clisp.org>
59604
59605         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
59606
59607 2008-04-11  Bruno Haible  <bruno@clisp.org>
59608
59609         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
59610
59611         * modules/getaddrinfo-tests (Makefile.am): Define
59612         test_getaddrinfo_LDADD.
59613
59614 2008-04-11  Bruno Haible  <bruno@clisp.org>
59615
59616         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
59617         (init): Fix syntax error.
59618         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
59619         is declared.
59620
59621 2008-04-11  Bruno Haible  <bruno@clisp.org>
59622
59623         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
59624         * modules/glob (Depends-on): Add stdbool.
59625
59626 2008-04-11  Bruno Haible  <bruno@clisp.org>
59627
59628         * lib/trim.c: Include <string.h>.
59629
59630 2008-04-11  Eric Blake  <ebb9@byu.net>
59631
59632         Avoid compile failure on OS/2.
59633         * lib/regex_internal.h (internal_function): Disable optimization
59634         on OS/2 (__EMX__), where it caused compiler error.
59635         Reported by Elbert Pol.
59636
59637 2008-04-11  Bruno Haible  <bruno@clisp.org>
59638
59639         Flush the standard error stream before aborting. Needed on mingw.
59640         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
59641         * tests/test-array_list.c (ASSERT): Likewise.
59642         * tests/test-array_oset.c (ASSERT): Likewise.
59643         * tests/test-avltree_list.c (ASSERT): Likewise.
59644         * tests/test-avltree_oset.c (ASSERT): Likewise.
59645         * tests/test-avltreehash_list.c (ASSERT): Likewise.
59646         * tests/test-binary-io.c (ASSERT): Likewise.
59647         * tests/test-byteswap.c (ASSERT): Likewise.
59648         * tests/test-c-ctype.c (ASSERT): Likewise.
59649         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
59650         * tests/test-c-strcasestr.c (ASSERT): Likewise.
59651         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
59652         * tests/test-c-strstr.c (ASSERT): Likewise.
59653         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
59654         * tests/test-canonicalize.c (ASSERT): Likewise.
59655         * tests/test-carray_list.c (ASSERT): Likewise.
59656         * tests/test-ceilf1.c (ASSERT): Likewise.
59657         * tests/test-ceilf2.c (ASSERT): Likewise.
59658         * tests/test-ceill.c (ASSERT): Likewise.
59659         * tests/test-count-one-bits.c (ASSERT): Likewise.
59660         * tests/test-fbufmode.c (ASSERT): Likewise.
59661         * tests/test-fflush2.c (ASSERT): Likewise.
59662         * tests/test-floorf1.c (ASSERT): Likewise.
59663         * tests/test-floorf2.c (ASSERT): Likewise.
59664         * tests/test-floorl.c (ASSERT): Likewise.
59665         * tests/test-fopen.c (ASSERT): Likewise.
59666         * tests/test-fpending.c (ASSERT): Likewise.
59667         * tests/test-fprintf-posix.c (ASSERT): Likewise.
59668         * tests/test-fpurge.c (ASSERT): Likewise.
59669         * tests/test-freadable.c (ASSERT): Likewise.
59670         * tests/test-freadahead.c (ASSERT): Likewise.
59671         * tests/test-freading.c (ASSERT): Likewise.
59672         * tests/test-freadptr.c (ASSERT): Likewise.
59673         * tests/test-freadptr2.c (ASSERT): Likewise.
59674         * tests/test-freadseek.c (ASSERT): Likewise.
59675         * tests/test-freopen.c (ASSERT): Likewise.
59676         * tests/test-frexp.c (ASSERT): Likewise.
59677         * tests/test-frexpl.c (ASSERT): Likewise.
59678         * tests/test-fseek.c (ASSERT): Likewise.
59679         * tests/test-fseeko.c (ASSERT): Likewise.
59680         * tests/test-fstrcmp.c (ASSERT): Likewise.
59681         * tests/test-ftell.c (ASSERT): Likewise.
59682         * tests/test-ftello.c (ASSERT): Likewise.
59683         * tests/test-func.c (ASSERT): Likewise.
59684         * tests/test-fwritable.c (ASSERT): Likewise.
59685         * tests/test-fwriting.c (ASSERT): Likewise.
59686         * tests/test-getdelim.c (ASSERT): Likewise.
59687         * tests/test-getline.c (ASSERT): Likewise.
59688         * tests/test-i-ring.c (ASSERT): Likewise.
59689         * tests/test-iconv-utf.c (ASSERT): Likewise.
59690         * tests/test-iconv.c (ASSERT): Likewise.
59691         * tests/test-isfinite.c (ASSERT): Likewise.
59692         * tests/test-isnand.c (ASSERT): Likewise.
59693         * tests/test-isnanf.c (ASSERT): Likewise.
59694         * tests/test-isnanl.h (ASSERT): Likewise.
59695         * tests/test-ldexpl.c (ASSERT): Likewise.
59696         * tests/test-linked_list.c (ASSERT): Likewise.
59697         * tests/test-linkedhash_list.c (ASSERT): Likewise.
59698         * tests/test-localename.c (ASSERT): Likewise.
59699         * tests/test-lseek.c (ASSERT): Likewise.
59700         * tests/test-mbscasecmp.c (ASSERT): Likewise.
59701         * tests/test-mbscasestr1.c (ASSERT): Likewise.
59702         * tests/test-mbscasestr2.c (ASSERT): Likewise.
59703         * tests/test-mbscasestr3.c (ASSERT): Likewise.
59704         * tests/test-mbscasestr4.c (ASSERT): Likewise.
59705         * tests/test-mbschr.c (ASSERT): Likewise.
59706         * tests/test-mbscspn.c (ASSERT): Likewise.
59707         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
59708         * tests/test-mbspbrk.c (ASSERT): Likewise.
59709         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
59710         * tests/test-mbsrchr.c (ASSERT): Likewise.
59711         * tests/test-mbsspn.c (ASSERT): Likewise.
59712         * tests/test-mbsstr1.c (ASSERT): Likewise.
59713         * tests/test-mbsstr2.c (ASSERT): Likewise.
59714         * tests/test-mbsstr3.c (ASSERT): Likewise.
59715         * tests/test-memchr2.c (ASSERT): Likewise.
59716         * tests/test-memmem.c (ASSERT): Likewise.
59717         * tests/test-open.c (ASSERT): Likewise.
59718         * tests/test-printf-frexp.c (ASSERT): Likewise.
59719         * tests/test-printf-frexpl.c (ASSERT): Likewise.
59720         * tests/test-printf-posix.c (ASSERT): Likewise.
59721         * tests/test-quotearg.c (ASSERT): Likewise.
59722         * tests/test-rbtree_list.c (ASSERT): Likewise.
59723         * tests/test-rbtree_oset.c (ASSERT): Likewise.
59724         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
59725         * tests/test-round1.c (ASSERT): Likewise.
59726         * tests/test-roundf1.c (ASSERT): Likewise.
59727         * tests/test-roundl.c (ASSERT): Likewise.
59728         * tests/test-signbit.c (ASSERT): Likewise.
59729         * tests/test-sleep.c (ASSERT): Likewise.
59730         * tests/test-snprintf-posix.c (ASSERT): Likewise.
59731         * tests/test-snprintf.c (ASSERT): Likewise.
59732         * tests/test-sprintf-posix.c (ASSERT): Likewise.
59733         * tests/test-stat-time.c (ASSERT): Likewise.
59734         * tests/test-strcasestr.c (ASSERT): Likewise.
59735         * tests/test-strerror.c (ASSERT): Likewise.
59736         * tests/test-striconv.c (ASSERT): Likewise.
59737         * tests/test-striconveh.c (ASSERT): Likewise.
59738         * tests/test-striconveha.c (ASSERT): Likewise.
59739         * tests/test-strsignal.c (ASSERT): Likewise.
59740         * tests/test-strstr.c (ASSERT): Likewise.
59741         * tests/test-strtod.c (ASSERT): Likewise.
59742         * tests/test-trunc1.c (ASSERT): Likewise.
59743         * tests/test-trunc2.c (ASSERT): Likewise.
59744         * tests/test-truncf1.c (ASSERT): Likewise.
59745         * tests/test-truncf2.c (ASSERT): Likewise.
59746         * tests/test-truncl.c (ASSERT): Likewise.
59747         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
59748         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
59749         * tests/test-vasnprintf.c (ASSERT): Likewise.
59750         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
59751         * tests/test-vasprintf.c (ASSERT): Likewise.
59752         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
59753         * tests/test-vprintf-posix.c (ASSERT): Likewise.
59754         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
59755         * tests/test-vsnprintf.c (ASSERT): Likewise.
59756         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
59757         * tests/test-wcwidth.c (ASSERT): Likewise.
59758         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
59759         * tests/test-xprintf-posix.c (ASSERT): Likewise.
59760         * tests/test-xvasprintf.c (ASSERT): Likewise.
59761         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
59762         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
59763         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
59764         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
59765         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
59766         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
59767         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
59768         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
59769         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
59770         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
59771         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
59772         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
59773         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
59774         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
59775         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
59776         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
59777         * tests/unictype/test-block_list.c (ASSERT): Likewise.
59778         * tests/unictype/test-block_of.c (ASSERT): Likewise.
59779         * tests/unictype/test-block_test.c (ASSERT): Likewise.
59780         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
59781         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
59782         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
59783         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
59784         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
59785         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
59786         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
59787         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
59788         * tests/unictype/test-combining.c (ASSERT): Likewise.
59789         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
59790         * tests/unictype/test-digit.c (ASSERT): Likewise.
59791         * tests/unictype/test-mirror.c (ASSERT): Likewise.
59792         * tests/unictype/test-numeric.c (ASSERT): Likewise.
59793         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
59794         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
59795         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
59796         * tests/unictype/test-scripts.c (ASSERT): Likewise.
59797         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
59798         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
59799         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
59800         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
59801         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
59802         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
59803         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
59804         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
59805         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
59806         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
59807         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
59808         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
59809         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
59810         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
59811         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
59812         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
59813         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
59814         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
59815         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
59816         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
59817         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
59818         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
59819         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
59820         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
59821         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
59822         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
59823         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
59824         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
59825         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
59826         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
59827         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
59828         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
59829         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
59830         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
59831         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
59832         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
59833         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
59834         Reported by Eric Blake.
59835
59836 2008-04-11  Bruno Haible  <bruno@clisp.org>
59837
59838         * lib/wchar.in.h: Tweak comment.
59839
59840 2008-04-11  Bruno Haible  <bruno@clisp.org>
59841
59842         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
59843         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
59844         gl_COMMON.
59845         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
59846
59847 2008-04-11  Bruno Haible  <bruno@clisp.org>
59848
59849         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
59850
59851 2008-04-11  Simon Josefsson  <simon@josefsson.org>
59852
59853         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
59854         of attempting to use non-existing /dev/*random.  Based on patch
59855         from Adam Strzelecki <ono@java.pl> in
59856         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
59857
59858 2008-04-08  Bruno Haible  <bruno@clisp.org>
59859
59860         Add tentative support for emx+gcc.
59861         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
59862         * lib/fpurge.c (fpurge): Likewise.
59863         * lib/freadable.c (freadable): Likewise.
59864         * lib/freadahead.c (freadahead): Likewise.
59865         * lib/freading.c (freading): Likewise.
59866         * lib/freadptr.c (freadptr): Likewise.
59867         * lib/freadseek.c (freadptrinc): Likewise.
59868         * lib/fseeko.c (rpl_fseeko): Likewise.
59869         * lib/fseterr.c (fseterr): Likewise.
59870         * lib/fwritable.c (fwritable): Likewise.
59871         * lib/fwriting.c (fwriting): Likewise.
59872         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
59873
59874 2008-04-09  Eric Blake  <ebb9@byu.net>
59875
59876         Avoid some autoconf warnings.
59877         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
59878         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
59879         * m4/afs.m4 (gl_AFS): Likewise.
59880         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
59881         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
59882         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
59883         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
59884         (gl_INTEGER_TYPE_SUFFIX): Likewise.
59885         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
59886         (AC_CHECK_DECLS_ONCE): Likewise.
59887         Rename file...
59888         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
59889         gnulib-tool requires autoconf 2.59 or better.
59890         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
59891
59892 2008-04-08  Eric Blake  <ebb9@byu.net>
59893
59894         Use 'git describe --match' if present (added in git 1.5.5).
59895         * build-aux/git-version-gen: Limit result to tags that match 'v*'
59896         if possible.
59897
59898 2008-04-08  Bruno Haible  <bruno@clisp.org>
59899
59900         Add tentative support for OpenServer.
59901         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
59902         _ptr, _cnt.
59903         * lib/fpurge.c (fpurge): Likewise.
59904         * lib/freadable.c (freadable): Likewise.
59905         * lib/freadahead.c (freadahead): Likewise.
59906         * lib/freading.c (freading): Likewise.
59907         * lib/freadptr.c (freadptr): Likewise.
59908         * lib/freadseek.c (freadptrinc): Likewise.
59909         * lib/fseeko.c (rpl_fseeko): Likewise.
59910         * lib/fseterr.c (fseterr): Likewise.
59911         * lib/fwritable.c (fwritable): Likewise.
59912         * lib/fwriting.c (fwriting): Likewise.
59913         Reported by Roger Cornelius <rac@tenzing.org> and
59914         Brian K. White <brian@aljex.com>.
59915
59916 2008-04-06  Jim Meyering  <meyering@redhat.com>
59917
59918         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
59919
59920 2008-04-06  Bruno Haible  <bruno@clisp.org>
59921
59922         Avoid possible error with non-ASCII bytes in UTF-8 locales.
59923         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
59924         * tests/test-printf-posix.sh: Likewise.
59925         * tests/test-vfprintf-posix.sh: Likewise.
59926         * tests/test-vprintf-posix.sh: Likewise.
59927         * tests/test-xprintf-posix.sh: Likewise.
59928
59929 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59930
59931         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
59932         hide error from 'ls', needed on OS/2.
59933         Report by Elbert Pol <elbert.pol@gmail.com>.
59934
59935 2008-04-04  Eric Blake  <ebb9@byu.net>
59936
59937         Make test-fseeko.c failures meaningful.
59938         * tests/test-fseeko.c: Print line number on failure.
59939         * tests/test-fseek.c: Likewise.
59940         Reported by Nelson H. F. Beebe.
59941
59942         Improve strtod bug detection check.
59943         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
59944         required for Solaris 10.
59945         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
59946
59947 2008-04-04  Bruno Haible  <bruno@clisp.org>
59948
59949         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
59950         by m4/setenv.m4.
59951
59952 2008-04-03  Eric Blake  <ebb9@byu.net>
59953
59954         Ensure sane .version contents.
59955         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
59956         version string.
59957         * build-aux/git-version-gen: Improve documentation.
59958
59959         Make GNU make output nicer.
59960         * top/GNUmakefile [!_have-Makefile]: Add dependency on
59961         MAKECMDGOALS to enforce message for all command line targets.  Set
59962         srcdir for use in maint.mk.
59963
59964         Another maintainer tweak.
59965         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
59966         a target that regenerates version.
59967
59968 2008-04-03  Jim Meyering  <meyering@redhat.com>
59969
59970         vc-list-files: don't cause coreutils "make po-check" failure
59971         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
59972
59973 2008-04-03  Eric Blake  <ebb9@byu.net>
59974
59975         Allow VPATH usage of vc-list-files.
59976         * build-aux/vc-list-files (scriptversion): Add timestamp.
59977         (options): Add --help, --version, -C.
59978         (CVS): Support installed cvsu.
59979
59980 2008-04-02  Bruno Haible  <bruno@clisp.org>
59981
59982         Avoid some "statement with no effect" warnings from gcc.
59983         * tests/test-wctype.c (main): Explicitly ignore unused values.
59984         Reported by Jim Meyering.
59985
59986 2008-04-02  Jim Meyering  <meyering@redhat.com>
59987
59988         Avoid some warnings from "gcc -Wshadow".
59989         * tests/test-frexp.c (exp): Define to a different identifier.
59990         * tests/test-frexpl.c (exp): Likewise.
59991
59992 2008-04-03  Jim Meyering  <meyering@redhat.com>
59993
59994         bootstrap: remove dangling *.[ch] symlinks from lib
59995         * build-aux/bootstrap [dangling symlink removal]: Move find's
59996         -depth option to precede all others, to avoid a warning.
59997         Remove *.[ch] files too, and from "$source_base" (usually lib/).
59998
59999 2008-04-02  Bruno Haible  <bruno@clisp.org>
60000
60001         Avoid some warnings from "gcc -Wshadow".
60002         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
60003         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
60004         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
60005         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
60006         Reported by Jim Meyering.
60007
60008 2008-04-01  Bruno Haible  <bruno@clisp.org>
60009
60010         Fix test to work on IRIX 6.5 with cc.
60011         * tests/test-math.c (numeric_equal): New function.
60012         (main): Use it.
60013
60014 2008-04-01  Bruno Haible  <bruno@clisp.org>
60015
60016         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
60017
60018 2008-04-01  Bruno Haible  <bruno@clisp.org>
60019
60020         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
60021         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
60022         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
60023         (Depends-on): Remove math.
60024
60025         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
60026         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
60027         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
60028         (Depends-on): Remove math.
60029
60030         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
60031         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
60032         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
60033         (Depends-on): Remove math.
60034         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
60035         (Depends-on): Remove math.
60036
60037         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
60038         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
60039         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
60040         (Depends-on): Remove math.
60041         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
60042         (Depends-on): Remove math.
60043
60044         * tests/test-round1.c: Include nan.h.
60045         (main): Use NaNd instead of NAN.
60046         * modules/round-tests (Files): Add tests/nan.h.
60047
60048         * tests/test-trunc1.c: Include nan.h.
60049         (main): Use NaNd instead of NAN.
60050         * modules/trunc-tests (Files): Add tests/nan.h.
60051
60052         * tests/test-roundf1.c: Include nan.h.
60053         (main): Use NaNf instead of NAN.
60054         * modules/roundf-tests (Files): Add tests/nan.h.
60055
60056         * tests/test-truncf1.c: Include nan.h.
60057         (main): Use NaNf instead of NAN.
60058         * modules/truncf-tests (Files): Add tests/nan.h.
60059
60060         * tests/test-ceilf1.c: Include nan.h.
60061         (main): Use NaNf instead of NAN.
60062         * modules/ceilf-tests (Files): Add tests/nan.h.
60063
60064         * tests/test-floorf1.c: Include nan.h.
60065         (main): Use NaNf instead of NAN.
60066         * modules/floorf-tests (Files): Add tests/nan.h.
60067
60068         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
60069         (main): Use NaNf instead of NAN.
60070         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
60071
60072         * tests/test-isnand.c: Include nan.h instead of <math.h>.
60073         (main): Use NaNd instead of NAN.
60074         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
60075
60076         * tests/test-frexp.c: Include nan.h.
60077         (main): Use NaNd instead of NAN.
60078         * modules/frexp-tests (Files): Add tests/nan.h.
60079
60080         * lib/isnan.c: Don't include <math.h>.
60081         (FUNC): Don't use NAN macro.
60082         * modules/isnand-nolibm (Depends-on): Remove math.
60083         * modules/isnanf-nolibm (Depends-on): Remove math.
60084         * modules/isnanl (Depends-on): Remove math.
60085         * modules/isnanl-nolibm (Depends-on): Remove math.
60086
60087         * tests/nan.h: New file.
60088
60089 2008-04-01  Eric Blake  <ebb9@byu.net>
60090
60091         Fix typos.
60092         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
60093         values to be the right type.
60094
60095         For now, cater to gnulib strtod inaccuracies.
60096         * tests/test-strtod.c (main): Allow 1-ulp error on expected
60097         fractional results.  While not as nice from a QoI perspective, it
60098         is a quicker patch than correctly implementing decimal to binary
60099         rounding.
60100
60101 2008-03-31  Eric Blake  <ebb9@byu.net>
60102
60103         Guarantee a definition of NAN.
60104         * lib/math.in.h (NAN): Define if missing.
60105         * tests/test-math.c (main): Test it.
60106         * doc/posix-headers/math.texi (math.h): Document this.
60107         * lib/isnan.c (rpl_isnand): Use it.
60108         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
60109         * tests/test-floorf1.c (NaN): Likewise.
60110         * tests/test-frexp.c (NaN): Likewise.
60111         * tests/test-isnand.c (NaN): Likewise.
60112         * tests/test-isnanf.c (NaN): Likewise.
60113         * tests/test-round1.c (NaN): Likewise.
60114         * tests/test-roundf1.c (NaN): Likewise.
60115         * tests/test-snprintf-posix.h (NaN): Likewise.
60116         * tests/test-sprintf-posix.h (NaN): Likewise.
60117         * tests/test-trunc1.c (NaN): Likewise.
60118         * tests/test-truncf1.c (NaN): Likewise.
60119         * tests/test-vasnprintf-posix.c (NaN): Likewise.
60120         * tests/test-vasprintf-posix.c (NaN): Likewise.
60121         * modules/isnand-nolibm (Depends-on): Add math.
60122         * modules/isnanf-nolibm (Depends-on): Likewise.
60123         * modules/isnanl (Depends-on): Likewise.
60124         * modules/isnanl-nolibm (Depends-on): Likewise.
60125         * modules/snprintf-posix-tests (Depends-on): Likewise.
60126         * modules/sprintf-posix-tests (Depends-on): Likewise.
60127         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
60128         * modules/vsprintf-posix-tests (Depends-on): Likewise.
60129         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
60130         * modules/vasprintf-posix-tests (Depends-on): Likewise.
60131
60132 2008-03-31  Bruno Haible  <bruno@clisp.org>
60133
60134         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
60135         * doc/posix-functions/strtod.texi: Likewise.
60136
60137 2008-03-31  Bruno Haible  <bruno@clisp.org>
60138
60139         * tests/test-strtod.c (main): Don't use C99 syntax.
60140
60141 2008-03-31  Bruno Haible  <bruno@clisp.org>
60142
60143         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
60144         Reported by Eric Blake.
60145
60146 2008-03-31  Jim Meyering  <meyering@redhat.com>
60147
60148         Don't compare actual signbit return values.
60149         * tests/test-strtod.c (main): Rather, compare only their
60150         zero/non-zero nature.
60151
60152 2008-03-31  Eric Blake  <ebb9@byu.net>
60153
60154         More strtod documentation.
60155         * doc/posix-functions/strtod.texi (strtod): Interpret more test
60156         failures as distinct bugs.
60157
60158 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
60159
60160         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
60161         Problem reported by Erik Benada in
60162         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
60163
60164 2008-03-30  Bruno Haible  <bruno@clisp.org>
60165
60166         * tests/test-strtod.c: Add comments about which assertion fails on which
60167         platform.
60168         * doc/posix-functions/strtod.texi: Add info about many more platforms.
60169
60170 2008-03-30  Eric Blake  <ebb9@byu.net>
60171
60172         Test signbit behavior on zeros.
60173         * tests/test-signbit.c (test_signbitf): Add tests for zero.
60174         (test_signbitd, test_signbitl): Likewise.
60175
60176         More strtod touchups.
60177         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
60178         sign of negative underflow, for now.  Use .5, not .1.
60179         * doc/posix-functions/strtod.texi (strtod): Mention these
60180         limitations.
60181         Reported by Jim Meyering.
60182
60183 2008-03-30  Bruno Haible  <bruno@clisp.org>
60184
60185         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
60186         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
60187
60188 2008-03-30  Bruno Haible  <bruno@clisp.org>
60189
60190         Avoid failure when attempting to return empty iconv results on some
60191         platforms.
60192         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
60193         allocation, don't report ENOMEM when the resulting string is empty.
60194
60195 2008-03-30  Bruno Haible  <bruno@clisp.org>
60196
60197         Fix buffer overrun.
60198         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
60199         Don't consider the width for tmp_length. Check count against tmp_length
60200         before doing the padding. Ensure enough allocation during padding.
60201
60202 2008-03-30  Eric Blake  <ebb9@byu.net>
60203
60204         strtod touchups.
60205         * lib/strtod.c (strtod): Avoid compiler warnings.
60206         Reported by Jim Meyering.
60207
60208 2008-03-30  Bruno Haible  <bruno@clisp.org>
60209
60210         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
60211         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
60212         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
60213         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
60214         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
60215         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
60216         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
60217         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
60218
60219         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
60220         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
60221         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
60222         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
60223         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
60224         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
60225         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
60226         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
60227
60228         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
60229         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
60230         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
60231         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
60232         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
60233         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
60234         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
60235         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
60236
60237         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
60238         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
60239
60240         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
60241         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
60242
60243         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
60244         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
60245
60246         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
60247         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
60248         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
60249
60250         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
60251         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
60252         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
60253
60254         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
60255         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
60256         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
60257
60258         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
60259         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
60260         * modules/vasprintf (Depends-on): Add EOVERFLOW.
60261
60262         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
60263         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
60264         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
60265         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
60266         (Depends-on): Add EOVERFLOW.
60267         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
60268         (Depends-on): Add EOVERFLOW.
60269         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
60270         (Depends-on): Add EOVERFLOW.
60271         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
60272         (Depends-on): Add EOVERFLOW.
60273         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
60274         (Depends-on): Add EOVERFLOW.
60275         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
60276         (Depends-on): Add EOVERFLOW.
60277         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
60278         (Depends-on): Add EOVERFLOW.
60279         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
60280         (Depends-on): Add EOVERFLOW.
60281
60282         * lib/sprintf.c (EOVERFLOW): Remove fallback.
60283         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
60284         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
60285
60286         * lib/snprintf.c (EOVERFLOW): Remove fallback.
60287         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
60288         * modules/snprintf (Depends-on): Add EOVERFLOW.
60289
60290         * lib/poll.c (EOVERFLOW): Remove fallback.
60291         * modules/poll (Depends-on): Add EOVERFLOW.
60292
60293         * lib/getugroups.c (EOVERFLOW): Remove fallback.
60294         * modules/getugroups (Depends-on): Add EOVERFLOW.
60295
60296         * lib/getdelim.c (EOVERFLOW): Remove fallback.
60297         * modules/getdelim (Depends-on): Add EOVERFLOW.
60298
60299         * lib/ftell.c (EOVERFLOW): Remove fallback.
60300         * modules/ftell (Depends-on): Add EOVERFLOW.
60301
60302         * lib/fprintf.c (EOVERFLOW): Remove fallback.
60303         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
60304         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
60305
60306         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
60307
60308         * modules/EOVERFLOW-tests: New file.
60309         * tests/test-EOVERFLOW.c: New file.
60310
60311         * modules/EOVERFLOW: New file.
60312         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
60313
60314 2008-03-30  Bruno Haible  <bruno@clisp.org>
60315
60316         Fix bug introduced on 2007-06-10.
60317         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
60318         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
60319
60320 2008-03-30  Bruno Haible  <bruno@clisp.org>
60321
60322         Improve freadseek's efficiency after ungetc.
60323         * lib/freadseek.c: Include freadahead.h.
60324         (freadptrinc): New function, extracted from freadseek.
60325         (freadseek): Use it in a loop. Use freadahead to determine the number
60326         of loop iterations.
60327         * modules/freadseek (Depends-on): Add freadahead.
60328         (configure.ac): Require AC_C_INLINE.
60329
60330 2008-03-30  Bruno Haible  <bruno@clisp.org>
60331
60332         * lib/freadseek.c (freadseek): Don't ignore the return value of
60333         freadptr.
60334
60335 2008-03-29  Eric Blake  <ebb9@byu.net>
60336
60337         Add hex float support.
60338         * modules/strtod (Depends-on): Add c-ctype.
60339         (Link): Mention POW_LIB.
60340         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
60341         whitespace between 'e' and exponent.
60342         * tests/test-strtod.c (main): Enable hex float tests.
60343         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
60344         now provides.
60345
60346         Document various strtod bugs, with some fixes.
60347         * doc/posix-functions/strtod.texi (strtod): Document bugs with
60348         "-0x", "inf", "nan", and hex constants.
60349         * doc/posix-functions/atof.texi (atof): Likewise.
60350         * modules/stdlib (Makefile.am): Support strtod.
60351         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
60352         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
60353         detect additional strtod bugs.
60354         * lib/stdlib.in.h (rpl_strtod): Add declarations.
60355         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
60356         bool where appropriate.  Parse 'inf' and 'nan'.
60357         * tests/test-strtod.c: New file.
60358         * modules/strtod (Depends-on): Add stdbool, stdlib.
60359         (configure.ac): Turn on module indicator.
60360         * modules/strtod-tests: New module.
60361
60362 2008-03-29  Eric Blake  <ebb9@byu.net>
60363
60364         Fix ftell on mingw.
60365         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
60366         * modules/ftell-tests (Depends-on): Add binary-io.
60367         * modules/ftello-tests (Depends-on): Likewise.
60368         * tests/test-ftell.c (main): Enhance test to cover behavior after
60369         ungetc.  Enforce binary mode.
60370         * tests/test-ftello.c (main): Likewise.
60371
60372         Pass test-freadseek on cygwin.
60373         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
60374         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
60375         ungetc buffer.
60376
60377         * tests/test-fflush2.c (main): Fix typo.
60378
60379 2008-03-29  Bruno Haible  <bruno@clisp.org>
60380
60381         * tests/test-fflush2.c (main): Temporarily disable the contents of
60382         this test.
60383         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
60384         Reported by Eric Blake.
60385
60386 2008-03-28  Simon Josefsson  <simon@josefsson.org>
60387
60388         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
60389         (GC_SHA224_DIGEST_SIZE): Add.
60390
60391         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
60392         (gc_hash_digest_length): Likewise.
60393         (gc_hash_buffer): Likewise.
60394
60395 2008-03-25  Bruno Haible  <bruno@clisp.org>
60396
60397         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
60398         detail which gettext release to use.
60399         Reported by Simon Josefsson.
60400
60401 2008-03-26  Jim Meyering  <meyering@redhat.com>
60402
60403         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
60404         * modules/gnumakefile (clean-GNUmakefile): Also, use
60405         test ... && ... || : syntax rather than if-then ... fi.
60406
60407         gnumakefile: Don't double-quote-expand $(VPATH) value.
60408         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
60409
60410 2008-03-24  Eric Blake  <ebb9@byu.net>
60411
60412         Alter GNUmakefile to install into top directory.
60413         * modules/maintainer-makefile: Split, and add dependency...
60414         * modules/gnumakefile: to this new module.
60415         * build-aux/GNUmakefile: Move...
60416         * top/GNUmakefile: ...here.
60417         * build-aux/maint.mk: Move...
60418         * top/maint.mk: ...here.
60419         * MODULES.html.sh (Support for maintaining...): Document new
60420         module.
60421
60422 2008-03-23  Bruno Haible  <bruno@clisp.org>
60423
60424         * gnulib-tool: New options --vc-files, --no-vc-files.
60425         (func_usage): Document them.
60426         (vc_files): New variable.
60427         (func_import): Consider vc_files.
60428         (func_create_testdir): Set vc_files to empty.
60429         Suggested by Jim Meyering and Karl Berry.
60430
60431 2008-03-23  Bruno Haible  <bruno@clisp.org>
60432
60433         Fix regex compilation error on HP-UX 11.
60434         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
60435         * modules/regex (Files): Add m4/mbstate_t.m4.
60436         Reported by Ton Voon <ton.voon@altinity.com>.
60437
60438 2008-03-23  Bruno Haible  <bruno@clisp.org>
60439
60440         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
60441
60442 2008-03-23  Eric Blake  <ebb9@byu.net>
60443             Bruno Haible  <bruno@clisp.org>
60444
60445         Install files from top/ in the destination directory.
60446         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
60447         augmentation also for the files from top/.
60448         (func_import, func_create_testdir): Rewrite file names:
60449         top/filename -> filename.
60450
60451 2008-03-23  Bruno Haible  <bruno@clisp.org>
60452
60453         Tweak "gnulib --version" output.
60454         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
60455
60456 2008-03-23  Bruno Haible  <bruno@clisp.org>
60457
60458         Tweak "gnulib --version" output.
60459         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
60460         rather than contents of ChangeLog, when possible.
60461
60462 2008-03-21  Eric Blake  <ebb9@byu.net>
60463
60464         More --version tweaks.
60465         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
60466         date of last ChangeLog entry.
60467
60468 2008-03-21  Jim Meyering  <meyering@redhat.com>
60469
60470         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
60471
60472 2008-03-20  Eric Blake  <ebb9@byu.net>
60473
60474         VPATH fix.
60475         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
60476
60477 2008-03-20  Simon Josefsson  <simon@josefsson.org>
60478
60479         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
60480         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
60481
60482 2008-03-20  Eric Blake  <ebb9@byu.net>
60483
60484         Sync GNUmakefile with coreutils.
60485         * build-aux/GNUmakefile (have-Makefile): Rename...
60486         (_have-Makefile): ...to this, for namespace consideration.
60487         (GNUmakefile.cfg): Include, if present.
60488         (_autoreconf): Define a default.
60489         (_is-dist-target): New rule for rebuilds to pick up intra-release
60490         version.
60491         (maint-cfg.mk): Rename...
60492         (cfg.mk): ...to this.
60493
60494 2008-03-18  Jim Meyering  <meyering@redhat.com>
60495
60496         New script and module: mktempd
60497         * MODULES.html.sh (maint+release support): Add mktempd.
60498         * build-aux/mktempd: New file.
60499         * modules/mktempd: New file.
60500
60501 2008-03-15  Jim Meyering  <meyering@redhat.com>
60502
60503         Undo last change.
60504         * lib/sha1.c, lib/md5.c: 63 != ~63.
60505         Reported by Andreas Schwab.
60506
60507         sha1.c, md5.c: Hoist a redundant expression.
60508         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
60509         "ctx->buflen" only once, before calling *_process_block.
60510         * lib/md5.c (md5_process_bytes): Likewise.
60511
60512 2008-03-14  Eric Blake  <ebb9@byu.net>
60513
60514         Bump copyright year in files generated by gnulib-tool.
60515         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
60516         gnulib-tool, rather than hard-coding it.
60517
60518         Fix 'gnulib-tool --version' output to work with git.
60519         * gnulib-tool (func_gnulib_dir): New function, extracted from...
60520         (startup): ...here.
60521         (func_version): Use it to invoke git-version-gen, rather than
60522         relying on CVS keyword expansion.  Modernize wording.
60523         (cvsdatestamp, last_checkin_date, version): Kill unused
60524         variables.
60525
60526 2008-03-12  Jim Meyering  <meyering@redhat.com>
60527
60528         Recognize optional cast of the argument to free.
60529         * build-aux/useless-if-before-free: Update regexps.
60530
60531         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
60532
60533 2008-03-11  Bruno Haible  <bruno@clisp.org>
60534
60535         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
60536         by a single package.
60537         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
60538         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
60539         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
60540         Reported by Sam Steingold <sds@gnu.org>.
60541
60542 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
60543
60544         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
60545         repositories.
60546
60547 2008-03-11  Bruno Haible  <bruno@clisp.org>
60548
60549         Avoid conflicts between local macro definitions.
60550         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
60551         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
60552
60553 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
60554             Bruno Haible  <bruno@clisp.org>
60555
60556         Make va_copy work with some version of xlc on AIX 5.1.
60557         * lib/stdarg.in.h: New file.
60558         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
60559         On AIX, use a <stdarg.h> file substitute.
60560         * modules/stdarg (Files): Add lib/stdarg.in.h.
60561         (Depends-on): Add include_next.
60562         (Makefile.am): Build a stdarg.h substitute if requested.
60563         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
60564
60565 2008-03-10  Bruno Haible  <bruno@clisp.org>
60566
60567         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
60568         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
60569         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
60570
60571 2008-03-10  Bruno Haible  <bruno@clisp.org>
60572
60573         * modules/stdlib (Depends-on): Add include_next, remove
60574         absolute-header.
60575
60576 2008-03-09  Bruno Haible  <bruno@clisp.org>
60577
60578         * lib/freadahead.h (freadahead): Document more precisely.
60579         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
60580         the sum of both buffer sizes.
60581         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
60582         * NEWS: Document the change.
60583
60584 2008-03-09  Bruno Haible  <bruno@clisp.org>
60585
60586         Extend freadptr to return also the buffer size.
60587         * lib/freadptr.h (freadptr): Add sizep argument.
60588         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
60589         (freadptr): Add sizep argument. Determine buffer size like freadahead
60590         does.
60591         * tests/test-freadptr.c: Don't include freadahead.h.
60592         (main): Adapt for new calling convention of freadptr.
60593         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
60594         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
60595         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
60596         tests/test-freadptr2.sh.
60597         (Depends): Remove freadahead.
60598         (TESTS): Add test-freadptr2.sh.
60599         (check_PROGRAMS): Add test-freadptr2.
60600
60601 2008-03-09  Bruno Haible  <bruno@clisp.org>
60602
60603         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
60604         Report and solution by Simon Josefsson.
60605
60606 2008-03-06  Bruno Haible  <bruno@clisp.org>
60607
60608         Make fflush after ungetc work on BSD platforms.
60609         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
60610         * tests/test-fflush2.c: New file.
60611         * tests/test-fflush2.sh: New file.
60612         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
60613         tests/test-fflush2.c.
60614         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
60615         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
60616
60617 2008-03-06  Eric Blake  <ebb9@byu.net>
60618
60619         Likewise for ftello.
60620         * modules/ftello (Dependencies): Add extensions.
60621         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
60622
60623 2008-03-06  Bruno Haible  <bruno@clisp.org>
60624
60625         * modules/fseeko (Dependencies): Add extensions.
60626         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
60627         Needed on glibc systems.
60628
60629 2008-03-06  Bruno Haible  <bruno@clisp.org>
60630
60631         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
60632         email address.
60633         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
60634
60635 2008-03-06  Bruno Haible  <bruno@clisp.org>
60636
60637         * users.txt: Add libgnupdf.
60638
60639 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
60640
60641         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
60642         (Header File Substitutes, Function Substitutes,
60643         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
60644         (Build robot for gnulib): Fix typo.
60645
60646 2008-03-06  Bruno Haible  <bruno@clisp.org>
60647
60648         * doc/gnulib-tool.texi (VCS Issues): Small updates.
60649         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
60650
60651 2008-03-06  Bruno Haible  <bruno@clisp.org>
60652
60653         * doc/func.texi: New file, extracted from doc/gnulib.texi.
60654         * doc/gnulib.texi: Include it.
60655
60656 2008-03-06  Simon Josefsson  <simon@josefsson.org>
60657
60658         * modules/func (License): Change license to unlimited; there was
60659         no LGPL parts in the module anyway.
60660
60661 2008-03-06  Simon Josefsson  <simon@josefsson.org>
60662
60663         * modules/__func__: Renamed to modules/func.
60664         * modules/__func__-tests: Renamed to modules/func-tests.
60665         * tests/test-__func__.c: Renamed to tests/test-func.c.
60666         * m4/__func__.m4: Renamed to m4/func.m4.
60667         * doc/gnulib.texi (__func__): Section renamed to func.
60668         Suggested by Eric Blake <ebb9@byu.net>.
60669
60670 2008-03-06  Simon Josefsson  <simon@josefsson.org>
60671
60672         * doc/gnulib.texi (__func__): Use C99 terminology when talking
60673         about __func__.  Make example self-contained.  Suggested by Eric
60674         Blake <ebb9@byu.net>.
60675
60676         * tests/test-__func__.c (main): Avoid extraneous () around __func.
60677         Suggested by Eric Blake <ebb9@byu.net>.
60678
60679 2008-03-06  Simon Josefsson  <simon@josefsson.org>
60680
60681         * modules/__func__: New file.
60682         * modules/__func__-tests: New file.
60683         * tests/test-__func__.c: New file.
60684         * m4/__func__.m4: New file.
60685         * doc/gnulib.texi (__func__): Document __func__ module.
60686
60687 2008-03-05  Simon Josefsson  <simon@josefsson.org>
60688
60689         * modules/byteswap (License): Re-license as LGPLv2+.
60690
60691 2008-03-05  Simon Josefsson  <simon@josefsson.org>
60692
60693         * doc/Makefile: Add pdf target.
60694
60695 2008-03-05  Simon Josefsson  <simon@josefsson.org>
60696
60697         * modules/inline (License): Use 'unlimited', since there are only
60698         *.m4 files in this module.
60699
60700 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
60701             Bruno Haible  <bruno@clisp.org>
60702
60703         Add support for HP C 7.1 on OpenVMS 8.3.
60704         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
60705
60706 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
60707
60708         Update VMS specifics.
60709         * lib/getopt.c [VMS]: Remove include of unixlib.h.
60710
60711 2008-03-02  Jim Meyering  <meyering@redhat.com>
60712
60713         Remove the last dependency on the "free" module.
60714         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
60715         Reported by Bob Proulx.
60716
60717         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
60718
60719         Remove useless "if" tests before free.  Deprecate "free" module.
60720         * doc/posix-functions/free.texi: Mention that this
60721         module is no longer useful.
60722         * modules/free (Notice): Say this module is obsolete.
60723         * modules/readutmp (Depends-on): Remove free.
60724         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
60725         * lib/putenv.c (putenv): Likewise.
60726         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
60727         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
60728         * tests/test-c-strcasestr.c (main): Likewise.
60729         * tests/test-c-strstr.c (main): Likewise.
60730         * tests/test-mbscasestr1.c (main): Likewise.
60731         * tests/test-mbscasestr2.c (main): Likewise.
60732         * tests/test-mbsstr1.c (main): Likewise.
60733         * tests/test-mbsstr2.c (main): Likewise.
60734         * tests/test-memmem.c (main): Likewise.
60735         * tests/test-strcasestr.c (main): Likewise.
60736         * tests/test-striconv.c (main): Likewise.
60737         * tests/test-striconveh.c (main): Likewise.
60738         * tests/test-striconveha.c (main): Likewise.
60739         * tests/test-strstr.c (main): Likewise.
60740
60741         * build-aux/git-version-gen: Adjust a comment and the Usage string.
60742
60743         bootstrap: sync from coreutils again
60744         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
60745
60746 2008-03-01  Jim Meyering  <meyering@redhat.com>
60747
60748         bootstrap: sync from coreutils
60749         * build-aux/bootstrap (update_po_files): Copy a .po file into place
60750         also when the target doesn't exist.
60751
60752 2008-03-01  Eric Blake  <ebb9@byu.net>
60753
60754         Fix bugs in last patch.
60755         * lib/memchr2.c (memchr2): Fix typo.
60756         * tests/test-memchr2.c: Test previous bug, and don't use GNU
60757         extension.
60758         Reported by Bruce Korb.
60759
60760         New module 'memchr2'.
60761         * modules/memchr2: New file.
60762         * modules/memchr2-tests: Likewise.
60763         * lib/memchr2.h: Likewise.
60764         * lib/memchr2.c: Likewise, based on memchr.c.
60765         * tests/test-memchr2.c: New test.
60766         * MODULES.html.sh (String handling): Add memchr2.
60767
60768 2008-02-29  Bruno Haible  <bruno@clisp.org>
60769
60770         * modules/freadseek-tests: New file.
60771         * tests/test-freadseek.sh: New file.
60772         * tests/test-freadseek.c: New file.
60773
60774         New module 'freadseek'.
60775         * modules/freadseek: New file.
60776         * lib/freadseek.h: New file.
60777         * lib/freadseek.c: New file.
60778         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
60779
60780 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
60781
60782         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
60783         wydawca.
60784
60785         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
60786         program_invocation_name and program_invocation_short_name are
60787         present.
60788
60789 2008-02-28  Bruno Haible  <bruno@clisp.org>
60790
60791         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
60792         * tests/test-freadptr.sh: Also test non-seekable stdin.
60793
60794 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
60795
60796         * build-aux/bootstrap (source_base, m4_base)
60797         (doc_base, tests_base): New variables.
60798         (gnulib_tool_options): Do not hardcode base directories, use
60799         the above variables instead.
60800
60801 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
60802
60803         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
60804
60805 2008-02-28  Bruno Haible  <bruno@clisp.org>
60806
60807         * modules/freadptr-tests: New file.
60808         * tests/test-freadptr.sh: New file.
60809         * tests/test-freadptr.c: New file.
60810
60811         New module 'freadptr'.
60812         * modules/freadptr: New file.
60813         * lib/freadptr.h: New file.
60814         * lib/freadptr.c: New file.
60815         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
60816
60817 2008-02-26  Karl Berry  <karl@freefriends.org>
60818
60819         Sync from Libtool:
60820         * libltdl/argz.c (argz_add, argz_count): New functions.
60821         * libltdl/argz.in.h: Declare them.
60822         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
60823
60824 2008-02-22  Bruno Haible  <bruno@clisp.org>
60825
60826         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
60827         is a pointer type.  Needed for HP-UX 10.
60828         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
60829         * doc/posix-functions/gmtime_r.texi: Likewise.
60830         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
60831
60832 2008-02-24  Bruno Haible  <bruno@clisp.org>
60833
60834         * modules/environ-tests: New file.
60835         * tests/test-environ.c: New file.
60836
60837         New module 'environ'.
60838         * modules/environ: New file.
60839         * lib/unistd.in.h (environ): New declaration.
60840         * m4/environ.m4: New file.
60841         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
60842         after use.
60843         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
60844         HAVE_DECL_ENVIRON.
60845         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
60846         HAVE_DECL_ENVIRON.
60847         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
60848         wrong claim that 'environ' is missing on some systems.
60849         * modules/execute (Depends-on): Add environ.
60850         * lib/execute.c (environ): Remove fallback declaration.
60851         * modules/pipe (Depends-on): Add environ.
60852         * lib/pipe.c (environ): Remove fallback declaration.
60853         * modules/setenv (Depends-on): Add environ.
60854         * lib/setenv.c (environ): Remove fallback declaration.
60855         * modules/unsetenv (Depends-on): Add environ.
60856         * lib/unsetenv.c (environ): Remove fallback declaration.
60857         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
60858         m4/environ.m4.
60859         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
60860         (gl_PREREQ_UNSETENV): Likewise.
60861
60862 2008-02-24  Bruno Haible  <bruno@clisp.org>
60863
60864         * doc/posix-functions/environ.texi: Document the MacOS X problem.
60865
60866 2008-02-20  Bob Proulx  <bob@proulx.com>
60867
60868         Enable use of older two part flavor 'git describe'.
60869         * build-aux/git-version-gen: If using the older two part flavor of
60870         git version then recreate the third part now present in the
60871         newer three part flavor of git describe.
60872
60873 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
60874
60875         * lib/fts.c (fts_build): Typo correction to comment.
60876
60877 2008-02-17  Bruno Haible  <bruno@clisp.org>
60878
60879         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
60880         generating no-op conflicts.
60881
60882 2008-02-17  Bruno Haible  <bruno@clisp.org>
60883
60884         Speed up by 10%.
60885         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
60886         result_entries, rather than an index-based loop.
60887
60888 2008-02-17  Bruno Haible  <bruno@clisp.org>
60889
60890         Speed up by 25%.
60891         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
60892         'hashcode_cached'.
60893         (entry_create): New function.
60894         (entry_hashcode): Use the cached hashcode if possible.
60895         (read_changelog_file, try_split_merged_entry): Use entry_create.
60896
60897 2008-02-17  Bruno Haible  <bruno@clisp.org>
60898
60899         Speed up from O(n^2) to O(n) for long ChangeLog files.
60900         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
60901         (read_changelog_file): Change implementation of entries_reversed list
60902         to rbtreehash.
60903         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
60904
60905 2008-02-17  Bruno Haible  <bruno@clisp.org>
60906
60907         New option --split-merged-entry.
60908         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
60909         (find_paragraph_end, try_split_merged_entry): New functions.
60910         (long_options): Add option --split-merged-entry.
60911         (usage): Document option --split-merged-entry.
60912         (main): Implement option --split-merged-entry.
60913         Reported by Eric Blake.
60914
60915 2008-02-17  Bruno Haible  <bruno@clisp.org>
60916
60917         * lib/git-merge-changelog.c: Include c-strstr.h.
60918         (main): Support the "git pull --rebase" situation.
60919         * modules/git-merge-changelog (Depends-on): Add c-strstr.
60920         Reported by Eric Blake.
60921
60922 2008-02-16  Eric Blake  <ebb9@byu.net>
60923
60924         Avoid doubling \ in common case of "c-maybe" quoting style.
60925         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
60926         eliding outer quotes.
60927         * lib/quotearg.h: Document this.
60928         * tests/test-quotearg.c (result_strings, inputs, results_g)
60929         (flag_results, locale_results): Test it by adding a new string to
60930         each test group.
60931         (compare_strings): Test new string.
60932
60933 2008-02-13  Eric Blake  <ebb9@byu.net>
60934
60935         Avoid trigraph quoting in default output.
60936         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
60937         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
60938         unless explicitly requested.
60939         * tests/test-quotearg.c (flag_results, main): Add additional tests.
60940
60941 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
60942
60943         Don't rely on signed integer overflowing to negative value.
60944         * lib/getugroups.c (getugroups): Include <limits.h>.
60945         Instead, compare against INT_MAX, and increment only if the test passes.
60946
60947 2008-02-13  Jim Meyering  <meyering@redhat.com>
60948         and Eric Blake  <ebb9@byu.net>
60949
60950         Avoid shadowing warning and compile errors on Linux.
60951         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
60952         forwarding macros on Linux.
60953         (dcgettext): Define a stub, for Linux.
60954         (results_g, main): Avoid warnings.
60955
60956 2008-02-12  Eric Blake  <ebb9@byu.net>
60957
60958         Silence warning in last patch.
60959         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
60960
60961         Quotearg part 4: add tests, fix c-maybe colon quoting.
60962         * lib/quotearg.h: Improve documentation.
60963         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
60964         escapes when adding outer quotes.  When quoting trigraphs, use
60965         valid C notation.  When quoting NUL, omit extra characters if next
60966         character is not digit.  Alter prototype.
60967         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
60968         callers.
60969         * modules/quotearg-tests: New module.
60970         * tests/test-quotearg.c: New test.
60971
60972 2008-02-07  Eric Blake  <ebb9@byu.net>
60973
60974         Quotearg part 3: add flag to control outer quote elision.
60975         * lib/quotearg.h (c_maybe_quoting_style): New style.
60976         (enum quoting_flags): Better documentation of flags.
60977         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
60978         c-maybe style.
60979         (quotearg_buffer_restyled): Handle new flag to elide outer
60980         quotes.
60981
60982         Quotearg part 2: add flag that can control NUL elision.
60983         * lib/quotearg.h (set_quoting_flags): New prototype.
60984         * lib/quotearg.c (struct quoting_options): Add flag field.
60985         (set_quoting_flags): New function.
60986         (quotearg_buffer_restyled): Add flags parameter.
60987         (quotearg_alloc_mem): Set the flag if length cannot be returned.
60988         (quotearg_n_options): Set the flag, since length cannot be
60989         returned.
60990         (quoting_options_from_style): Default flags correctly.
60991
60992         Quotearg part 1: more wrappers, restore quotearg_char state.
60993         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
60994         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
60995         (quotearg_colon_mem): New wrappers.
60996         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
60997         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
60998         functions.
60999         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
61000         (quotearg_colon_mem): New functions.
61001
61002 2008-02-11  Bruno Haible  <bruno@clisp.org>
61003
61004         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
61005         library in the current directory: it does not work with parallel make.
61006         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
61007
61008 2008-02-11  Bruno Haible  <bruno@clisp.org>
61009
61010         * .gitattributes: New file.
61011
61012 2008-02-11  Jim Meyering  <meyering@redhat.com>
61013
61014         useless-if-before-free: Fix reversed exit values.
61015         * build-aux/useless-if-before-free: Use correct values
61016         for EXIT_MATCH and EXIT_NO_MATCH.
61017
61018         * build-aux/useless-if-before-free: Close stdout carefully.
61019
61020 2008-02-10  Bruno Haible  <bruno@clisp.org>
61021
61022         New module 'git-merge-changelog'.
61023         * modules/git-merge-changelog: New file.
61024         * lib/git-merge-changelog.c: New file.
61025
61026 2008-02-10  Jim Meyering  <meyering@redhat.com>
61027
61028         useless-if-before-free: New option: --list (-l).
61029
61030         useless-if-before-free: Don't exit immediately upon open failure.
61031         * build-aux/useless-if-before-free: Exit 2 for errors.
61032         Upon failure to open a file, don't exit immediately.
61033         Rather, just warn and continue with any remaining files.
61034
61035 2008-02-10  Bruno Haible  <bruno@clisp.org>
61036
61037         New abstract list operation 'node_set_value'.
61038         * lib/gl_list.h (gl_list_node_set_value): New function.
61039         (struct gl_list_implementation): New field node_set_value.
61040         * lib/gl_list.c (gl_list_node_set_value): New function.
61041         * lib/gl_array_list.c (gl_array_node_set_value): New function.
61042         (gl_array_list_implementation): Update.
61043         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
61044         (gl_carray_list_implementation): Update.
61045         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
61046         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
61047         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
61048         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
61049         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
61050         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
61051         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
61052         Update.
61053         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
61054         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
61055         (gl_sublist_list_implementation): Update.
61056
61057 2008-02-10  Bruno Haible  <bruno@clisp.org>
61058
61059         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
61060         Needed when ELEMENT is #defined to 'some_type *'.
61061
61062 2008-02-10  Jim Meyering  <meyering@redhat.com>
61063
61064         New script and module: useless-if-before-free
61065         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
61066         * build-aux/useless-if-before-free: New file.
61067         * modules/useless-if-before-free: New file.
61068
61069         * build-aux/gitlog-to-changelog: Use committer date, not author date.
61070
61071         xstrtol_error: Fix typo.
61072         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
61073         s/exit_failure/exit_status/.
61074
61075 2008-02-09  Jim Meyering  <meyering@redhat.com>
61076
61077         New script and module: gitlog-to-changelog
61078         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
61079         * modules/gitlog-to-changelog: New file.
61080         * build-aux/gitlog-to-changelog: New file.
61081
61082 2008-02-08  Jim Meyering  <meyering@redhat.com>
61083
61084         Avoid two "parameter unused" warnings.
61085         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
61086         Mark "st" as used.
61087
61088         Use "git COMMAND", not "git-COMMAND".
61089         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
61090         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
61091         * build-aux/git-version-gen: Use "git status", not "git-status".
61092
61093 2008-02-07  Bruno Haible  <bruno@clisp.org>
61094
61095         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
61096         Avoids a crash on Windows Vista.
61097         Reported by Adam Strzelecki <ono@java.pl> via
61098         Simon Josefsson <simon@josefsson.org>.
61099
61100 2008-02-06  Bruno Haible  <bruno@clisp.org>
61101
61102         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
61103         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
61104         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
61105         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
61106         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
61107         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
61108         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
61109         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
61110         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
61111         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61112         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61113         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61114         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
61115         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61116         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61117         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
61118         left-adjust flag.
61119         * tests/test-snprintf-posix.h (test_function): Likewise.
61120         * tests/test-sprintf-posix.h (test_function): Likewise.
61121         * tests/test-vasprintf-posix.c (test_function): Likewise.
61122         * doc/posix-functions/fprintf.texi: Update.
61123         * doc/posix-functions/printf.texi: Update.
61124         * doc/posix-functions/snprintf.texi: Update.
61125         * doc/posix-functions/sprintf.texi: Update.
61126         * doc/posix-functions/vfprintf.texi: Update.
61127         * doc/posix-functions/vprintf.texi: Update.
61128         * doc/posix-functions/vsnprintf.texi: Update.
61129         * doc/posix-functions/vsprintf.texi: Update.
61130         Reported by Peter Fales <psfales@alcatel-lucent.com>.
61131
61132 2008-02-06  Bruno Haible  <bruno@clisp.org>
61133
61134         Fix bug introduced on 2008-01-26.
61135         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
61136
61137 2008-02-06  Bruno Haible  <bruno@clisp.org>
61138
61139         Fix bug introduced on 2007-06-10.
61140         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
61141         !NEED_PRINTF_FLAG_ZERO.
61142
61143 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
61144
61145         getloadavg: use libperfstat on AIX5
61146         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
61147
61148 2008-02-03  Bruno Haible  <bruno@clisp.org>
61149
61150         * lib/diffseq.h: Add comments about required #includes.
61151         Reported by Michael Biggs <gnulib@doubleplum.net>.
61152
61153 2008-02-01  Bruno Haible  <bruno@clisp.org>
61154
61155         * users.txt: Add gnuit.
61156
61157 2008-01-31  Bruno Haible  <bruno@clisp.org>
61158
61159         * lib/md4.c (set_uint32): Mark as inline.
61160         * lib/md5.c (set_uint32): Likewise.
61161         * lib/sha1.c (set_uint32): Likewise.
61162         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
61163         * m4/md5.m4 (gl_MD5): Likewise.
61164         * m4/sha1.m4 (gl_SHA1): Likewise.
61165
61166 2008-01-31  Jim Meyering  <meyering@redhat.com>
61167
61168         Use "sizeof VAR", rather than a literal "4".
61169         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
61170         * lib/md4.c (md4_read_ctx): Likewise.
61171         * lib/sha1.c (sha1_read_ctx): Likewise.
61172
61173 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61174
61175         * tests/test-sha1.c: New file, based on test-md5.c.
61176
61177         * modules/crypto/sha1-tests: New file.
61178
61179 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61180
61181         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
61182
61183 2008-01-31  Jim Meyering  <meyering@redhat.com>
61184
61185         Prefer "sizeof v" over the equivalent "4".
61186         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
61187         * lib/md5.c (set_uint32): Likewise.
61188         * lib/sha1.c (set_uint32): Likewise.
61189
61190 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61191
61192         * lib/sha1.c (set_uint32): Mark function as static.
61193
61194 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61195
61196         md2: clarify comments to say that alignment is not required.
61197         * lib/md2.h: Remove warning about alignment in comment.
61198         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
61199         never been required.
61200
61201 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61202
61203         md4: adapt alignment constraint fix from sha1.
61204         * lib/md4.c (set_uint32): New function, from sha1.c
61205         (md4_read_ctx): Use it.
61206         (md4_finish_ctx): Doc fix.
61207         * lib/md4.h: Doc fix.
61208
61209 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61210
61211         md5: adapt alignment constraint fix from sha1.
61212         * lib/md5.c (set_uint32): New function, from sha1.c
61213         (md5_read_ctx): Use it.
61214         (md5_finish_ctx): Doc fix.
61215         * lib/md5.h: Doc fix.
61216
61217 2008-01-30  Peter Palfrader  <weasel@debian.org>
61218
61219         sha1: remove the result buffer alignment constraint
61220         * lib/sha1.c (set_uint32): New function.
61221         (sha1_read_ctx): Rewrite to remove the result buffer alignment
61222         constraint.
61223         (sha1_finish_ctx): Remove comment warning about alignment constraint.
61224         * lib/sha1.h: Likewise.
61225
61226 2008-01-30  Andreas Schwab  <schwab@suse.de>
61227             Bruno Haible  <bruno@clisp.org>
61228
61229         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
61230         correct definition of LDBL_MIN_EXP.
61231
61232 2008-01-30  Karl Berry  <karl@gnu.org>
61233
61234         * config/srclist-update: try to preserve x bit on updates.
61235         * config/srclistvars.sh: update for karl.
61236
61237 2008-01-29  Jim Meyering  <meyering@redhat.com>
61238
61239         vasnprintf.c: Avoid warning about unused label
61240         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
61241         "overflow" label definition and associated code with the
61242         same cpp condition that guards the sole use of that label.
61243
61244 2008-01-26  Bruno Haible  <bruno@clisp.org>
61245
61246         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
61247         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
61248         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
61249         * lib/isnanl-nolibm.h (isnanl): Likewise.
61250         Reported by Paul Eggert <eggert@cs.ucla.edu>.
61251
61252 2008-01-26  Bruno Haible  <bruno@clisp.org>
61253
61254         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
61255         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
61256
61257 2008-01-26  Bruno Haible  <bruno@clisp.org>
61258
61259         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
61260         GCC >= 4.0 built-in.
61261         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
61262
61263 2008-01-26  Bruno Haible  <bruno@clisp.org>
61264
61265         Rename isnan, applicable to 'double' only, to isnand.
61266         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
61267         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
61268         (configure.ac): Update.
61269         (Include): Replace "isnan.h" with "isnand.h".
61270         * m4/isnand.m4: Renamed from m4/isnan.m4.
61271         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
61272         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
61273         instead of isnan.c.
61274         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
61275         instead of HAVE_ISNAN_IN_LIBC.
61276         (isnand): Renamed from isnan.
61277         * lib/isnand.c: New file.
61278         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
61279         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
61280         (Makefile.am): Update.
61281         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
61282         Include isnand.h instead of isnan.h.
61283         (main): Test isnand instead of isnan.
61284         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
61285         isnan-nolibm.
61286         * modules/frexp (Depends-on): Likewise.
61287         * modules/frexp-tests (Depends-on): Likewise.
61288         * modules/frexp-nolibm (Depends-on): Likewise.
61289         * modules/frexp-nolibm-tests (Depends-on): Likewise.
61290         * modules/isfinite (Depends-on): Likewise.
61291         * modules/round-tests (Depends-on): Likewise.
61292         * modules/signbit (Depends-on): Likewise.
61293         * modules/signbit-tests (Depends-on): Likewise.
61294         * modules/snprintf-posix (Depends-on): Likewise.
61295         * modules/sprintf-posix (Depends-on): Likewise.
61296         * modules/trunc-tests (Depends-on): Likewise.
61297         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
61298         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
61299         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
61300         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
61301         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
61302         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
61303         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
61304         * modules/vasnprintf-posix (Depends-on): Likewise.
61305         * modules/vasprintf-posix (Depends-on): Likewise.
61306         * modules/vfprintf-posix (Depends-on): Likewise.
61307         * modules/vsnprintf-posix (Depends-on): Likewise.
61308         * modules/vsprintf-posix (Depends-on): Likewise.
61309         * lib/frexp.c: Include isnand.h instead of isnan.h.
61310         (ISNAN): Set to isnand instead of isnan.
61311         * lib/isfinite.c: Include isnand.h instead of isnan.h.
61312         (gl_isfinited): Use isnand instead of isnan.
61313         * lib/signbitd.c: Include isnand.h instead of isnan.h.
61314         (gl_signbitd): Use isnand instead of isnan.
61315         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
61316         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
61317         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
61318         (main): Use isnand instead of isnan.
61319         * tests/test-round1.c: Include isnand.h.
61320         (main): Use isnand instead of isnan.
61321         * tests/test-round2.c: Include isnand.h instead of isnan.h.
61322         (ISNAN): Set to isnand instead of isnan.
61323         * tests/test-trunc1.c: Include isnand.h.
61324         (main): Use isnand instead of isnan.
61325         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
61326         (equal): Use isnand instead of isnan.
61327         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
61328         isnand-nolibm.
61329         * NEWS: Mention the change.
61330
61331 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
61332             Bruno Haible  <bruno@clisp.org>
61333
61334         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
61335         the GCC builtins for signbits are present and set
61336         REPLACE_SIGNBIT_USING_GCC if so.
61337         * lib/math.in.h (signbit): Define using GCC builtins if
61338         REPLACE_SIGNBIT_USING_GCC is set.
61339         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
61340         REPLACE_SIGNBIT_USING_GCC.
61341         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
61342
61343 2008-01-25  Jim Meyering  <meyering@redhat.com>
61344
61345         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
61346         * lib/poll.c: Include <config.h>, not "config.h".
61347         * tests/test-getaddrinfo.c: Likewise.
61348
61349 2008-01-25  Simon Josefsson  <simon@josefsson.org>
61350
61351         * modules/sockets-tests: New file.
61352
61353 2008-01-24  Simon Josefsson  <simon@josefsson.org>
61354
61355         * modules/sockets: New module, can be used to call WSA_Startup and
61356         WSA_Cleanup when needed.
61357
61358         * lib/sockets.h, lib/sockets.c: New files.
61359
61360         * m4/sockets.m4: New file.
61361
61362         * tests/test-sockets.c: New file.
61363
61364 2008-01-19  Bruno Haible  <bruno@clisp.org>
61365
61366         * doc/posix-headers: Renamed from doc/headers.
61367         * doc/posix-functions: Renamed from doc/functions.
61368         * doc/gnulib.texi: Update.
61369
61370 2008-01-19  Bruno Haible  <bruno@clisp.org>
61371
61372         * doc/glibc-functions/strcasestr.texi: Include contents of
61373         doc/functions/strcasestr.texi, fixing the list of platforms.
61374         * doc/functions/strcasestr.texi: Remove file.
61375
61376 2008-01-19  Bruno Haible  <bruno@clisp.org>
61377
61378         * doc/glibc-functions/memmem.texi: Include contents of
61379         doc/functions/memmem.texi.
61380         * doc/functions/memmem.texi: Remove file.
61381
61382 2008-01-18  Bruno Haible  <bruno@clisp.org>
61383
61384         * doc/glibc-functions/*.texi: New files.
61385         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
61386         to use the new files.
61387
61388 2008-01-17  Bruno Haible  <bruno@clisp.org>
61389
61390         * tests/test-gethostname.c (main): Fix printf statement.
61391
61392 2008-01-17  Simon Josefsson  <simon@josefsson.org>
61393
61394         * modules/gethostname-tests: New file.
61395
61396         * tests/test-gethostname.c: New file.
61397
61398 2008-01-17  Simon Josefsson  <simon@josefsson.org>
61399
61400         * lib/gethostname.c: Include string.h unconditionally, strncpy is
61401         used by the UNAME case.  Reported by Bruno Haible
61402         <bruno@clisp.org>.
61403
61404 2008-01-17  Eric Blake  <ebb9@byu.net>
61405
61406         Convert c-strcasestr to be more efficient.
61407         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
61408         (Depends-on): Add c-strcase, remove malloca, strnlen.
61409         * tests/test-c-strcasestr.c (main): Enhance test.
61410         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
61411
61412 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
61413
61414         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
61415         Use it in creating po/Makevars.
61416
61417 2008-01-15  Simon Josefsson  <simon@josefsson.org>
61418
61419         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
61420         Applications that requires it should initialize libgcrypt
61421         manually.
61422
61423 2008-01-16  Simon Josefsson  <simon@josefsson.org>
61424
61425         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
61426
61427 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
61428
61429         Fix problem with getdate on mingw32 reported by Simon Josefsson
61430         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
61431         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
61432         tzname", when deciding whether to declare tzname.
61433         * lib/strftime.c (tzname): Likewise.
61434
61435 2008-01-15  Bruno Haible  <bruno@clisp.org>
61436
61437         Work around a MacOS X 10.5 bug in frexpl().
61438         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
61439         * doc/functions/frexpl.texi: Document the bug.
61440         Reported by Elias Pipping <pipping@gentoo.org>.
61441
61442 2008-01-14  Eric Blake  <ebb9@byu.net>
61443
61444         Touch up previous patch.
61445         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
61446         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
61447
61448         Convert strcasestr module to use Two-Way algorithm.
61449         * modules/strcasestr-simple: New module, based on the old
61450         strcasestr, but with Two-Way rather than KMP.
61451         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
61452         * lib/string.in.h (rpl_strcasestr): Declare.
61453         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
61454         performance.
61455         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
61456         * modules/string (Makefile.am): Support strcasestr.
61457         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
61458         * modules/strcasestr-tests (Depends-on): Check for alarm.
61459         * tests/test-strcasestr.c: Augment test.
61460         * lib/str-two-way.h: Clean up stray macro.
61461         * NEWS: Document new module.
61462         * MODULES.html.sh (string handling): Likewise.
61463         * doc/functions/strcasestr.texi: New file.
61464         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
61465         here, since it is not a POSIX function.
61466
61467 2008-01-14  Colin Watson  <cjwatson@debian.org>
61468             Bruno Haible  <bruno@clisp.org>
61469
61470         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
61471         works fine; if not, set REPLACE_STRSIGNAL.
61472         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
61473         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
61474         REPLACE_STRSIGNAL.
61475         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
61476         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
61477         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
61478
61479 2008-01-14  Bruno Haible  <bruno@clisp.org>
61480
61481         * modules/strsignal (Include): Change to <string.h>.
61482
61483 2008-01-14  Colin Watson  <cjwatson@debian.org>
61484
61485         * modules/argp (Notice): Add a notice recommending to change
61486         XGETTEXT_OPTIONS.
61487         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
61488
61489 2008-01-13  Colin Watson  <cjwatson@debian.org>
61490
61491         * modules/strsignal-tests: New file.
61492         * tests/test-strsignal.c: New file.
61493
61494         * lib/strsignal.c: New file, from glibc with modifications.
61495         * lib/siglist.h: New file, from glibc with modifications.
61496         * lib/string.in.h (strsignal): New declaration.
61497         * m4/strsignal.m4: New file.
61498         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
61499         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
61500         * modules/strsignal: New file.
61501         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
61502         HAVE_DECL_STRSIGNAL.
61503
61504 2008-01-13  Bruno Haible  <bruno@clisp.org>
61505
61506         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
61507         locale encoding is not ASCII. Needed for OpenBSD 4.0.
61508         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
61509         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
61510
61511 2008-01-13  Bruno Haible  <bruno@clisp.org>
61512
61513         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
61514         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
61515         * lib/argp.h (__attribute__): Likewise.
61516         * lib/c-stack.c (__attribute__): Likewise.
61517         * lib/error.h (__attribute__): Likewise.
61518         * lib/fts.c (__attribute__): Likewise.
61519         * lib/openat.h (__attribute__): Likewise.
61520         * lib/stdio.in.h (__attribute__): Likewise.
61521         * lib/string.in.h (__attribute__): Likewise.
61522         * lib/utimens.c (__attribute__): Likewise.
61523         * lib/vasnprintf.h (__attribute__): Likewise.
61524         * lib/xalloc.h (__attribute__): Likewise.
61525         * lib/xprintf.h (__attribute__): Likewise.
61526         * lib/xstrtol.h (__attribute__): Likewise.
61527         * lib/xvasprintf.h (__attribute__): Likewise.
61528
61529 2008-01-12  Bruno Haible  <bruno@clisp.org>
61530
61531         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
61532         * doc/glibc-headers/a.out.texi: New file.
61533         * doc/glibc-headers/aliases.texi: New file.
61534         * doc/glibc-headers/alloca.texi: New file.
61535         * doc/glibc-headers/ar.texi: New file.
61536         * doc/glibc-headers/argp.texi: New file.
61537         * doc/glibc-headers/argz.texi: New file.
61538         * doc/glibc-headers/byteswap.texi: New file.
61539         * doc/glibc-headers/crypt.texi: New file.
61540         * doc/glibc-headers/endian.texi: New file.
61541         * doc/glibc-headers/envz.texi: New file.
61542         * doc/glibc-headers/err.texi: New file.
61543         * doc/glibc-headers/error.texi: New file.
61544         * doc/glibc-headers/execinfo.texi: New file.
61545         * doc/glibc-headers/fpu_control.texi: New file.
61546         * doc/glibc-headers/fstab.texi: New file.
61547         * doc/glibc-headers/fts.texi: New file.
61548         * doc/glibc-headers/getopt.texi: New file.
61549         * doc/glibc-headers/ieee754.texi: New file.
61550         * doc/glibc-headers/ifaddrs.texi: New file.
61551         * doc/glibc-headers/libintl.texi: New file.
61552         * doc/glibc-headers/mcheck.texi: New file.
61553         * doc/glibc-headers/mntent.texi: New file.
61554         * doc/glibc-headers/obstack.texi: New file.
61555         * doc/glibc-headers/paths.texi: New file.
61556         * doc/glibc-headers/printf.texi: New file.
61557         * doc/glibc-headers/pty.texi: New file.
61558         * doc/glibc-headers/resolv.texi: New file.
61559         * doc/glibc-headers/shadow.texi: New file.
61560         * doc/glibc-headers/sysexits.texi: New file.
61561         * doc/glibc-headers/ttyent.texi: New file.
61562
61563 2008-01-12  Jim Meyering  <meyering@redhat.com>
61564
61565         announce-gen: emit Gnulib's git-based version string.
61566         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
61567         New option --gnulib-version=V, where V is expected to be
61568         the output of running git describe in the gnulib directory.
61569         (get_tool_versions): Request feedback on xdelta.  I suspect it's
61570         not useful, and plan to stop publishing an xdelta file with each
61571         coreutils release.
61572
61573         * build-aux/announce-gen: Also check for lzma-compressed files.
61574
61575 2008-01-11  Bruno Haible  <bruno@clisp.org>
61576
61577         * tests/test-memmem.c (main): Increase maximum allowed time.
61578         * tests/test-strstr.c (main): Likewise.
61579
61580 2008-01-11  Bruno Haible  <bruno@clisp.org>
61581
61582         * doc/functions/memmem.texi: Add more precisions about platforms.
61583         * doc/functions/strstr.texi: Likewise.
61584
61585 2008-01-10  Eric Blake  <ebb9@byu.net>
61586
61587         * m4/strstr.m4: Delete cruft from copy-n-paste.
61588         Reported by Bruno Haible.
61589
61590 2008-01-10  Bruno Haible  <bruno@clisp.org>
61591
61592         Make c-strstr rely on strstr.
61593         * lib/c-strstr.c: Don't include str-kmp.h.
61594         (c_strstr): Define in terms of strstr.
61595         * modules/c-strstr (Files): Remove lib/str-kmp.h.
61596         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
61597
61598 2008-01-10  Bruno Haible  <bruno@clisp.org>
61599
61600         * doc/gnulib.texi (String Functions in C Locale): New section.
61601         * doc/c-ctype.texi: New file.
61602         * doc/c-strcase.texi: New file.
61603         * doc/c-strcaseeq.texi: New file.
61604         * doc/c-strcasestr.texi: New file.
61605         * doc/c-strstr.texi: New file.
61606         * doc/c-strtod.texi: New file.
61607         * doc/c-strtold.texi: New file.
61608
61609 2008-01-10  Eric Blake  <ebb9@byu.net>
61610
61611         * lib/relocatable.h: Fix a comment.
61612
61613 2008-01-10  Eric Blake  <ebb9@byu.net>
61614
61615         Share two-way algorithm.
61616         * lib/str-two-way.h: New file, merged from...
61617         * lib/memmem.c: ...here...
61618         * lib/strstr.c: ...and here.
61619         * modules/memmem (Files): Use it.
61620         * modules/strstr (Files): Likewise.
61621
61622         Avoid quadratic strstr implementations.
61623         * lib/strstr.c: New file.
61624         * m4/strstr.m4: Likewise.
61625         * modules/strstr: Likewise.
61626         * modules/strstr-tests: Likewise.
61627         * tests/test-strstr.c: Likewise.
61628         * lib/string.in.h (rpl_strstr): Declare.
61629         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
61630         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
61631         * modules/string (Makefile.am): Likewise.
61632         * MODULES.html.sh (string handling): Mention new module.
61633         * doc/functions/strstr.texi (strstr): Document the bug.
61634
61635 2008-01-10  Bruno Haible  <bruno@clisp.org>
61636
61637         * lib/relocatable.h (relocate): State whether result is freshly
61638         allocated or not.
61639         * lib/relocatable.c (relocate): Return a freshly allocated string
61640         instead of a pointer to a privately held string.
61641         Reported by Sylvain Beucler <beuc@gnu.org>.
61642
61643 2008-01-10  Colin Watson  <cjwatson@debian.org>
61644
61645         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
61646         s/S_ISNLK/S_ISLNK/.
61647
61648 2008-01-09  Bruno Haible  <bruno@clisp.org>
61649
61650         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
61651         and other files.
61652         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
61653         if it's only a guess.
61654         * modules/memmem: Simplify by depending on memmem-simple.
61655
61656 2008-01-09  Bruno Haible  <bruno@clisp.org>
61657
61658         Work around OpenBSD 4.0 tdelete() bug.
61659         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
61660         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
61661         macros and don't redefine the enum values.
61662         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
61663         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
61664         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
61665
61666 2008-01-09  Bruno Haible  <bruno@clisp.org>
61667
61668         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
61669         (main): Don't perform the tests if setlocale did not install a UTF-8
61670         locale. Needed on OpenBSD 4.0.
61671         * modules/wcwidth-tests (Depends-on): Add localcharset.
61672
61673 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
61674
61675         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
61676         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
61677         * NEWS: announce this.
61678         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
61679
61680 2008-01-09  Simon Josefsson  <simon@josefsson.org>
61681         and Eric Blake  <ebb9@byu.net>
61682
61683         Add memmem-simple module.
61684         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
61685         (gl_FUNC_MEMMEM): Separate performance from presence checks.
61686         * modules/memmem-simple: New file.
61687         * modules/memmem (Description): Tweak.
61688         * MODULES.html.sh (string handling): Mention new module.
61689         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
61690         addressed by memmem-simple.
61691         * NEWS: Document the difference.
61692
61693 2008-01-09  Eric Blake  <ebb9@byu.net>
61694
61695         Give gcc some memmem optimization hints.
61696         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
61697         (strcasestr): Declare as pure.
61698         * modules/memmem (Maintainer): Claim my implementation.
61699
61700 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61701
61702         Support AIX 6.1 and higher.
61703         * build-aux/config.libpath: Likewise.
61704         * build-aux/config.rpath: Likewise.
61705
61706 2008-01-08  Jim Meyering  <meyering@redhat.com>
61707             Bruno Haible  <bruno@clisp.org>
61708
61709         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
61710         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
61711         Reported by Peter Fales in
61712         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
61713
61714 2008-01-08  Bruno Haible  <bruno@clisp.org>
61715
61716         * modules/unictype/category-of (Depends-on): Add
61717         unictype/category-none.
61718         * modules/unictype/category-and-tests (Depends-on): Add
61719         unictype/category-{L,N,Lu,Nd}.
61720         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
61721         * modules/unictype/category-or-tests (Depends-on): Add
61722         unictype/category-{L,N}.
61723         * modules/unictype/category-name-tests (Depends-on): Add
61724         unictype/category-{Z,Nl}.
61725         Reported by Simon Josefsson.
61726
61727 2008-01-08  Bruno Haible  <bruno@clisp.org>
61728
61729         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
61730         convention better.
61731         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
61732         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
61733         Reported by Peter Miller <millerp@canb.auug.org.au>.
61734
61735 2008-01-08  Eric Blake  <ebb9@byu.net>
61736
61737         Rewrite memmem to guarantee linear complexity without malloc.
61738         * lib/memmem.c (memmem): Use Two-Way rather than
61739         Knuth-Morris-Pratt, to allow O(1) space usage.
61740         (critical_factorization, two_way_short_needle)
61741         (two_way_long_needle): New functions.
61742         (knuth_morris_pratt): Delete.
61743         * modules/memmem (Depends-on): No longer need malloca or stdbool.
61744         Add stdint.
61745         * tests/test-memmem.c (main): Add tests for periodic needle and
61746         sublinear performance.
61747         * doc/functions/memmem.texi (memmem): Document other deficiencies
61748         in cygwin and older glibc.
61749
61750 2008-01-08  Bruno Haible  <bruno@clisp.org>
61751
61752         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
61753         augmentation.
61754
61755 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
61756
61757         Add a configure time option: --disable-acl.
61758         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
61759         AC_ARG_ENABLE(acl).
61760
61761 2008-01-06  Simon Josefsson  <simon@josefsson.org>
61762
61763         * tests/test-localename.c: Don't include obsolete "setenv.h".
61764
61765         * modules/localename-tests (Depends-on): Need unsetenv.
61766
61767 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61768
61769         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
61770
61771 2008-01-06  Colin Watson  <cjwatson@debian.org>
61772
61773         * users.txt: Add man-db.
61774
61775 2008-01-07  Bruno Haible  <bruno@clisp.org>
61776
61777         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
61778         previous section name.
61779
61780 2008-01-07  Bruno Haible  <bruno@clisp.org>
61781
61782         * lib/progname.c (set_program_name): Don't strip off a leading
61783         "lt-" prefix outside a .libs directory.
61784         Suggested by Paul Eggert.
61785
61786 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
61787             Bruno Haible  <bruno@clisp.org>
61788
61789         Improve memory cleanup in 'relocatable' module.
61790         * lib/relocatable.h (compute_curr_prefix): Change return type to
61791         'char *'.
61792         * lib/relocatable.c (compute_curr_prefix): Change return type to
61793         'char *'. Free curr_installdir after use.
61794         (relocate): Free curr_prefix_better after use.
61795         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
61796
61797 2008-01-01  Bruno Haible  <bruno@clisp.org>
61798
61799         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
61800         failure on older glibc systems.
61801         Reported by Peter Fales <psfales@alcatel-lucent.com>.
61802
61803 2008-01-05  Eric Blake  <ebb9@byu.net>
61804
61805         Avoid quadratic system memmem.
61806         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
61807         Reported by Ralf Wildenhues.
61808
61809         Fix memmem test for mingw.
61810         * modules/memmem-tests (configure.ac): Check for alarm.
61811         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
61812         it.
61813         * doc/functions/memmem.texi: New file.
61814         * doc/gnulib.texi (Function Substitutes): Add memmem.
61815         Reported by Bruno Haible.
61816
61817 2008-01-04  Bruno Haible  <bruno@clisp.org>
61818
61819         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
61820         Require gl_HEADER_STRINGS_H_DEFAULTS, not
61821         gl_HEADER_STRING_H_DEFAULTS.
61822
61823 2008-01-04  Eric Blake  <ebb9@byu.net>
61824
61825         Shorten duration of memmem test.
61826         * tests/test-memmem.c (main): Use alarm to declare failure if test
61827         is taking too long.
61828         Reported by Ralf Wildenhues.
61829
61830 2007-12-21  Simon Josefsson  <simon@josefsson.org>
61831
61832         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
61833         string, needed by strerror.
61834
61835 2008-01-03  Colin Watson  <cjwatson@debian.org>
61836             Bruno Haible  <bruno@clisp.org>
61837
61838         * doc/gnulib-tool.texi (Localization): New section.
61839
61840 2008-01-02  Bruno Haible  <bruno@clisp.org>
61841
61842         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
61843         variables to 'unsigned char *' type.
61844         Reported by Paul Eggert.
61845
61846 2008-01-02  Jim Meyering  <jim@meyering.net>
61847
61848         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
61849
61850 2007-12-31  Jim Meyering  <jim@meyering.net>
61851
61852         Avoid use of private FTS type name.
61853         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
61854
61855 2007-12-30  Karl Berry  <karl@gnu.org>
61856
61857         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
61858         work around defect in Texinfo and/or the standalone Info browser.
61859
61860 2007-12-30  Bruno Haible  <bruno@clisp.org>
61861
61862         Unify 5 copies of the KMP code.
61863         * lib/str-kmp.h: New file.
61864         * lib/c-strcasestr.c: Include str-kmp.h.
61865         (knuth_morris_pratt): Remove function.
61866         (c_strcasestr): Update.
61867         * lib/c-strstr.c: Include str-kmp.h.
61868         (knuth_morris_pratt): Remove function.
61869         (c_strcasestr): Update.
61870         * lib/mbscasestr.c: Include str-kmp.h.
61871         (knuth_morris_pratt_unibyte): Remove function.
61872         * lib/mbsstr.c: Include str-kmp.h.
61873         (knuth_morris_pratt_unibyte): Remove function.
61874         * lib/strcasestr.c: Include str-kmp.h.
61875         (knuth_morris_pratt): Remove function.
61876         (strcasestr): Update.
61877         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
61878         * modules/c-strstr (Files): Likewise.
61879         * modules/mbscasestr (Files): Likewise.
61880         * modules/mbsstr (Files): Likewise.
61881         * modules/strcasestr (Files): Likewise.
61882         Suggested by Paul Eggert.
61883
61884 2007-12-30  Bruno Haible  <bruno@clisp.org>
61885
61886         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
61887         defined.
61888
61889 2007-12-30  Bruno Haible  <bruno@clisp.org>
61890
61891         * lib/xmalloca.h: Include xalloc.h.
61892         (xnmalloca): New macro.
61893
61894 2007-12-30  Bruno Haible  <bruno@clisp.org>
61895
61896         * lib/malloca.h (nmalloca): New macro.
61897         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
61898         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
61899         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
61900         knuth_morris_pratt_multibyte): Likewise.
61901         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
61902         knuth_morris_pratt_multibyte): Likewise.
61903         * lib/memmem.c (knuth_morris_pratt): Likewise.
61904         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
61905
61906 2007-12-25  Bruno Haible  <bruno@clisp.org>
61907
61908         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
61909         * lib/glob.c: Don't include openat.h.
61910         (link_exists2_p): Add back the code that deals with the
61911         !GLOB_ALTDIRFUNC case.
61912         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
61913         let it do the filename concatenation.
61914         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
61915         * modules/glob (Depends-on): Remove openat.
61916
61917 2007-12-31  Bruno Haible  <bruno@clisp.org>
61918
61919         * modules/dirfd (License): Change to LGPLv2+.
61920         Approved by Jim Meyering.
61921
61922 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
61923
61924         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
61925         when multiplying M by sizeof (size_t).
61926
61927 2007-12-10  Martin Lambers  <marlam@marlam.de>
61928
61929         Override getpagesize on mingw.
61930         * lib/getpagesize.c: New file.
61931         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
61932         * modules/getpagesize (Files): Add lib/getpagesize.c.
61933         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
61934         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
61935         REPLACE_GETPAGESIZE.
61936         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
61937
61938 2007-12-25  Bruno Haible  <bruno@clisp.org>
61939
61940         * modules/localcharset (Notice): New field.
61941         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
61942         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
61943
61944 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
61945             Bruno Haible  <bruno@clisp.org>
61946
61947         Avoid using the syntax symbol() in formatted documentation.
61948         * MODULES.html.sh (func_module): When replacing symbol() with a
61949         hyperlink, remove the parentheses. Show an error if some remain.
61950         Recognize and render the '...' syntax.
61951         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
61952         Rework. Add paragraph about GCC's inlining.
61953         * doc/alloca.texi: Likewise.
61954         * doc/error.texi: Remove parentheses from symbol reference.
61955         * doc/gnulib-intro.texi: Likewise.
61956         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
61957         * modules/fnmatch (Description): Reword to say "the ... function".
61958         * modules/full-read (Description): Likewise.
61959         * modules/full-write (Description): Likewise.
61960         * modules/safe-read (Description): Likewise.
61961         * modules/safe-write (Description): Likewise.
61962         * modules/strchrnul (Description): Likewise.
61963         * modules/trim (Description): Likewise.
61964         * modules/error (Description): Remove parentheses from symbol
61965         references.
61966         * modules/verror (Description): Likewise.
61967         Reported by Karl Berry.
61968
61969 2007-12-25  Bruno Haible  <bruno@clisp.org>
61970
61971         Fixup after 2007-10-16 commit.
61972         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
61973
61974 2007-12-24  Bruno Haible  <bruno@clisp.org>
61975
61976         Make --enable-relocatable work with DESTDIR.
61977         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
61978         to compute installdir from destprog.
61979         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
61980         also set the RELOC_DESTDIR variable.
61981         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
61982
61983 2007-12-24  Bruno Haible  <bruno@clisp.org>
61984
61985         Fix link error due to xalloc_die().
61986         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
61987         of xreadlink.
61988         * lib/relocwrapper.c: Update comments.
61989         * build-aux/install-reloc: Remove xreadlink.c from file list.
61990         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
61991         xreadlink.c.
61992         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
61993
61994 2007-12-24  Bruno Haible  <bruno@clisp.org>
61995
61996         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
61997         * lib/setenv.h: Remove file.
61998         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
61999         lib/setenv.h.
62000         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
62001         (Depends-on): Add stdlib.
62002         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
62003         gl_FUNC_UNSETENV.
62004         (Include): Replace setenv.h with <stdlib.h>.
62005         * modules/unsetenv: New file.
62006         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
62007         * lib/unsetenv.c: Include <stdlib.h> first.
62008         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
62009         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
62010         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
62011         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
62012         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
62013         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
62014         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
62015         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
62016         * doc/functions/unsetenv.texi: Update.
62017         * modules/xsetenv (Depends-on): Add unsetenv.
62018         * modules/getdate (Depends-on): Likewise.
62019         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
62020         * lib/xsetenv.c: Don't include setenv.h.
62021         * lib/getdate.y: Likewise.
62022         * lib/relocwrapper.c: Likewise.
62023         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
62024         (Depends-on): Add stdlib.
62025         * NEWS: Mention the changes.
62026         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
62027
62028 2007-12-23  Bruno Haible  <bruno@clisp.org>
62029
62030         * lib/memmem.c (memmem): Use lowercase variable names. Tab
62031         indentation.
62032
62033 2007-12-23  Bruno Haible  <bruno@clisp.org>
62034
62035         * lib/c-strcasestr.c: Add more comments.
62036         * lib/c-strstr.c: Likewise.
62037         * lib/mbscasestr.c: Likewise.
62038         * lib/mbsstr.c: Likewise.
62039         * lib/strcasestr.c: Likewise.
62040         * lib/memmem.c: Likewise.
62041
62042 2007-12-23  Bruno Haible  <bruno@clisp.org>
62043
62044         * tests/test-memmem.c: Include <string.h> first.
62045
62046 2007-12-22  Bruno Haible  <bruno@clisp.org>
62047
62048         * gnulib-tool (func_create_testdir): Change $auxdir while generating
62049         the contents of $testsbase.
62050         Reported by Ralf Wildenhues.
62051
62052 2007-12-22  Bruno Haible  <bruno@clisp.org>
62053
62054         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
62055         two variables local_ldadd_before, local_ldadd_last.
62056
62057 2007-12-20  Eric Blake  <ebb9@byu.net>
62058
62059         Work around circular library issue when cross-compiling.
62060         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
62061         that progname.o does not need to pull in rpl_memcmp.
62062
62063 2007-12-19  Eric Blake  <ebb9@byu.net>
62064
62065         Fix memmem to avoid O(n^2) worst-case complexity.
62066         * lib/memmem.c (knuth_morris_pratt): New function.
62067         (memmem): Use it if first few naive iterations fail.
62068         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
62069         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
62070         * modules/memchr (License): Likewise.
62071         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
62072         malloca.
62073         * tests/test-memmem.c: Rewrite, borrowing ideas from
62074         test-mbsstr1.c; the old version wouldn't even compile!
62075         * modules/memmem-tests: New file.
62076         * lib/string.in.h (rpl_memmem): Add declaration.
62077         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
62078         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
62079         REPLACE_MEMMEM.
62080
62081 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
62082
62083         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
62084         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
62085         before any system include files, and undef after them all.  This
62086         should fix a problem on VMS reported by John E. Malmberg in
62087         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
62088
62089 2007-12-17  Eric Blake  <ebb9@byu.net>
62090
62091         Revert addition of verify, for BSD/OS.
62092         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
62093         can't handle large files, for the sake of obsolete platforms.
62094         * modules/fseeko (Depends-on): Remove verify.
62095         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
62096         * doc/functions/ftello.texi (ftello): Likewise.
62097         * doc/functions/fgetpos.texi (fgetpos): Likewise.
62098         Reported by Larry Jones.
62099
62100 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
62101
62102         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
62103         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
62104
62105 2007-12-17  Jim Meyering  <meyering@redhat.com>
62106
62107         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
62108         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
62109         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
62110         * modules/getcwd (Depends-on): Add openat.
62111         Reported by Petr Salinger.
62112
62113 2007-12-17  Bruno Haible  <bruno@clisp.org>
62114
62115         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
62116         avoid a segmentation fault of the configure test on x86_64 systems.
62117
62118 2007-12-15  Jim Meyering  <meyering@redhat.com>
62119
62120         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
62121
62122 2007-12-13  Eric Blake  <ebb9@byu.net>
62123
62124         Another fseek test.
62125         * tests/test-fseek.c (main): Also test ungetc handling.
62126         * tests/test-fseeko.c (main): Likewise.
62127         * modules/fseeko (Depends-on): Add verify.
62128         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
62129         large.
62130         Reported by Larry Jones.
62131
62132         Fix fseeko on mingw.
62133         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
62134         seek.
62135
62136         Beef up fseek tests.
62137         * tests/test-fseek.c (main): Also test eof handling.
62138         * tests/test-fseeko.c (main): Likewise.
62139         Reported by Larry Jones.
62140
62141 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
62142
62143         Fix fseeko on BSD-based platforms.
62144         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
62145         successful seek.
62146
62147 2007-12-12  Eric Blake  <ebb9@byu.net>
62148
62149         Allow circular dependency of separate libtests.a
62150         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
62151         when use_libtests.
62152
62153 2007-12-11  Eric Blake  <ebb9@byu.net>
62154
62155         Fix bug with -0.0L in previous patch.
62156         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
62157         * tests/test-isnan.c (main): Also test on zeroes.
62158         * tests/test-isnanf.c (main): Likewise.
62159         * tests/test-isnanl.h (main): Likewise.
62160
62161         Detect pseudo-denormals on x86 even when cross-compiling.
62162         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
62163         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
62164         invalid bit patterns that happen to satisfy ==.
62165
62166         Avoid link failures with separate libtests.a.
62167         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
62168         last, to satisfy circular dependencies.
62169
62170 2007-12-11  Eric Blake  <ebb9@byu.net>
62171         and Bruno Haible  <bruno@clisp.org>
62172
62173         Fix OpenBSD 4.0 <float.h> handling of long double.
62174         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
62175         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
62176         * doc/headers/float.texi (float.h): Document OpenBSD bug.
62177
62178 2007-12-11  Jim Meyering  <meyering@redhat.com>
62179
62180         * users.txt: Add libvirt.
62181
62182         Support versions of autoconf prior to 2.59c.
62183         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
62184         if it is not already defined.
62185
62186 2007-12-09  Bruno Haible  <bruno@clisp.org>
62187
62188         Let 'gnulib-tool --import' collect sources needed for the tests in
62189         tests/ rather than in lib/.
62190         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
62191         argument. If true, add rules to generate libtests.a, and put libtests.a
62192         into $(LDADD). Consider source files in subdirectories and set
62193         uses_subdirs.
62194         (func_emit_initmacro_start, func_emit_initmacro_end,
62195         func_emit_initmacro_done): Pass all arguments explicitly.
62196         (func_import): Determine two module lists main_modules,
62197         testsrelated_modules. Determine use_libtests. Determine two variables
62198         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
62199         instead of just sed_transform_lib_file. Determine two variables
62200         main_files and testsrelated_files. Compute 'files' as the union of
62201         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
62202         func_add_or_update. In the generated gnulib-comp.m4, collect the
62203         object files for tests/ in different variables than those for lib/.
62204         Substitute LIBTESTS_LIBDEPS.
62205         (func_create_testdir): Combine the uses_subdirs results from
62206         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
62207
62208 2007-12-09  Bruno Haible  <bruno@clisp.org>
62209
62210         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
62211         the build-aux directory.
62212
62213 2007-12-09  Bruno Haible  <bruno@clisp.org>
62214
62215         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
62216         introduced on 2006-09-09.
62217
62218 2007-12-07  Jim Meyering  <meyering@redhat.com>
62219
62220         Let these macros work also with autoconf-2.59.
62221         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
62222         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
62223         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
62224
62225 2007-12-06  Jim Meyering  <meyering@redhat.com>
62226
62227         Avoid a configure-time syntax error in gl_FUNC_ACL.
62228         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
62229         function in each branch, before testing the cache variable.
62230
62231 2007-12-04  Eric Blake  <ebb9@byu.net>
62232
62233         Make scripts executable.
62234         * build-aux/config.guess: Add execute permissions.
62235         * build-aux/config.sub: Likewise.
62236         * build-aux/gendocs.sh: Likewise.
62237
62238         Fix frexp on mingw.
62239         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
62240         cross-compiling.
62241         * doc/functions/frexp.texi (frexp): Document the bug.
62242
62243         Make cygwin fseeko check more reliable.
62244         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
62245         version numbers, rather than unrelated feature check.
62246         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
62247         * doc/functions/ftello.texi (ftello): Likewise.
62248         Reported by Bruno Haible.
62249
62250         * m4/strerror.m4: Bump version number.
62251
62252 2007-12-03  Bruno Haible  <bruno@clisp.org>
62253
62254         * doc/functions/mprotect.texi: Mention the mingw problem.
62255
62256 2007-12-03  Eric Blake  <ebb9@byu.net>
62257
62258         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
62259         REPLACE_STRERROR is initialized before this macro.
62260
62261 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
62262
62263         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
62264         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
62265         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
62266         put -lsec in even for programs other than 'ls'.  This fixes a problem
62267         for gettext reported by Bruno Haible in
62268         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
62269         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
62270         Add support for Solaris 10.  This isn't efficient, but should get the
62271         job done for now.
62272
62273 2007-12-03  James Youngman  <jay@gnu.org>
62274
62275         * doc/regexprops-generic.texi: change "an close-group" to "a
62276         close-group" and "illegal" to "not allowed".
62277
62278 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62279
62280         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
62281         pr_byname.h. Needed for the rare case when the maintainer has done
62282         "make maintainer-clean" in the source directory and then attempts a
62283         build outside the source directory.
62284         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
62285         scripts_byname.h.
62286
62287 2007-12-02  Martin Lambers <marlam@marlam.de>
62288             Bruno Haible  <bruno@clisp.org>
62289
62290         * lib/getpagesize.h: Remove file.
62291         * lib/unistd.in.h: Include declaration of getpagesize here.
62292         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
62293         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
62294         HAVE_SYS_PARAM_H.
62295         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
62296         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
62297         * modules/getpagesize (Files): Remove lib/getpagesize.h.
62298         (Depends-on): Add unistd.
62299         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62300         (Include): Use <unistd.h> instead of getpagesize.h.
62301         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
62302         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
62303         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
62304         gl_GETPAGESIZE invocation, already handled by module dependency.
62305         * lib/pagealign_alloc.c: Don't include getpagesize.h.
62306
62307 2007-12-02  Bruno Haible  <bruno@clisp.org>
62308
62309         * modules/strings-tests: New file.
62310         * tests/test-strings.c: New file.
62311
62312         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
62313         * lib/strings.in.h: New file.
62314         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
62315         * m4/strings_h.m4: New file.
62316         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
62317         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
62318         * modules/strings: New file.
62319         * modules/string (Makefile.am): Update.
62320         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
62321         Reported by Karl Berry.
62322
62323 2007-12-01  Eric Blake  <ebb9@byu.net>
62324
62325         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
62326         accommodate fix in cygwin 1.5.25.
62327
62328 2007-12-01  Jim Meyering  <meyering@redhat.com>
62329
62330         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
62331         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
62332         that would inhibit utf8-optimization of a regexp containing line-
62333         or buffer-anchors, e.g., `^', `$'.
62334
62335 2007-11-30  Bruno Haible  <bruno@clisp.org>
62336
62337         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
62338         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
62339         glthread_recursive_lock_init.
62340         * lib/lock.c (glthread_recursive_lock_init)
62341         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
62342         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
62343
62344 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
62345
62346         New function qset_acl, like set_acl but with syscall semantics.
62347         * lib/acl.h (qset_acl): New decl.
62348         * lib/acl.c (qset_acl): New function.
62349         (set_acl): Use new function.  Use more-consistent diagnostics.
62350
62351 2007-11-28  Jim Meyering  <meyering@redhat.com>
62352
62353         * modules/physmem (License): Change from GPL to LGPLv2+.
62354
62355 2007-11-26  Bruno Haible  <bruno@clisp.org>
62356
62357         * lib/vasnprintf.c (decode_long_double): Don't abort if the
62358         'long double' type has excess precision.
62359         Reported by Jim Meyering in
62360         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
62361
62362 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62363
62364         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
62365         Sync from <http://gnu.org/licenses>.
62366         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
62367         with license text from same location.
62368         * doc/maintain.texi, doc/standards.texi:  Sync from
62369         <http://savannah.gnu.org/projects/gnustandards>.
62370
62371 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
62372         and Jim Meyering  <meyering@redhat.com>
62373
62374         Adjust getdate' grammar to accept a slightly more regular language.
62375         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
62376         Before, the former was rejected.
62377         * lib/getdate.y (digits_to_date_time): New function, factored
62378         out of ...
62379         (number): ...here.  Just call digits_to_date_time.
62380         (hybrid): New non-terminal to handle an <unsigned number,
62381         signed relative offset> sequence consistently.
62382
62383 2007-11-18  Jim Meyering  <meyering@redhat.com>
62384
62385         Pull my changes from coreutils:
62386         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
62387         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
62388         use of $gnulib_tool_option_extras, so that it's separated from the
62389         preceding argument.
62390
62391         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
62392         * build-aux/bootstrap (cp_mark_as_generated): Create any required
62393         parent destination directories before copying a file into place.
62394
62395 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
62396
62397         bootstrap: work also with 4-argument variant of AC_INIT
62398         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
62399
62400 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
62401
62402         Port test-getaddrinfo to Solaris.
62403         Problem reported by Bruno Haible in
62404         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
62405         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
62406         explanation of setting 'hints'.
62407         Don't reject an implementation merely because it returns EAI_SERVICE.
62408         (EAI_SERVICE): Define to 0 if not defined.
62409
62410 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
62411
62412         The license of gnu-make and posix-shell is now "GPLed build tool".
62413         * modules/gnu-make (License): Likewise.
62414         * modules/posix-shell (License): Likewise.
62415
62416         New module posix-shell, for determining a POSIX shell
62417         or perhaps something that is close enough to a POSIX shell.
62418         * m4/posix-shell.m4: New file.
62419         * modules/posix-shell: New file.
62420
62421         * MODULES.html.sh: Mention new module.
62422
62423         New module gnu-make, for determining whether we're using GNU Make.
62424         * m4/gnu-make.m4: New file.
62425         * modules/gnu-make: New file.
62426         * MODULES.html.sh: Mention new module.
62427
62428 2007-11-14  Jim Meyering  <meyering@redhat.com>
62429
62430         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
62431         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
62432         use this macro to create a function _definition_.
62433         Remove useless "#undef ARGMATCH_DIE".
62434
62435 2007-11-14  Bruno Haible  <bruno@clisp.org>
62436
62437         * lib/config.charset: Update for OpenBSD 4.1.
62438         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
62439
62440 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
62441
62442         Document 64-bit #if problems in stdint.texi.
62443         * doc/headers/stdint.texi (stdint.h): Mention problems with
62444         64-bit-#if, and how to work around them.
62445
62446         Don't insist on 'long long int' support in the preprocessor.  It
62447         breaks too many things.  For example, PRIdMAX still uses a 'long
62448         long int' format with the latest Sun compiler, even though
62449         HAVE_LONG_LONG_INT isn't defined due to that compiler's
62450         preprocessor problem.  This causes the latest coreutils to dump
62451         core on Solaris 10 sparc with the Sun C compiler.
62452         Instead, fix the 2007-10-16 problem in a different way, by evaluating
62453         the troublesome expressions at configure-time, not at #if-time.
62454         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
62455         preprocessor.
62456         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
62457         compile-time C checks, done at 'configure'-time.
62458         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
62459         * modules/inttypes (Makefile): Substitute the new symbols that
62460         gl_INTTYPES_H now generates.
62461         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
62462
62463 2007-11-12  Bruno Haible  <bruno@clisp.org>
62464
62465         Tests for Unicode character classification functions.
62466
62467         * modules/unictype/bidicategory-byname-tests: New file.
62468         * modules/unictype/bidicategory-name-tests: New file.
62469         * modules/unictype/bidicategory-of-tests: New file.
62470         * modules/unictype/bidicategory-test-tests: New file.
62471         * modules/unictype/block-list-tests: New file.
62472         * modules/unictype/block-of-tests: New file.
62473         * modules/unictype/block-test-tests: New file.
62474         * modules/unictype/category-C-tests: New file.
62475         * modules/unictype/category-Cc-tests: New file.
62476         * modules/unictype/category-Cf-tests: New file.
62477         * modules/unictype/category-Cn-tests: New file.
62478         * modules/unictype/category-Co-tests: New file.
62479         * modules/unictype/category-Cs-tests: New file.
62480         * modules/unictype/category-L-tests: New file.
62481         * modules/unictype/category-Ll-tests: New file.
62482         * modules/unictype/category-Lm-tests: New file.
62483         * modules/unictype/category-Lo-tests: New file.
62484         * modules/unictype/category-Lt-tests: New file.
62485         * modules/unictype/category-Lu-tests: New file.
62486         * modules/unictype/category-M-tests: New file.
62487         * modules/unictype/category-Mc-tests: New file.
62488         * modules/unictype/category-Me-tests: New file.
62489         * modules/unictype/category-Mn-tests: New file.
62490         * modules/unictype/category-N-tests: New file.
62491         * modules/unictype/category-Nd-tests: New file.
62492         * modules/unictype/category-Nl-tests: New file.
62493         * modules/unictype/category-No-tests: New file.
62494         * modules/unictype/category-P-tests: New file.
62495         * modules/unictype/category-Pc-tests: New file.
62496         * modules/unictype/category-Pd-tests: New file.
62497         * modules/unictype/category-Pe-tests: New file.
62498         * modules/unictype/category-Pf-tests: New file.
62499         * modules/unictype/category-Pi-tests: New file.
62500         * modules/unictype/category-Po-tests: New file.
62501         * modules/unictype/category-Ps-tests: New file.
62502         * modules/unictype/category-S-tests: New file.
62503         * modules/unictype/category-Sc-tests: New file.
62504         * modules/unictype/category-Sk-tests: New file.
62505         * modules/unictype/category-Sm-tests: New file.
62506         * modules/unictype/category-So-tests: New file.
62507         * modules/unictype/category-Z-tests: New file.
62508         * modules/unictype/category-Zl-tests: New file.
62509         * modules/unictype/category-Zp-tests: New file.
62510         * modules/unictype/category-Zs-tests: New file.
62511         * modules/unictype/category-and-not-tests: New file.
62512         * modules/unictype/category-and-tests: New file.
62513         * modules/unictype/category-byname-tests: New file.
62514         * modules/unictype/category-name-tests: New file.
62515         * modules/unictype/category-none-tests: New file.
62516         * modules/unictype/category-of-tests: New file.
62517         * modules/unictype/category-or-tests: New file.
62518         * modules/unictype/category-test-withtable-tests: New file.
62519         * modules/unictype/combining-class-tests: New file.
62520         * modules/unictype/ctype-alnum-tests: New file.
62521         * modules/unictype/ctype-alpha-tests: New file.
62522         * modules/unictype/ctype-blank-tests: New file.
62523         * modules/unictype/ctype-cntrl-tests: New file.
62524         * modules/unictype/ctype-digit-tests: New file.
62525         * modules/unictype/ctype-graph-tests: New file.
62526         * modules/unictype/ctype-lower-tests: New file.
62527         * modules/unictype/ctype-print-tests: New file.
62528         * modules/unictype/ctype-punct-tests: New file.
62529         * modules/unictype/ctype-space-tests: New file.
62530         * modules/unictype/ctype-upper-tests: New file.
62531         * modules/unictype/ctype-xdigit-tests: New file.
62532         * modules/unictype/decimal-digit-tests: New file.
62533         * modules/unictype/digit-tests: New file.
62534         * modules/unictype/mirror-tests: New file.
62535         * modules/unictype/numeric-tests: New file.
62536         * modules/unictype/property-alphabetic-tests: New file.
62537         * modules/unictype/property-ascii-hex-digit-tests: New file.
62538         * modules/unictype/property-bidi-arabic-digit-tests: New file.
62539         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
62540         * modules/unictype/property-bidi-block-separator-tests: New file.
62541         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
62542         * modules/unictype/property-bidi-common-separator-tests: New file.
62543         * modules/unictype/property-bidi-control-tests: New file.
62544         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
62545         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
62546         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
62547         * modules/unictype/property-bidi-european-digit-tests: New file.
62548         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
62549         * modules/unictype/property-bidi-left-to-right-tests: New file.
62550         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
62551         * modules/unictype/property-bidi-other-neutral-tests: New file.
62552         * modules/unictype/property-bidi-pdf-tests: New file.
62553         * modules/unictype/property-bidi-segment-separator-tests: New file.
62554         * modules/unictype/property-bidi-whitespace-tests: New file.
62555         * modules/unictype/property-byname-tests: New file.
62556         * modules/unictype/property-combining-tests: New file.
62557         * modules/unictype/property-composite-tests: New file.
62558         * modules/unictype/property-currency-symbol-tests: New file.
62559         * modules/unictype/property-dash-tests: New file.
62560         * modules/unictype/property-decimal-digit-tests: New file.
62561         * modules/unictype/property-default-ignorable-code-point-tests: New file.
62562         * modules/unictype/property-deprecated-tests: New file.
62563         * modules/unictype/property-diacritic-tests: New file.
62564         * modules/unictype/property-extender-tests: New file.
62565         * modules/unictype/property-format-control-tests: New file.
62566         * modules/unictype/property-grapheme-base-tests: New file.
62567         * modules/unictype/property-grapheme-extend-tests: New file.
62568         * modules/unictype/property-grapheme-link-tests: New file.
62569         * modules/unictype/property-hex-digit-tests: New file.
62570         * modules/unictype/property-hyphen-tests: New file.
62571         * modules/unictype/property-id-continue-tests: New file.
62572         * modules/unictype/property-id-start-tests: New file.
62573         * modules/unictype/property-ideographic-tests: New file.
62574         * modules/unictype/property-ids-binary-operator-tests: New file.
62575         * modules/unictype/property-ids-trinary-operator-tests: New file.
62576         * modules/unictype/property-ignorable-control-tests: New file.
62577         * modules/unictype/property-iso-control-tests: New file.
62578         * modules/unictype/property-join-control-tests: New file.
62579         * modules/unictype/property-left-of-pair-tests: New file.
62580         * modules/unictype/property-line-separator-tests: New file.
62581         * modules/unictype/property-logical-order-exception-tests: New file.
62582         * modules/unictype/property-lowercase-tests: New file.
62583         * modules/unictype/property-math-tests: New file.
62584         * modules/unictype/property-non-break-tests: New file.
62585         * modules/unictype/property-not-a-character-tests: New file.
62586         * modules/unictype/property-numeric-tests: New file.
62587         * modules/unictype/property-other-alphabetic-tests: New file.
62588         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
62589         * modules/unictype/property-other-grapheme-extend-tests: New file.
62590         * modules/unictype/property-other-id-continue-tests: New file.
62591         * modules/unictype/property-other-id-start-tests: New file.
62592         * modules/unictype/property-other-lowercase-tests: New file.
62593         * modules/unictype/property-other-math-tests: New file.
62594         * modules/unictype/property-other-uppercase-tests: New file.
62595         * modules/unictype/property-paired-punctuation-tests: New file.
62596         * modules/unictype/property-paragraph-separator-tests: New file.
62597         * modules/unictype/property-pattern-syntax-tests: New file.
62598         * modules/unictype/property-pattern-white-space-tests: New file.
62599         * modules/unictype/property-private-use-tests: New file.
62600         * modules/unictype/property-punctuation-tests: New file.
62601         * modules/unictype/property-quotation-mark-tests: New file.
62602         * modules/unictype/property-radical-tests: New file.
62603         * modules/unictype/property-sentence-terminal-tests: New file.
62604         * modules/unictype/property-soft-dotted-tests: New file.
62605         * modules/unictype/property-space-tests: New file.
62606         * modules/unictype/property-terminal-punctuation-tests: New file.
62607         * modules/unictype/property-test-tests: New file.
62608         * modules/unictype/property-titlecase-tests: New file.
62609         * modules/unictype/property-unassigned-code-value-tests: New file.
62610         * modules/unictype/property-unified-ideograph-tests: New file.
62611         * modules/unictype/property-uppercase-tests: New file.
62612         * modules/unictype/property-variation-selector-tests: New file.
62613         * modules/unictype/property-white-space-tests: New file.
62614         * modules/unictype/property-xid-continue-tests: New file.
62615         * modules/unictype/property-xid-start-tests: New file.
62616         * modules/unictype/property-zero-width-tests: New file.
62617         * modules/unictype/scripts-tests: New file.
62618         * modules/unictype/syntax-c-ident-tests: New file.
62619         * modules/unictype/syntax-c-whitespace-tests: New file.
62620         * modules/unictype/syntax-java-ident-tests: New file.
62621         * modules/unictype/syntax-java-whitespace-tests: New file.
62622         * tests/unictype/test-bidi_byname.c: New file.
62623         * tests/unictype/test-bidi_name.c: New file.
62624         * tests/unictype/test-bidi_of.c: New file.
62625         * tests/unictype/test-bidi_test.c: New file.
62626         * tests/unictype/test-block_list.c: New file.
62627         * tests/unictype/test-block_of.c: New file.
62628         * tests/unictype/test-block_test.c: New file.
62629         * tests/unictype/test-categ_and.c: New file.
62630         * tests/unictype/test-categ_and_not.c: New file.
62631         * tests/unictype/test-categ_byname.c: New file.
62632         * tests/unictype/test-categ_name.c: New file.
62633         * tests/unictype/test-categ_none.c: New file.
62634         * tests/unictype/test-categ_of.c: New file.
62635         * tests/unictype/test-categ_or.c: New file.
62636         * tests/unictype/test-categ_test_withtable.c: New file.
62637         * tests/unictype/test-combining.c: New file.
62638         * tests/unictype/test-decdigit.c: New file.
62639         * tests/unictype/test-digit.c: New file.
62640         * tests/unictype/test-mirror.c: New file.
62641         * tests/unictype/test-numeric.c: New file.
62642         * tests/unictype/test-pr_byname.c: New file.
62643         * tests/unictype/test-pr_test.c: New file.
62644         * tests/unictype/test-predicate-part1.h: New file.
62645         * tests/unictype/test-predicate-part2.h: New file.
62646         * tests/unictype/test-scripts.c: New file.
62647         * tests/unictype/test-sy_c_ident.c: New file.
62648         * tests/unictype/test-sy_java_ident.c: New file.
62649
62650         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
62651         for Unicode 5.0.0.
62652         * tests/unictype/test-categ_Cc.c: Likewise.
62653         * tests/unictype/test-categ_Cf.c: Likewise.
62654         * tests/unictype/test-categ_Cn.c: Likewise.
62655         * tests/unictype/test-categ_Co.c: Likewise.
62656         * tests/unictype/test-categ_Cs.c: Likewise.
62657         * tests/unictype/test-categ_L.c: Likewise.
62658         * tests/unictype/test-categ_Ll.c: Likewise.
62659         * tests/unictype/test-categ_Lm.c: Likewise.
62660         * tests/unictype/test-categ_Lo.c: Likewise.
62661         * tests/unictype/test-categ_Lt.c: Likewise.
62662         * tests/unictype/test-categ_Lu.c: Likewise.
62663         * tests/unictype/test-categ_M.c: Likewise.
62664         * tests/unictype/test-categ_Mc.c: Likewise.
62665         * tests/unictype/test-categ_Me.c: Likewise.
62666         * tests/unictype/test-categ_Mn.c: Likewise.
62667         * tests/unictype/test-categ_N.c: Likewise.
62668         * tests/unictype/test-categ_Nd.c: Likewise.
62669         * tests/unictype/test-categ_Nl.c: Likewise.
62670         * tests/unictype/test-categ_No.c: Likewise.
62671         * tests/unictype/test-categ_P.c: Likewise.
62672         * tests/unictype/test-categ_Pc.c: Likewise.
62673         * tests/unictype/test-categ_Pd.c: Likewise.
62674         * tests/unictype/test-categ_Pe.c: Likewise.
62675         * tests/unictype/test-categ_Pf.c: Likewise.
62676         * tests/unictype/test-categ_Pi.c: Likewise.
62677         * tests/unictype/test-categ_Po.c: Likewise.
62678         * tests/unictype/test-categ_Ps.c: Likewise.
62679         * tests/unictype/test-categ_S.c: Likewise.
62680         * tests/unictype/test-categ_Sc.c: Likewise.
62681         * tests/unictype/test-categ_Sk.c: Likewise.
62682         * tests/unictype/test-categ_Sm.c: Likewise.
62683         * tests/unictype/test-categ_So.c: Likewise.
62684         * tests/unictype/test-categ_Z.c: Likewise.
62685         * tests/unictype/test-categ_Zl.c: Likewise.
62686         * tests/unictype/test-categ_Zp.c: Likewise.
62687         * tests/unictype/test-categ_Zs.c: Likewise.
62688         * tests/unictype/test-ctype_alnum.c: Likewise.
62689         * tests/unictype/test-ctype_alpha.c: Likewise.
62690         * tests/unictype/test-ctype_blank.c: Likewise.
62691         * tests/unictype/test-ctype_cntrl.c: Likewise.
62692         * tests/unictype/test-ctype_digit.c: Likewise.
62693         * tests/unictype/test-ctype_graph.c: Likewise.
62694         * tests/unictype/test-ctype_lower.c: Likewise.
62695         * tests/unictype/test-ctype_print.c: Likewise.
62696         * tests/unictype/test-ctype_punct.c: Likewise.
62697         * tests/unictype/test-ctype_space.c: Likewise.
62698         * tests/unictype/test-ctype_upper.c: Likewise.
62699         * tests/unictype/test-ctype_xdigit.c: Likewise.
62700         * tests/unictype/test-decdigit.h: Likewise.
62701         * tests/unictype/test-digit.h: Likewise.
62702         * tests/unictype/test-numeric.h: Likewise.
62703         * tests/unictype/test-pr_alphabetic.c: Likewise.
62704         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
62705         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
62706         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
62707         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
62708         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
62709         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
62710         * tests/unictype/test-pr_bidi_control.c: Likewise.
62711         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
62712         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
62713         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
62714         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
62715         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
62716         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
62717         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
62718         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
62719         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
62720         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
62721         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
62722         * tests/unictype/test-pr_combining.c: Likewise.
62723         * tests/unictype/test-pr_composite.c: Likewise.
62724         * tests/unictype/test-pr_currency_symbol.c: Likewise.
62725         * tests/unictype/test-pr_dash.c: Likewise.
62726         * tests/unictype/test-pr_decimal_digit.c: Likewise.
62727         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
62728         * tests/unictype/test-pr_deprecated.c: Likewise.
62729         * tests/unictype/test-pr_diacritic.c: Likewise.
62730         * tests/unictype/test-pr_extender.c: Likewise.
62731         * tests/unictype/test-pr_format_control.c: Likewise.
62732         * tests/unictype/test-pr_grapheme_base.c: Likewise.
62733         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
62734         * tests/unictype/test-pr_grapheme_link.c: Likewise.
62735         * tests/unictype/test-pr_hex_digit.c: Likewise.
62736         * tests/unictype/test-pr_hyphen.c: Likewise.
62737         * tests/unictype/test-pr_id_continue.c: Likewise.
62738         * tests/unictype/test-pr_id_start.c: Likewise.
62739         * tests/unictype/test-pr_ideographic.c: Likewise.
62740         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
62741         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
62742         * tests/unictype/test-pr_ignorable_control.c: Likewise.
62743         * tests/unictype/test-pr_iso_control.c: Likewise.
62744         * tests/unictype/test-pr_join_control.c: Likewise.
62745         * tests/unictype/test-pr_left_of_pair.c: Likewise.
62746         * tests/unictype/test-pr_line_separator.c: Likewise.
62747         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
62748         * tests/unictype/test-pr_lowercase.c: Likewise.
62749         * tests/unictype/test-pr_math.c: Likewise.
62750         * tests/unictype/test-pr_non_break.c: Likewise.
62751         * tests/unictype/test-pr_not_a_character.c: Likewise.
62752         * tests/unictype/test-pr_numeric.c: Likewise.
62753         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
62754         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
62755         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
62756         * tests/unictype/test-pr_other_id_continue.c: Likewise.
62757         * tests/unictype/test-pr_other_id_start.c: Likewise.
62758         * tests/unictype/test-pr_other_lowercase.c: Likewise.
62759         * tests/unictype/test-pr_other_math.c: Likewise.
62760         * tests/unictype/test-pr_other_uppercase.c: Likewise.
62761         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
62762         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
62763         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
62764         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
62765         * tests/unictype/test-pr_private_use.c: Likewise.
62766         * tests/unictype/test-pr_punctuation.c: Likewise.
62767         * tests/unictype/test-pr_quotation_mark.c: Likewise.
62768         * tests/unictype/test-pr_radical.c: Likewise.
62769         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
62770         * tests/unictype/test-pr_soft_dotted.c: Likewise.
62771         * tests/unictype/test-pr_space.c: Likewise.
62772         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
62773         * tests/unictype/test-pr_titlecase.c: Likewise.
62774         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
62775         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
62776         * tests/unictype/test-pr_uppercase.c: Likewise.
62777         * tests/unictype/test-pr_variation_selector.c: Likewise.
62778         * tests/unictype/test-pr_white_space.c: Likewise.
62779         * tests/unictype/test-pr_xid_continue.c: Likewise.
62780         * tests/unictype/test-pr_xid_start.c: Likewise.
62781         * tests/unictype/test-pr_zero_width.c: Likewise.
62782         * tests/unictype/test-sy_c_whitespace.c: Likewise.
62783         * tests/unictype/test-sy_java_whitespace.c: Likewise.
62784
62785 2007-11-12  Bruno Haible  <bruno@clisp.org>
62786
62787         Unicode character classification functions.
62788         * lib/unictype.h: New file.
62789         * modules/unictype/base: New file.
62790         * modules/unictype/category-L: New file.
62791         * modules/unictype/category-Lu: New file.
62792         * modules/unictype/category-Ll: New file.
62793         * modules/unictype/category-Lt: New file.
62794         * modules/unictype/category-Lm: New file.
62795         * modules/unictype/category-Lo: New file.
62796         * modules/unictype/category-M: New file.
62797         * modules/unictype/category-Mn: New file.
62798         * modules/unictype/category-Mc: New file.
62799         * modules/unictype/category-Me: New file.
62800         * modules/unictype/category-N: New file.
62801         * modules/unictype/category-Nd: New file.
62802         * modules/unictype/category-Nl: New file.
62803         * modules/unictype/category-No: New file.
62804         * modules/unictype/category-P: New file.
62805         * modules/unictype/category-Pc: New file.
62806         * modules/unictype/category-Pd: New file.
62807         * modules/unictype/category-Ps: New file.
62808         * modules/unictype/category-Pe: New file.
62809         * modules/unictype/category-Pi: New file.
62810         * modules/unictype/category-Pf: New file.
62811         * modules/unictype/category-Po: New file.
62812         * modules/unictype/category-S: New file.
62813         * modules/unictype/category-Sm: New file.
62814         * modules/unictype/category-Sc: New file.
62815         * modules/unictype/category-Sk: New file.
62816         * modules/unictype/category-So: New file.
62817         * modules/unictype/category-Z: New file.
62818         * modules/unictype/category-Zs: New file.
62819         * modules/unictype/category-Zl: New file.
62820         * modules/unictype/category-Zp: New file.
62821         * modules/unictype/category-C: New file.
62822         * modules/unictype/category-Cc: New file.
62823         * modules/unictype/category-Cf: New file.
62824         * modules/unictype/category-Cs: New file.
62825         * modules/unictype/category-Co: New file.
62826         * modules/unictype/category-Cn: New file.
62827         * modules/unictype/category-or: New file.
62828         * modules/unictype/category-of: New file.
62829         * modules/unictype/category-test: New file.
62830         * modules/unictype/category-test-withtable: New file.
62831         * modules/unictype/category-byname: New file.
62832         * modules/unictype/category-none: New file.
62833         * modules/unictype/category-and: New file.
62834         * modules/unictype/category-and-not: New file.
62835         * modules/unictype/category-name: New file.
62836         * modules/unictype/combining-class: New file.
62837         * modules/unictype/category-all: New file.
62838         * modules/unictype/bidicategory-all: New file.
62839         * modules/unictype/bidicategory-byname: New file.
62840         * modules/unictype/bidicategory-name: New file.
62841         * modules/unictype/bidicategory-of: New file.
62842         * modules/unictype/bidicategory-test: New file.
62843         * modules/unictype/decimal-digit: New file.
62844         * modules/unictype/digit: New file.
62845         * modules/unictype/numeric: New file.
62846         * modules/unictype/mirror: New file.
62847         * modules/unictype/property-white-space: New file.
62848         * modules/unictype/property-alphabetic: New file.
62849         * modules/unictype/property-other-alphabetic: New file.
62850         * modules/unictype/property-not-a-character: New file.
62851         * modules/unictype/property-default-ignorable-code-point: New file.
62852         * modules/unictype/property-other-default-ignorable-code-point: New
62853         file.
62854         * modules/unictype/property-deprecated: New file.
62855         * modules/unictype/property-logical-order-exception: New file.
62856         * modules/unictype/property-variation-selector: New file.
62857         * modules/unictype/property-private-use: New file.
62858         * modules/unictype/property-unassigned-code-value: New file.
62859         * modules/unictype/property-uppercase: New file.
62860         * modules/unictype/property-other-uppercase: New file.
62861         * modules/unictype/property-lowercase: New file.
62862         * modules/unictype/property-other-lowercase: New file.
62863         * modules/unictype/property-titlecase: New file.
62864         * modules/unictype/property-soft-dotted: New file.
62865         * modules/unictype/property-id-start: New file.
62866         * modules/unictype/property-other-id-start: New file.
62867         * modules/unictype/property-id-continue: New file.
62868         * modules/unictype/property-other-id-continue: New file.
62869         * modules/unictype/property-xid-start: New file.
62870         * modules/unictype/property-xid-continue: New file.
62871         * modules/unictype/property-pattern-white-space: New file.
62872         * modules/unictype/property-pattern-syntax: New file.
62873         * modules/unictype/property-join-control: New file.
62874         * modules/unictype/property-grapheme-base: New file.
62875         * modules/unictype/property-grapheme-extend: New file.
62876         * modules/unictype/property-other-grapheme-extend: New file.
62877         * modules/unictype/property-grapheme-link: New file.
62878         * modules/unictype/property-bidi-control: New file.
62879         * modules/unictype/property-bidi-left-to-right: New file.
62880         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
62881         * modules/unictype/property-bidi-arabic-right-to-left: New file.
62882         * modules/unictype/property-bidi-european-digit: New file.
62883         * modules/unictype/property-bidi-eur-num-separator: New file.
62884         * modules/unictype/property-bidi-eur-num-terminator: New file.
62885         * modules/unictype/property-bidi-arabic-digit: New file.
62886         * modules/unictype/property-bidi-common-separator: New file.
62887         * modules/unictype/property-bidi-block-separator: New file.
62888         * modules/unictype/property-bidi-segment-separator: New file.
62889         * modules/unictype/property-bidi-whitespace: New file.
62890         * modules/unictype/property-bidi-non-spacing-mark: New file.
62891         * modules/unictype/property-bidi-boundary-neutral: New file.
62892         * modules/unictype/property-bidi-pdf: New file.
62893         * modules/unictype/property-bidi-embedding-or-override: New file.
62894         * modules/unictype/property-bidi-other-neutral: New file.
62895         * modules/unictype/property-hex-digit: New file.
62896         * modules/unictype/property-ascii-hex-digit: New file.
62897         * modules/unictype/property-ideographic: New file.
62898         * modules/unictype/property-unified-ideograph: New file.
62899         * modules/unictype/property-radical: New file.
62900         * modules/unictype/property-ids-binary-operator: New file.
62901         * modules/unictype/property-ids-trinary-operator: New file.
62902         * modules/unictype/property-zero-width: New file.
62903         * modules/unictype/property-space: New file.
62904         * modules/unictype/property-non-break: New file.
62905         * modules/unictype/property-iso-control: New file.
62906         * modules/unictype/property-format-control: New file.
62907         * modules/unictype/property-dash: New file.
62908         * modules/unictype/property-hyphen: New file.
62909         * modules/unictype/property-punctuation: New file.
62910         * modules/unictype/property-line-separator: New file.
62911         * modules/unictype/property-paragraph-separator: New file.
62912         * modules/unictype/property-quotation-mark: New file.
62913         * modules/unictype/property-sentence-terminal: New file.
62914         * modules/unictype/property-terminal-punctuation: New file.
62915         * modules/unictype/property-currency-symbol: New file.
62916         * modules/unictype/property-math: New file.
62917         * modules/unictype/property-other-math: New file.
62918         * modules/unictype/property-paired-punctuation: New file.
62919         * modules/unictype/property-left-of-pair: New file.
62920         * modules/unictype/property-combining: New file.
62921         * modules/unictype/property-composite: New file.
62922         * modules/unictype/property-decimal-digit: New file.
62923         * modules/unictype/property-numeric: New file.
62924         * modules/unictype/property-diacritic: New file.
62925         * modules/unictype/property-extender: New file.
62926         * modules/unictype/property-ignorable-control: New file.
62927         * modules/unictype/property-test: New file.
62928         * modules/unictype/property-byname: New file.
62929         * modules/unictype/property-all: New file.
62930         * modules/unictype/scripts: New file.
62931         * modules/unictype/scripts-all: New file.
62932         * modules/unictype/block-of: New file.
62933         * modules/unictype/block-test: New file.
62934         * modules/unictype/block-list: New file.
62935         * modules/unictype/block-all: New file.
62936         * modules/unictype/syntax-c-whitespace: New file.
62937         * modules/unictype/syntax-java-whitespace: New file.
62938         * modules/unictype/syntax-c-ident: New file.
62939         * modules/unictype/syntax-java-ident: New file.
62940         * modules/unictype/ctype-alnum: New file.
62941         * modules/unictype/ctype-alpha: New file.
62942         * modules/unictype/ctype-cntrl: New file.
62943         * modules/unictype/ctype-digit: New file.
62944         * modules/unictype/ctype-graph: New file.
62945         * modules/unictype/ctype-lower: New file.
62946         * modules/unictype/ctype-print: New file.
62947         * modules/unictype/ctype-punct: New file.
62948         * modules/unictype/ctype-space: New file.
62949         * modules/unictype/ctype-upper: New file.
62950         * modules/unictype/ctype-xdigit: New file.
62951         * modules/unictype/ctype-blank: New file.
62952         * lib/unictype/bidi_byname.c: New file.
62953         * lib/unictype/bidi_name.c: New file.
62954         * lib/unictype/bidi_of.c: New file.
62955         * lib/unictype/bidi_test.c: New file.
62956         * lib/unictype/bitmap.h: New file.
62957         * lib/unictype/block_test.c: New file.
62958         * lib/unictype/blocks.c: New file.
62959         * lib/unictype/categ_C.c: New file.
62960         * lib/unictype/categ_Cc.c: New file.
62961         * lib/unictype/categ_Cf.c: New file.
62962         * lib/unictype/categ_Cn.c: New file.
62963         * lib/unictype/categ_Co.c: New file.
62964         * lib/unictype/categ_Cs.c: New file.
62965         * lib/unictype/categ_L.c: New file.
62966         * lib/unictype/categ_Ll.c: New file.
62967         * lib/unictype/categ_Lm.c: New file.
62968         * lib/unictype/categ_Lo.c: New file.
62969         * lib/unictype/categ_Lt.c: New file.
62970         * lib/unictype/categ_Lu.c: New file.
62971         * lib/unictype/categ_M.c: New file.
62972         * lib/unictype/categ_Mc.c: New file.
62973         * lib/unictype/categ_Me.c: New file.
62974         * lib/unictype/categ_Mn.c: New file.
62975         * lib/unictype/categ_N.c: New file.
62976         * lib/unictype/categ_Nd.c: New file.
62977         * lib/unictype/categ_Nl.c: New file.
62978         * lib/unictype/categ_No.c: New file.
62979         * lib/unictype/categ_P.c: New file.
62980         * lib/unictype/categ_Pc.c: New file.
62981         * lib/unictype/categ_Pd.c: New file.
62982         * lib/unictype/categ_Pe.c: New file.
62983         * lib/unictype/categ_Pf.c: New file.
62984         * lib/unictype/categ_Pi.c: New file.
62985         * lib/unictype/categ_Po.c: New file.
62986         * lib/unictype/categ_Ps.c: New file.
62987         * lib/unictype/categ_S.c: New file.
62988         * lib/unictype/categ_Sc.c: New file.
62989         * lib/unictype/categ_Sk.c: New file.
62990         * lib/unictype/categ_Sm.c: New file.
62991         * lib/unictype/categ_So.c: New file.
62992         * lib/unictype/categ_Z.c: New file.
62993         * lib/unictype/categ_Zl.c: New file.
62994         * lib/unictype/categ_Zp.c: New file.
62995         * lib/unictype/categ_Zs.c: New file.
62996         * lib/unictype/categ_and.c: New file.
62997         * lib/unictype/categ_and_not.c: New file.
62998         * lib/unictype/categ_byname.c: New file.
62999         * lib/unictype/categ_name.c: New file.
63000         * lib/unictype/categ_none.c: New file.
63001         * lib/unictype/categ_of.c: New file.
63002         * lib/unictype/categ_or.c: New file.
63003         * lib/unictype/categ_test.c: New file.
63004         * lib/unictype/combining.c: New file.
63005         * lib/unictype/ctype_alnum.c: New file.
63006         * lib/unictype/ctype_alpha.c: New file.
63007         * lib/unictype/ctype_blank.c: New file.
63008         * lib/unictype/ctype_cntrl.c: New file.
63009         * lib/unictype/ctype_digit.c: New file.
63010         * lib/unictype/ctype_graph.c: New file.
63011         * lib/unictype/ctype_lower.c: New file.
63012         * lib/unictype/ctype_print.c: New file.
63013         * lib/unictype/ctype_punct.c: New file.
63014         * lib/unictype/ctype_space.c: New file.
63015         * lib/unictype/ctype_upper.c: New file.
63016         * lib/unictype/ctype_xdigit.c: New file.
63017         * lib/unictype/decdigit.c: New file.
63018         * lib/unictype/digit.c: New file.
63019         * lib/unictype/identsyntaxmap.h: New file.
63020         * lib/unictype/mirror.c: New file.
63021         * lib/unictype/numeric.c: New file.
63022         * lib/unictype/pr_alphabetic.c: New file.
63023         * lib/unictype/pr_ascii_hex_digit.c: New file.
63024         * lib/unictype/pr_bidi_arabic_digit.c: New file.
63025         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
63026         * lib/unictype/pr_bidi_block_separator.c: New file.
63027         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
63028         * lib/unictype/pr_bidi_common_separator.c: New file.
63029         * lib/unictype/pr_bidi_control.c: New file.
63030         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
63031         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
63032         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
63033         * lib/unictype/pr_bidi_european_digit.c: New file.
63034         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
63035         * lib/unictype/pr_bidi_left_to_right.c: New file.
63036         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
63037         * lib/unictype/pr_bidi_other_neutral.c: New file.
63038         * lib/unictype/pr_bidi_pdf.c: New file.
63039         * lib/unictype/pr_bidi_segment_separator.c: New file.
63040         * lib/unictype/pr_bidi_whitespace.c: New file.
63041         * lib/unictype/pr_byname.c: New file.
63042         * lib/unictype/pr_byname.gperf: New file.
63043         * lib/unictype/pr_combining.c: New file.
63044         * lib/unictype/pr_composite.c: New file.
63045         * lib/unictype/pr_currency_symbol.c: New file.
63046         * lib/unictype/pr_dash.c: New file.
63047         * lib/unictype/pr_decimal_digit.c: New file.
63048         * lib/unictype/pr_default_ignorable_code_point.c: New file.
63049         * lib/unictype/pr_deprecated.c: New file.
63050         * lib/unictype/pr_diacritic.c: New file.
63051         * lib/unictype/pr_extender.c: New file.
63052         * lib/unictype/pr_format_control.c: New file.
63053         * lib/unictype/pr_grapheme_base.c: New file.
63054         * lib/unictype/pr_grapheme_extend.c: New file.
63055         * lib/unictype/pr_grapheme_link.c: New file.
63056         * lib/unictype/pr_hex_digit.c: New file.
63057         * lib/unictype/pr_hyphen.c: New file.
63058         * lib/unictype/pr_id_continue.c: New file.
63059         * lib/unictype/pr_id_start.c: New file.
63060         * lib/unictype/pr_ideographic.c: New file.
63061         * lib/unictype/pr_ids_binary_operator.c: New file.
63062         * lib/unictype/pr_ids_trinary_operator.c: New file.
63063         * lib/unictype/pr_ignorable_control.c: New file.
63064         * lib/unictype/pr_iso_control.c: New file.
63065         * lib/unictype/pr_join_control.c: New file.
63066         * lib/unictype/pr_left_of_pair.c: New file.
63067         * lib/unictype/pr_line_separator.c: New file.
63068         * lib/unictype/pr_logical_order_exception.c: New file.
63069         * lib/unictype/pr_lowercase.c: New file.
63070         * lib/unictype/pr_math.c: New file.
63071         * lib/unictype/pr_non_break.c: New file.
63072         * lib/unictype/pr_not_a_character.c: New file.
63073         * lib/unictype/pr_numeric.c: New file.
63074         * lib/unictype/pr_other_alphabetic.c: New file.
63075         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
63076         * lib/unictype/pr_other_grapheme_extend.c: New file.
63077         * lib/unictype/pr_other_id_continue.c: New file.
63078         * lib/unictype/pr_other_id_start.c: New file.
63079         * lib/unictype/pr_other_lowercase.c: New file.
63080         * lib/unictype/pr_other_math.c: New file.
63081         * lib/unictype/pr_other_uppercase.c: New file.
63082         * lib/unictype/pr_paired_punctuation.c: New file.
63083         * lib/unictype/pr_paragraph_separator.c: New file.
63084         * lib/unictype/pr_pattern_syntax.c: New file.
63085         * lib/unictype/pr_pattern_white_space.c: New file.
63086         * lib/unictype/pr_private_use.c: New file.
63087         * lib/unictype/pr_punctuation.c: New file.
63088         * lib/unictype/pr_quotation_mark.c: New file.
63089         * lib/unictype/pr_radical.c: New file.
63090         * lib/unictype/pr_sentence_terminal.c: New file.
63091         * lib/unictype/pr_soft_dotted.c: New file.
63092         * lib/unictype/pr_space.c: New file.
63093         * lib/unictype/pr_terminal_punctuation.c: New file.
63094         * lib/unictype/pr_test.c: New file.
63095         * lib/unictype/pr_titlecase.c: New file.
63096         * lib/unictype/pr_unassigned_code_value.c: New file.
63097         * lib/unictype/pr_unified_ideograph.c: New file.
63098         * lib/unictype/pr_uppercase.c: New file.
63099         * lib/unictype/pr_variation_selector.c: New file.
63100         * lib/unictype/pr_white_space.c: New file.
63101         * lib/unictype/pr_xid_continue.c: New file.
63102         * lib/unictype/pr_xid_start.c: New file.
63103         * lib/unictype/pr_zero_width.c: New file.
63104         * lib/unictype/scripts.c: New file.
63105         * lib/unictype/sy_c_ident.c: New file.
63106         * lib/unictype/sy_c_whitespace.c: New file.
63107         * lib/unictype/sy_java_ident.c: New file.
63108         * lib/unictype/sy_java_whitespace.c: New file.
63109
63110         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
63111         Unicode 5.0.0.
63112         * lib/unictype/blocks.h: Likewise.
63113         * lib/unictype/categ_C.h: Likewise.
63114         * lib/unictype/categ_Cc.h: Likewise.
63115         * lib/unictype/categ_Cf.h: Likewise.
63116         * lib/unictype/categ_Cn.h: Likewise.
63117         * lib/unictype/categ_Co.h: Likewise.
63118         * lib/unictype/categ_Cs.h: Likewise.
63119         * lib/unictype/categ_L.h: Likewise.
63120         * lib/unictype/categ_Ll.h: Likewise.
63121         * lib/unictype/categ_Lm.h: Likewise.
63122         * lib/unictype/categ_Lo.h: Likewise.
63123         * lib/unictype/categ_Lt.h: Likewise.
63124         * lib/unictype/categ_Lu.h: Likewise.
63125         * lib/unictype/categ_M.h: Likewise.
63126         * lib/unictype/categ_Mc.h: Likewise.
63127         * lib/unictype/categ_Me.h: Likewise.
63128         * lib/unictype/categ_Mn.h: Likewise.
63129         * lib/unictype/categ_N.h: Likewise.
63130         * lib/unictype/categ_Nd.h: Likewise.
63131         * lib/unictype/categ_Nl.h: Likewise.
63132         * lib/unictype/categ_No.h: Likewise.
63133         * lib/unictype/categ_P.h: Likewise.
63134         * lib/unictype/categ_Pc.h: Likewise.
63135         * lib/unictype/categ_Pd.h: Likewise.
63136         * lib/unictype/categ_Pe.h: Likewise.
63137         * lib/unictype/categ_Pf.h: Likewise.
63138         * lib/unictype/categ_Pi.h: Likewise.
63139         * lib/unictype/categ_Po.h: Likewise.
63140         * lib/unictype/categ_Ps.h: Likewise.
63141         * lib/unictype/categ_S.h: Likewise.
63142         * lib/unictype/categ_Sc.h: Likewise.
63143         * lib/unictype/categ_Sk.h: Likewise.
63144         * lib/unictype/categ_Sm.h: Likewise.
63145         * lib/unictype/categ_So.h: Likewise.
63146         * lib/unictype/categ_Z.h: Likewise.
63147         * lib/unictype/categ_Zl.h: Likewise.
63148         * lib/unictype/categ_Zp.h: Likewise.
63149         * lib/unictype/categ_Zs.h: Likewise.
63150         * lib/unictype/categ_of.h: Likewise.
63151         * lib/unictype/combining.h: Likewise.
63152         * lib/unictype/ctype_alnum.h: Likewise.
63153         * lib/unictype/ctype_alpha.h: Likewise.
63154         * lib/unictype/ctype_blank.h: Likewise.
63155         * lib/unictype/ctype_cntrl.h: Likewise.
63156         * lib/unictype/ctype_digit.h: Likewise.
63157         * lib/unictype/ctype_graph.h: Likewise.
63158         * lib/unictype/ctype_lower.h: Likewise.
63159         * lib/unictype/ctype_print.h: Likewise.
63160         * lib/unictype/ctype_punct.h: Likewise.
63161         * lib/unictype/ctype_space.h: Likewise.
63162         * lib/unictype/ctype_upper.h: Likewise.
63163         * lib/unictype/ctype_xdigit.h: Likewise.
63164         * lib/unictype/decdigit.h: Likewise.
63165         * lib/unictype/digit.h: Likewise.
63166         * lib/unictype/mirror.h: Likewise.
63167         * lib/unictype/numeric.h: Likewise.
63168         * lib/unictype/pr_alphabetic.h: Likewise.
63169         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
63170         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
63171         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
63172         * lib/unictype/pr_bidi_block_separator.h: Likewise.
63173         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
63174         * lib/unictype/pr_bidi_common_separator.h: Likewise.
63175         * lib/unictype/pr_bidi_control.h: Likewise.
63176         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
63177         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
63178         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
63179         * lib/unictype/pr_bidi_european_digit.h: Likewise.
63180         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
63181         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
63182         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
63183         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
63184         * lib/unictype/pr_bidi_pdf.h: Likewise.
63185         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
63186         * lib/unictype/pr_bidi_whitespace.h: Likewise.
63187         * lib/unictype/pr_combining.h: Likewise.
63188         * lib/unictype/pr_composite.h: Likewise.
63189         * lib/unictype/pr_currency_symbol.h: Likewise.
63190         * lib/unictype/pr_dash.h: Likewise.
63191         * lib/unictype/pr_decimal_digit.h: Likewise.
63192         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
63193         * lib/unictype/pr_deprecated.h: Likewise.
63194         * lib/unictype/pr_diacritic.h: Likewise.
63195         * lib/unictype/pr_extender.h: Likewise.
63196         * lib/unictype/pr_format_control.h: Likewise.
63197         * lib/unictype/pr_grapheme_base.h: Likewise.
63198         * lib/unictype/pr_grapheme_extend.h: Likewise.
63199         * lib/unictype/pr_grapheme_link.h: Likewise.
63200         * lib/unictype/pr_hex_digit.h: Likewise.
63201         * lib/unictype/pr_hyphen.h: Likewise.
63202         * lib/unictype/pr_id_continue.h: Likewise.
63203         * lib/unictype/pr_id_start.h: Likewise.
63204         * lib/unictype/pr_ideographic.h: Likewise.
63205         * lib/unictype/pr_ids_binary_operator.h: Likewise.
63206         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
63207         * lib/unictype/pr_ignorable_control.h: Likewise.
63208         * lib/unictype/pr_iso_control.h: Likewise.
63209         * lib/unictype/pr_join_control.h: Likewise.
63210         * lib/unictype/pr_left_of_pair.h: Likewise.
63211         * lib/unictype/pr_line_separator.h: Likewise.
63212         * lib/unictype/pr_logical_order_exception.h: Likewise.
63213         * lib/unictype/pr_lowercase.h: Likewise.
63214         * lib/unictype/pr_math.h: Likewise.
63215         * lib/unictype/pr_non_break.h: Likewise.
63216         * lib/unictype/pr_not_a_character.h: Likewise.
63217         * lib/unictype/pr_numeric.h: Likewise.
63218         * lib/unictype/pr_other_alphabetic.h: Likewise.
63219         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
63220         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
63221         * lib/unictype/pr_other_id_continue.h: Likewise.
63222         * lib/unictype/pr_other_id_start.h: Likewise.
63223         * lib/unictype/pr_other_lowercase.h: Likewise.
63224         * lib/unictype/pr_other_math.h: Likewise.
63225         * lib/unictype/pr_other_uppercase.h: Likewise.
63226         * lib/unictype/pr_paired_punctuation.h: Likewise.
63227         * lib/unictype/pr_paragraph_separator.h: Likewise.
63228         * lib/unictype/pr_pattern_syntax.h: Likewise.
63229         * lib/unictype/pr_pattern_white_space.h: Likewise.
63230         * lib/unictype/pr_private_use.h: Likewise.
63231         * lib/unictype/pr_punctuation.h: Likewise.
63232         * lib/unictype/pr_quotation_mark.h: Likewise.
63233         * lib/unictype/pr_radical.h: Likewise.
63234         * lib/unictype/pr_sentence_terminal.h: Likewise.
63235         * lib/unictype/pr_soft_dotted.h: Likewise.
63236         * lib/unictype/pr_space.h: Likewise.
63237         * lib/unictype/pr_terminal_punctuation.h: Likewise.
63238         * lib/unictype/pr_titlecase.h: Likewise.
63239         * lib/unictype/pr_unassigned_code_value.h: Likewise.
63240         * lib/unictype/pr_unified_ideograph.h: Likewise.
63241         * lib/unictype/pr_uppercase.h: Likewise.
63242         * lib/unictype/pr_variation_selector.h: Likewise.
63243         * lib/unictype/pr_white_space.h: Likewise.
63244         * lib/unictype/pr_xid_continue.h: Likewise.
63245         * lib/unictype/pr_xid_start.h: Likewise.
63246         * lib/unictype/pr_zero_width.h: Likewise.
63247         * lib/unictype/scripts.h: Likewise.
63248         * lib/unictype/scripts_byname.gperf: Likewise.
63249         * lib/unictype/sy_c_ident.h: Likewise.
63250         * lib/unictype/sy_c_whitespace.h: Likewise.
63251         * lib/unictype/sy_java_ident.h: Likewise.
63252         * lib/unictype/sy_java_whitespace.h: Likewise.
63253
63254         * lib/unictype/Makefile: New file.
63255         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
63256         glibc.
63257         * lib/unictype/3level.h: New file, copied from glibc.
63258         * lib/unictype/3levelbit.h: New file.
63259
63260 2007-11-11  Bruno Haible  <bruno@clisp.org>
63261
63262         * modules/gperf: New file.
63263         * modules/iconv_open (Depends-on): Add it.
63264         (Makefile.am): Remove the GPERF definition.
63265
63266 2007-11-11  Bruno Haible  <bruno@clisp.org>
63267
63268         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
63269         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
63270
63271 2007-11-11  Bruno Haible  <bruno@clisp.org>
63272
63273         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
63274         (usage): Remove function.
63275
63276 2007-11-11  Bruno Haible  <bruno@clisp.org>
63277
63278         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
63279         gl_FUNC_CEILF_LIBS.
63280         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
63281         gl_FUNC_CEIL_LIBS.
63282         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
63283         gl_FUNC_CEILL_LIBS.
63284         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
63285         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
63286         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
63287
63288 2007-11-11  Bruno Haible  <bruno@clisp.org>
63289
63290         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
63291         roundf were declared but do not exist on functions.
63292         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
63293         roundl were declared but do not exist on functions.
63294         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
63295         HAVE_FLOORL_AND_CEILL, respectively.
63296         Needed for Sun C on Solaris 10.
63297
63298 2007-11-11  Bruno Haible  <bruno@clisp.org>
63299
63300         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
63301         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
63302         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
63303         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
63304         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
63305         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
63306         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
63307         HAVE_DECL_ROUNDF.
63308         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
63309         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
63310         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
63311         of HAVE_DECL_ROUND*.
63312         * modules/math (Makefile.am): Update.
63313
63314 2007-11-10  Bruno Haible  <bruno@clisp.org>
63315
63316         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
63317         ptrdiff_t as m4/intl.m4.
63318
63319 2007-11-10  Jim Meyering  <meyering@redhat.com>
63320
63321         Avoid link failure for the argmatch test.
63322         * tests/test-argmatch.c (usage): Define function to avoid a link
63323         failure: argmatch_die requires a usage function.
63324
63325 2007-11-09  Bruno Haible  <bruno@clisp.org>
63326
63327         * doc/functions/snprintf.texi: Mention BeOS deficiency.
63328         * doc/functions/vsnprintf.texi: Likewise.
63329         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
63330         with a size argument < 2.
63331
63332 2007-11-09  Bruno Haible  <bruno@clisp.org>
63333
63334         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
63335         buffer. Fixes an inefficiency introduced on 2007-11-03.
63336
63337 2007-11-09  Bruno Haible  <bruno@clisp.org>
63338
63339         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
63340         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
63341
63342 2007-11-08  Jim Meyering  <meyering@redhat.com>
63343
63344         Change cache variable name prefix "jm_" to "gl_" everywhere.
63345         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
63346         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
63347         * m4/uptime.m4: s/gl_/jm_/
63348
63349 2007-11-07  Bruno Haible  <bruno@clisp.org>
63350
63351         Update to GNU gettext 0.17.
63352         * m4/intl.m4: Update to GNU gettext 0.17.
63353         * m4/po.m4: Likewise.
63354         * modules/gettext (Files): Remove m4/ulonglong.m4.
63355         (configure.ac): Require gettext infrastructure from version 0.17.
63356
63357 2007-11-06  Bruno Haible  <bruno@clisp.org>
63358
63359         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
63360         symbolic values are not defined in a public header.
63361         * lib/freadable.c (freadable) [QNX]: Likewise.
63362         * lib/freadahead.c (freadahead) [QNX]: Likewise.
63363         * lib/freading.c (freading) [QNX]: Likewise.
63364         * lib/fseterr.c (fseterr) [QNX]: Likewise.
63365         * lib/fwritable.c (fwritable) [QNX]: Likewise.
63366         * lib/fwriting.c (fwriting) [QNX]: Likewise.
63367         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
63368         Reported by Alain Magloire.
63369
63370         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
63371
63372 2007-11-05  Bruno Haible  <bruno@clisp.org>
63373
63374         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
63375         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
63376         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
63377         Reported by Eric Blake.
63378
63379 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63380             Bruno Haible  <bruno@clisp.org>
63381
63382         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
63383         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
63384         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
63385         (malloc): Undefine also before including <stdlib.h>.
63386         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
63387         Needed on OSF/1 4.0.
63388
63389 2007-11-05  Jim Meyering  <meyering@redhat.com>
63390
63391         git-version-gen: sync from coreutils.
63392         * build-aux/git-version-gen: Add comments.
63393         Change the first '-' to '.' in the snapshot version string,
63394         e.g., 6.9-377-08144 -> 6.9.377-08144
63395         Remove first parameter.
63396         Don't declare a version "-dirty" merely because a time
63397         stamp has changed.
63398
63399 2007-11-04  Bruno Haible  <bruno@clisp.org>
63400
63401         * lib/lock.h: Protect all macro definitions containing an 'if'
63402         statement through a "do { ... } while (0)".
63403         * lib/tls.h: Likewise.
63404
63405 2007-11-04  Bruno Haible  <bruno@clisp.org>
63406
63407         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
63408
63409 2007-11-04  Bruno Haible  <bruno@clisp.org>
63410
63411         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
63412         * modules/fprintf-posix (Depends-on): Add nocrash.
63413         * modules/snprintf-posix (Depends-on): Likewise.
63414         * modules/sprintf-posix (Depends-on): Likewise.
63415         * modules/vasnprintf-posix (Depends-on): Likewise.
63416         * modules/vasprintf-posix (Depends-on): Likewise.
63417         * modules/vfprintf-posix (Depends-on): Likewise.
63418         * modules/vsnprintf-posix (Depends-on): Likewise.
63419         * modules/vsprintf-posix (Depends-on): Likewise.
63420         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
63421         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
63422         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
63423         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
63424         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
63425         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
63426         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
63427
63428 2007-11-04  Bruno Haible  <bruno@clisp.org>
63429
63430         * modules/nocrash: New file.
63431         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
63432         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
63433
63434 2007-11-04  Bruno Haible  <bruno@clisp.org>
63435
63436         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
63437         precision handling.
63438         * tests/test-vasprintf-posix.c (test_function): Likewise.
63439         * tests/test-snprintf-posix.h (test_function): Likewise.
63440         * tests/test-sprintf-posix.h (test_function): Likewise.
63441
63442         Fix *printf behaviour for large precisions on mingw and BeOS.
63443         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
63444         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
63445         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
63446         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
63447         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
63448         gl_PRINTF_PRECISION and test its result. Invoke
63449         gl_PREREQ_VASNPRINTF_PRECISION.
63450         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
63451         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63452         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63453         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63454         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63455         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63456         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63457         * doc/functions/fprintf.texi: Update.
63458         * doc/functions/printf.texi: Update.
63459         * doc/functions/snprintf.texi: Update.
63460         * doc/functions/sprintf.texi: Update.
63461         * doc/functions/vfprintf.texi: Update.
63462         * doc/functions/vprintf.texi: Update.
63463         * doc/functions/vsnprintf.texi: Update.
63464         * doc/functions/vsprintf.texi: Update.
63465
63466 2007-11-04  Bruno Haible  <bruno@clisp.org>
63467
63468         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
63469
63470 2007-11-04  Bruno Haible  <bruno@clisp.org>
63471
63472         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
63473         Reported by Sylvain Beucler <beuc@gnu.org>.
63474
63475 2007-11-03  Bruno Haible  <bruno@clisp.org>
63476
63477         * tests/test-fprintf-posix2.sh: New file.
63478         * tests/test-fprintf-posix2.c: New file.
63479         * modules/fprintf-posix-tests (Files): Add them.
63480         (TESTS): Add test-fprintf-posix2.sh.
63481         (configure.ac): Check for getrlimit and setrlimit.
63482         (check_PROGRAMS): Add test-fprintf-posix2.
63483
63484         * tests/test-printf-posix2.sh: New file.
63485         * tests/test-printf-posix2.c: New file.
63486         * modules/printf-posix-tests (Files): Add them.
63487         (TESTS): Add test-printf-posix2.sh.
63488         (configure.ac): Check for getrlimit and setrlimit.
63489         (check_PROGRAMS): Add test-printf-posix2.
63490
63491         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
63492         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
63493         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
63494         (decode_double): New function, copied from decode_long_double.
63495         (scale10_round_decimal_decoded): New function, extracted from
63496         scale10_round_decimal_long_double.
63497         (scale10_round_decimal_long_double): Use it.
63498         (scale10_round_decimal_double): New function.
63499         (floorlog10): New function.
63500         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
63501         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
63502         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
63503         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
63504         gl_PRINTF_ENOMEM and test its result. Invoke
63505         gl_PREREQ_VASNPRINTF_ENOMEM.
63506         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
63507         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63508         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63509         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63510         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63511         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63512         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63513         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
63514         * modules/snprintf-posix (Depends-on): Likewise.
63515         * modules/sprintf-posix (Depends-on): Likewise.
63516         * modules/vasnprintf-posix (Depends-on): Likewise.
63517         * modules/vasprintf-posix (Depends-on): Likewise.
63518         * modules/vfprintf-posix (Depends-on): Likewise.
63519         * modules/vsnprintf-posix (Depends-on): Likewise.
63520         * modules/vsprintf-posix (Depends-on): Likewise.
63521         * doc/functions/fprintf.texi: Update.
63522         * doc/functions/printf.texi: Update.
63523         * doc/functions/snprintf.texi: Update.
63524         * doc/functions/sprintf.texi: Update.
63525         * doc/functions/vfprintf.texi: Update.
63526         * doc/functions/vprintf.texi: Update.
63527         * doc/functions/vsnprintf.texi: Update.
63528         * doc/functions/vsprintf.texi: Update.
63529
63530 2007-11-03  Bruno Haible  <bruno@clisp.org>
63531
63532         * modules/frexp-nolibm-tests: New file.
63533
63534         * modules/frexp-nolibm: New file.
63535         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
63536
63537 2007-11-03  Bruno Haible  <bruno@clisp.org>
63538
63539         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
63540         value is C99 compliant.
63541         Needed for OSF/1 5.1.
63542
63543 2007-11-03  Bruno Haible  <bruno@clisp.org>
63544
63545         Fix out-of-memory handling of vasnprintf.
63546         * lib/printf-parse.c: Include <errno.h>.
63547         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
63548         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
63549         is already set.
63550
63551 2007-11-02  Eric Blake  <ebb9@byu.net>
63552
63553         Fix tests on cygwin.
63554         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
63555
63556 2007-11-01  Bruno Haible  <bruno@clisp.org>
63557
63558         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
63559         warning.
63560         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
63561         needed for POSIX compatibility.
63562
63563 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
63564
63565         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
63566         for compatibility with GNU.
63567
63568 2007-11-01  Bruno Haible  <bruno@clisp.org>
63569
63570         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
63571         (putenv): Renamed from rpl_putenv. Change argument type from
63572         'const char *' to 'char *'.
63573         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
63574         of defining putenv in config.h, just set REPLACE_PUTENV.
63575         * modules/putenv (Depends-on): Add stdlib.
63576         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
63577         (Include): Use <stdlib.h>.
63578         * lib/stdlib.in.h (putenv): New declaration.
63579         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
63580         REPLACE_PUTENV.
63581         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
63582         REPLACE_PUTENV.
63583         Needed for MacOS X 10.5.0.
63584         Reported by Peter O'Gorman <peter@pogma.com>.
63585
63586 2007-11-01  Jim Meyering  <meyering@redhat.com>
63587
63588         Treat an empty date string exactly like "0".
63589         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
63590         if the remaining date string (to be parsed) is empty, use "0".
63591         Reported by Mischa Molhoek and discussed in this thread:
63592         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
63593
63594 2007-10-31  Bruno Haible  <bruno@clisp.org>
63595
63596         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
63597         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
63598         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
63599         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
63600         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
63601         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
63602
63603 2007-10-31  Bruno Haible  <bruno@clisp.org>
63604
63605         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
63606         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
63607         (AC_TYPE_LONG_LONG_INT): Use it.
63608         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
63609         it as well.
63610         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
63611         to m4/longlong.m4.
63612         * modules/stdint (Files): Remove m4/ulonglong.m4.
63613         * modules/strtoull (Files): Use m4/longlong.m4 instead of
63614         m4/ulonglong.m4.
63615         * modules/strtoumax (Files): Likewise.
63616
63617 2007-10-30  Bruno Haible  <bruno@clisp.org>
63618
63619         * modules/xvasprintf-posix: New file.
63620         Suggested by Eric Blake.
63621
63622 2007-10-30  Bruno Haible  <bruno@clisp.org>
63623
63624         * modules/xprintf-posix-tests: New file.
63625         * tests/test-xprintf-posix.sh: New file.
63626         * tests/test-xprintf-posix.c: New file.
63627         * tests/test-xfprintf-posix.c: New file.
63628
63629         * modules/xprintf-posix: New file.
63630
63631 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63632
63633         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
63634         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
63635         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
63636
63637 2007-10-29  Bruno Haible  <bruno@clisp.org>
63638
63639         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
63640         contain the special marker '_cv_'.
63641         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
63642         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
63643         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
63644         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
63645         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
63646         Reported by Ralf Wildenhues.
63647
63648 2007-10-29  Bruno Haible  <bruno@clisp.org>
63649
63650         * gnulib-tool (func_import): When --lgpl is not specified, set
63651         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
63652         GPLv3.
63653         Reported by Simon Josefsson.
63654
63655 2007-10-28  Bruno Haible  <bruno@clisp.org>
63656
63657         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
63658         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
63659         HAVE_DECL_ISFINITE.
63660         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
63661         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
63662         HAVE_DECL_ISFINITE.
63663
63664 2007-10-28  Bruno Haible  <bruno@clisp.org>
63665
63666         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
63667         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
63668
63669 2007-10-28  Bruno Haible  <bruno@clisp.org>
63670
63671         Fix link errors with Sun C 5.0 on Solaris 10.
63672         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
63673         function is declared but not present in the compiler's libm.
63674         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
63675         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
63676         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
63677         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
63678         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
63679         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
63680         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
63681         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
63682         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
63683         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
63684         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
63685         HAVE_DECL_FLOORL.
63686
63687 2007-10-28  Bruno Haible  <bruno@clisp.org>
63688
63689         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
63690         gl_FUNC_FLOORL. Cache the result.
63691         (gl_FUNC_FLOORL): Use it.
63692         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
63693         gl_FUNC_CEILL. Cache the result.
63694         (gl_FUNC_CEILL): Use it.
63695
63696         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
63697         gl_FUNC_FLOOR. Cache the result.
63698         (gl_FUNC_FLOOR): Use it.
63699         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
63700         gl_FUNC_CEIL. Cache the result.
63701         (gl_FUNC_CEIL): Use it.
63702
63703         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
63704         gl_FUNC_FLOORF. Cache the result.
63705         (gl_FUNC_FLOORF): Use it.
63706         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
63707         gl_FUNC_CEILF. Cache the result.
63708         (gl_FUNC_CEILF): Use it.
63709
63710 2007-10-28  Bruno Haible  <bruno@clisp.org>
63711
63712         * gnulib-tool: Allow specifying the LGPL version number through
63713         --lgpl=2 or --lgpl=3.
63714         (func_usage): Document --lgpl with argument.
63715         Handle --lgpl=... arguments.
63716         (func_import): Recognize also gl_LGPL calls with an argument. When
63717         --lgpl=2 is used and the module's license is just LGPL, report an
63718         error. Set sed_transform_lib_file according to the lgpl variable. In
63719         the generated files, use --lgpl or gl_LGPL invocations with argument,
63720         if necessary.
63721         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
63722         an LGPv2+ license.
63723         * doc/gnulib-tool.texi (Modified imports): Update explanation of
63724         gl_LGPL macro.
63725
63726 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63727             Bruno Haible  <bruno@clisp.org>
63728
63729         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
63730         (u16_uctomb_aux): Likewise.
63731         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
63732         !HAVE_INLINE.
63733         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
63734
63735 2007-10-28  Bruno Haible  <bruno@clisp.org>
63736
63737         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
63738         Invoke AM_GETTEXT_OPTION if it exists.
63739         * modules/vasprintf: Likewise.
63740         * modules/verror: Likewise.
63741         * modules/xprintf: Likewise.
63742         * modules/xvasprintf: Likewise.
63743
63744 2007-10-27  Ben Pfaff  <blp@gnu.org>
63745
63746         * lib/math.in.h: Define isfinite macro and prototypes for
63747         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
63748         implementations.
63749         * m4/math_h.m4: New substitutions for isfinite module.
63750         * lib/isfinite.c: New file.
63751         * m4/isfinite.m4: New file.
63752         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
63753         * modules/isfinite: New file.
63754         * modules/isfinite-tests: New file.
63755         * tests/tests-isfinite.c: New file.
63756         * doc/functions/isfinite.texi: Mention isfinite module.
63757         * MODULES.html.sh: Mention new module.
63758
63759 2007-10-27  Ben Pfaff  <blp@gnu.org>
63760
63761         Ralf Wildenhues reported that Tru64 4.0D declares the round
63762         functions but does not have definitions.
63763         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
63764         cannot be found in any library, set the output variable to
63765         "missing" instead of "".
63766         * m4/round.m4: Also use our substitute if we cannot find round in
63767         any library, even if it is declared.
63768         * m4/roundf.m4: Likewise for roundf.
63769         * m4/roundl.m4: Likewise for roundl.
63770         * lib/math.in.h: Undefine roundf, round, roundl before defining
63771         their replacements, to allow for hypothetical systems where these
63772         may be defined as macros but not available in libraries.
63773
63774 2007-10-27  Bruno Haible  <bruno@clisp.org>
63775
63776         * doc/gnulib.texi: Invoke @firstparagraphindent.
63777         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
63778         changes in gnulib.
63779         (Source changes): New section.
63780
63781 2007-10-26  Bruno Haible  <bruno@clisp.org>
63782
63783         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
63784         borrowed from autoconf.
63785
63786 2007-10-26  Bruno Haible  <bruno@clisp.org>
63787
63788         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
63789         strerror returned the empty string. Needed on HP-UX 11.00.
63790
63791 2007-10-24  Micah Cowan  <micah@cowan.name>
63792
63793         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
63794         * build-aux/bootstrap: Remove support for now-unnecessary option,
63795         --cvs-user, and envvars CVS_USER, CVS_RSH.
63796
63797 2007-10-24  Jim Meyering  <meyering@redhat.com>
63798
63799         Avoid diagnostics from sha1sum when there is no cached checksum.
63800         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
63801         if the po.s1 file hasn't been created yet.
63802
63803         * build-aux/bootstrap: Sync from coreutils:
63804         2007-10-24  Jim Meyering  <meyering@redhat.com>
63805         Get gnulib from the git repository, not from an obsolete cvs one.
63806         * build-aux/bootstrap: Suggestion from Micah Cowan.
63807         2007-10-04  Jim Meyering  <jim@meyering.net>
63808         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
63809         (update_po_files): Work also when there are no .po files in po/.
63810
63811 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
63812
63813         * README: Append ".git" to git and cg examples.
63814         Problem reported by Benoit Sigoure.
63815
63816 2007-10-23  Micah Cowan  <micah@cowan.name>
63817
63818         * users.txt: Add wget.
63819
63820 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63821
63822         Fix linking of some unistdio tests on FreeBSD.
63823         * modules/unistdio/u16-vsnprintf-tests
63824         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
63825         * modules/unistdio/u16-vsprintf-tests
63826         (test_u16_vsnprintf1_LDADD): Likewise.
63827         * modules/unistdio/u32-vsnprintf-tests
63828         (test_u32_vsnprintf1_LDADD): Likewise.
63829         * modules/unistdio/u32-vsprintf-tests
63830         (test_u32_vsprintf1_LDADD): Likewise.
63831         * modules/unistdio/u8-vsnprintf-tests
63832         (test_u8_vsnprintf1_LDADD): Likewise.
63833         * modules/unistdio/u8-vsprintf-tests
63834         (test_u8_vsprintf1_LDADD): Likewise.
63835         * modules/unistdio/ulc-vsnprintf-tests
63836         (test_ulc_vsnprintf1_LDADD): Likewise.
63837         * modules/unistdio/ulc-vsprintf-tests
63838         (test_ulc_vsprintf1_LDADD): Likewise.
63839
63840         Fix linking of some uniconv tests on FreeBSD.
63841         * modules/uniconv/u16-conv-from-enc-tests
63842         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
63843         * modules/uniconv/u16-conv-to-enc-tests
63844         (test_u16_conv_to_enc_LDADD): Likewise.
63845         * modules/uniconv/u16-strconv-from-enc-tests
63846         (test_u16_strconv_from_enc_LDADD): Likewise.
63847         * modules/uniconv/u16-strconv-to-enc-tests
63848         (test_u16_strconv_to_enc_LDADD): Likewise.
63849         * modules/uniconv/u32-conv-from-enc-tests
63850         (test_u32_conv_from_enc_LDADD): Likewise.
63851         * modules/uniconv/u32-conv-to-enc-tests
63852         (test_u32_conv_to_enc_LDADD): Likewise.
63853         * modules/uniconv/u32-strconv-from-enc-tests
63854         (test_u32_strconv_from_enc_LDADD): Likewise.
63855         * modules/uniconv/u32-strconv-to-enc-tests
63856         (test_u32_strconv_to_enc_LDADD): Likewise.
63857         * modules/uniconv/u8-conv-from-enc-tests
63858         (test_u8_conv_from_enc_LDADD): Likewise.
63859         * modules/uniconv/u8-conv-to-enc-tests
63860         (test_u8_conv_to_enc_LDADD): Likewise.
63861         * modules/uniconv/u8-strconv-from-enc-tests
63862         (test_u8_strconv_from_enc_LDADD): Likewise.
63863         * modules/uniconv/u8-strconv-to-enc-tests
63864         (test_u8_strconv_to_enc_LDADD): Likewise.
63865
63866 2007-10-22  Bruno Haible  <bruno@clisp.org>
63867
63868         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
63869         size.
63870
63871 2007-10-22  Eric Blake  <ebb9@byu.net>
63872
63873         Tweak x*printf documentation.
63874         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
63875         variable name and comments.
63876         Suggested by Bruno Haible.
63877
63878 2007-10-22  Bruno Haible  <bruno@clisp.org>
63879
63880         * lib/acl.c (copy_acl): Fix file name in comment.
63881
63882 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
63883
63884         Fix Tru64 problem with stdbool.h.
63885         * lib/stdbool.in.h (false, true):
63886         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
63887         Don't declare as an enum in this situation; it runs afoul of Tru64.
63888         Problem reported by Steven M. Schweda in
63889         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
63890
63891 2007-10-22  Eric Blake  <ebb9@byu.net>
63892
63893         Also wrap vf?printf.
63894         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
63895         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
63896         (xvprintf, xvfprintf): New functions.
63897
63898 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63899
63900         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
63901         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
63902
63903         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
63904         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
63905
63906 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
63907
63908         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
63909         by Bruno Haible.
63910
63911 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63912
63913         * lib/getloadavg.c
63914         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
63915         Undef `sys' after including sys/table.h, for Tru64 4.0D.
63916
63917         * tests/test-i-ring.c: Work for C89.
63918
63919 2007-10-22  Bruno Haible  <bruno@clisp.org>
63920
63921         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
63922         -1u, in preprocessor expression, so that we don't test for the bug
63923         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
63924         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
63925
63926 2007-10-22  Eric Blake  <ebb9@byu.net>
63927
63928         * tests/test-yesno.sh: Silence stderr during test.
63929
63930 2007-10-22  Simon Josefsson  <simon@josefsson.org>
63931
63932         * modules/crypto/gc-camellia: New file.
63933
63934         * m4/gc-camellia.m4: New file.
63935
63936         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
63937
63938         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
63939
63940 2007-10-22  Simon Josefsson  <simon@josefsson.org>
63941
63942         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
63943         --help to stdout.  Reported by sms@antinode.org (Steven
63944         M. Schweda).
63945
63946 2007-10-22  Simon Josefsson  <simon@josefsson.org>
63947
63948         * users.txt: Fix link to libksba.
63949
63950 2007-10-21  Ben Pfaff  <blp@gnu.org>
63951
63952         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
63953         round.c roundf implementation that depends on floorf and ceilf to
63954         be tested unconditionally.
63955
63956 2007-10-21  Ben Pfaff  <blp@gnu.org>
63957
63958         * m4/check-libm-func.m4: Removed.
63959         * m4/check-math-lib.m4: New file.
63960         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
63961         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
63962         definition and lack of AC_LIBOBJ([roundf]).
63963         * m4/roundl.m4: Ditto, and similarly for roundl.
63964         * modules/round: Reference new m4 file.
63965         * modules/roundf: Ditto.
63966         * modules/roundl: Ditto.
63967         * tests/test-round2.c (main): Use ROUND instead of round.
63968         Bug report from Bruno Haible.
63969
63970 2007-10-21  Bruno Haible  <bruno@clisp.org>
63971
63972         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
63973         context.
63974
63975 2007-10-21  Bruno Haible  <bruno@clisp.org>
63976
63977         * tests/test-wcwidth.c (main): Allow negative result for some control
63978         characters.
63979
63980         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
63981         Needed on OSF/1 5.1.
63982
63983 2007-10-21  Bruno Haible  <bruno@clisp.org>
63984
63985         * tests/test-floorf1.c: Include isnanf.h.
63986         (main): Use isnanf() instead of isnan().
63987         * tests/test-ceilf1.c: Include isnanf.h.
63988         (main): Use isnanf() instead of isnan().
63989         * tests/test-truncf1.c: Include isnanf.h.
63990         (main): Use isnanf() instead of isnan().
63991         * tests/test-roundf1.c: Include isnanf.h.
63992         (main): Use isnanf() instead of isnan().
63993
63994 2007-10-21  Eric Blake  <ebb9@byu.net>
63995
63996         * users.txt: Update URL for m4.
63997
63998 2007-10-21  Bruno Haible  <bruno@clisp.org>
63999
64000         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
64001
64002 2007-10-21  Bruno Haible  <bruno@clisp.org>
64003
64004         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
64005         Git's management files if the CVS files are not present.
64006
64007 2007-10-20  Bruno Haible  <bruno@clisp.org>
64008
64009         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
64010         gcc-3.4.x.
64011
64012 2007-10-20  Ben Pfaff  <blp@gnu.org>
64013
64014         * lib/math.in.h: Declare round, roundf, roundl if we are providing
64015         implementations.
64016         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
64017         * lib/round.c: New file.
64018         * lib/roundf.c: New file.
64019         * lib/roundl.c: New file.
64020         * m4/round.m4: New file.
64021         * m4/roundf.m4: New file.
64022         * m4/roundl.m4: New file.
64023         * m4/check-libm-func-m4: New file.
64024         * modules/math: Replace round, roundf, roundl related @VARS@ in
64025         math.in.h.
64026         * modules/round: New file.
64027         * modules/round-tests: New file.
64028         * modules/roundf: New file.
64029         * modules/roundf-tests: New file.
64030         * modules/roundl: New file.
64031         * modules/roundl-tests: New file.
64032         * tests/test-round1.c: New file.
64033         * tests/test-round2.c: New file.
64034         * tests/test-roundf1.c: New file.
64035         * tests/test-roundf2.c: New file.
64036         * tests/test-roundl.c: New file.
64037         * doc/functions/round.texi: Mention round module.
64038         * doc/functions/roundf.texi: Mention roundf module.
64039         * doc/functions/roundl.texi: Mention roundl module.
64040         * MODULES.html.sh: Mention new modules.
64041         Thanks to Bruno Haible for suggestions.
64042
64043 2007-10-20  Jim Meyering  <meyering@redhat.com>
64044
64045         * lib/xprintf.c: Include <config.h> unconditionally.
64046
64047         Change xprintf's license to GPL.
64048         * modules/xprintf (License): s/LGPL/GPL/, since this module
64049         depends on modules (exit and exitfail) which are GPL.
64050         Suggestion from Bruno Haible.
64051
64052         xprintf fixes.
64053         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
64054         Use a clearer diagnostic.
64055         Patch from Bruno Haible.
64056
64057 2007-10-20  Bruno Haible  <bruno@clisp.org>
64058
64059         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
64060         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
64061         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64062
64063 2007-10-20  Bruno Haible  <bruno@clisp.org>
64064
64065         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
64066         precision in the comparison result > x - 1 or similar.
64067         * tests/test-ceilf2.c (correct_result_p): Likewise.
64068         * tests/test-truncf2.c (correct_result_p): Likewise.
64069         * tests/test-trunc2.c (correct_result_p): Likewise.
64070         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64071
64072 2007-10-20  Bruno Haible  <bruno@clisp.org>
64073
64074         * modules/ceil: New file.
64075         * m4/ceil.m4: New file.
64076         * doc/functions/ceil.texi: Mention the 'ceil' module.
64077
64078 2007-10-20  Bruno Haible  <bruno@clisp.org>
64079
64080         * modules/floor: New file.
64081         * m4/floor.m4: New file.
64082         * doc/functions/floor.texi: Mention the 'floor' module.
64083
64084 2007-10-20  Bruno Haible  <bruno@clisp.org>
64085
64086         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
64087         of %a.
64088         * modules/floorf-tests (Depends-on): Likewise.
64089         * modules/truncf-tests (Depends-on): Likewise.
64090         * modules/trunc-tests (Depends-on): Likewise.
64091         Reported by Ben Pfaff.
64092
64093 2007-10-19  Jim Meyering  <meyering@redhat.com>
64094
64095         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
64096         Don't bother testing specific errno values.  Just test ferror.
64097
64098         New module: xprintf
64099         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
64100
64101 2007-10-19  Bruno Haible  <bruno@clisp.org>
64102
64103         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
64104         syntax.
64105         * modules/javaexec (Makefile.am): Likewise.
64106         * modules/relocatable-prog (Makefile.am): Likewise.
64107         Suggested by Jim Meyering.
64108
64109 2007-10-18  Bruno Haible  <bruno@clisp.org>
64110
64111         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
64112         Reported by Jim Meyering.
64113
64114 2007-10-18  Eric Blake  <ebb9@byu.net>
64115
64116         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
64117
64118 2007-10-18  Bruno Haible  <bruno@clisp.org>
64119
64120         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
64121         the format string into writable memory. Needed in Fortify conditions.
64122
64123 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
64124             Bruno Haible  <bruno@clisp.org>
64125
64126         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
64127         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
64128         * modules/trim (Depends-on): Add mbchar.
64129         (configure.ac): Add gl_FUNC_MBRTOWC.
64130         (Makefile.am): Augment lib_SOURCES.
64131
64132 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
64133
64134         Modify glob.c to use fstatat and dirfd, to simplify it.
64135         Suggested by Eric Blake.
64136         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
64137         Don't include <stdbool.h>; not used.
64138         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
64139         (link_exists_p): Simplify implementation, since we can now assume
64140         dirfd and fstatat.
64141         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
64142
64143 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64144
64145         * gnulib-tool (func_get_dependencies): Fix sed script to
64146         match only tests.
64147
64148 2007-10-17  Bruno Haible  <bruno@clisp.org>
64149
64150         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
64151         allow locale names without encoding suffix.
64152         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
64153         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
64154
64155 2007-10-16  Bruno Haible  <bruno@clisp.org>
64156
64157         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
64158         * lib/getgroups.c (getgroups): Likewise.
64159         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
64160
64161 2007-10-16  Bruno Haible  <bruno@clisp.org>
64162
64163         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
64164         * modules/malloc-posix (License): Likewise.
64165         * modules/realloc-posix (License): Likewise.
64166         * modules/calloc-posix (License): Likewise.
64167         * modules/intprops (License): Change from GPL to LGPL, with
64168         Paul Eggert's approval.
64169
64170 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
64171
64172         Merge glibc changes into lib/glob.c.
64173
64174         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
64175         2007-10-15 04:59:03 UTC.  Here are the changes:
64176
64177         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
64178
64179         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
64180
64181         * lib/glob.c: Add some branch prediction throughout.
64182
64183         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
64184
64185         [BZ #5103]
64186         * lib/glob.c (glob): Recognize patterns starting \/.
64187
64188         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
64189
64190         [BZ #3996]
64191         * lib/glob.c (attribute_hidden): Define if not defined.
64192         (glob): Unescape dirname, filename or username when needed and not
64193         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
64194         is NULL.  Handle unescaped [ in pattern without closing ].
64195         Don't pass GLOB_CHECK down to recursive glob for directories.
64196         (__glob_pattern_type): New function.
64197         (__glob_pattern_p): Implement using __glob_pattern_type.
64198         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
64199         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
64200         Remove unreachable code.
64201
64202         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
64203
64204         * lib/glob.c (glob_in_dir): Add some comments and asserts to
64205         explain why there are no leaks.
64206
64207         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
64208
64209         [BZ #3253]
64210         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
64211         time, rather allocate increasingly bigger arrays of pointers, if
64212         possible with alloca, if too large with malloc.
64213
64214 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
64215
64216         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
64217         Problem reported by H.Merijn Brand in
64218         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
64219         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
64220         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
64221
64222 2007-10-15  Bruno Haible  <bruno@clisp.org>
64223
64224         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
64225         with explicit rpl_ prefix.
64226         * lib/fopen.c (fopen): Likewise.
64227         * lib/freopen.c (freopen): Likewise.
64228         * lib/iconv.c (iconv): Likewise.
64229         * lib/iconv_close.c (iconv_close): Likewise.
64230
64231 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64232
64233         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
64234
64235 2007-10-15  Bruno Haible  <bruno@clisp.org>
64236
64237         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
64238         <stddef.h> instead of <stdlib.h> since we only need NULL.
64239         Reported by Ben Pfaff <blp@cs.stanford.edu>.
64240
64241 2007-10-15  Bruno Haible  <bruno@clisp.org>
64242
64243         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
64244         Replace paragraph talking about LIBOBJS.
64245         Reported by Colin Watson <cjwatson@debian.org>.
64246
64247 2007-10-15  Bruno Haible  <bruno@clisp.org>
64248
64249         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
64250         <stdlib.h> before using NULL.
64251
64252 2007-10-15  Simon Josefsson  <simon@josefsson.org>
64253
64254         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
64255         Reported by Albert Chin <china@thewrittenword.com>.
64256
64257 2007-10-14  Bruno Haible  <bruno@clisp.org>
64258
64259         * modules/iconv_open-utf-tests: New file.
64260         * tests/test-iconv-utf.c: New file.
64261
64262         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
64263         * modules/iconv_open-utf: New file.
64264         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
64265         (iconv, iconv_close): New declarations.
64266         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
64267         be defined.
64268         (iconv_open): Add special handling of conversion between UTF-8 and
64269         UTF-{16,32}{BE,LE}.
64270         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
64271         * lib/iconv_close.c: New file.
64272         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
64273         gl_FUNC_ICONV_OPEN.
64274         (gl_FUNC_ICONV_OPEN): Use it.
64275         (gl_FUNC_ICONV_OPEN_UTF): New macro.
64276         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
64277         and REPLACE_ICONV_UTF.
64278         * modules/iconv_open (Depends-on): Add c-strcase.
64279         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
64280         ICONV_CONST.
64281         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
64282
64283 2007-10-13  Albert Chin  <china@thewrittenword.com>
64284             Bruno Haible  <bruno@clisp.org>
64285
64286         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
64287         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
64288
64289 2007-10-13  Bruno Haible  <bruno@clisp.org>
64290
64291         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
64292         defined, use the ISO C99 inline semantics.
64293         * lib/argp.h (ARGP_EI): Likewise.
64294
64295 2007-10-13  Bruno Haible  <bruno@clisp.org>
64296
64297         Handle 'inline' change in gcc 4.3.0.
64298         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
64299         argp_fmtstream_write, argp_fmtstream_set_lmargin,
64300         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
64301         argp_fmtstream_point): Disable 'extern' declaration if the function
64302         definition is going to be provided inline.
64303         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
64304         semantics, not the ISO C99 inline semantics.
64305         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
64306         'extern' declaration if the function definition is going to be provided
64307         inline.
64308         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
64309         the GNU C inline semantics, not the ISO C99 inline semantics. With
64310         GCC 4.2, avoid a warning.
64311
64312 2007-10-13  Bruno Haible  <bruno@clisp.org>
64313
64314         * lib/freading.h (freading): Enable the use of __freading for
64315         glibc >= 2.7.
64316         * lib/freading.c (freading): Likewise.
64317
64318 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
64319
64320         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
64321         "warning: C99 inline functions are not supported; using GNU89".
64322
64323 2007-10-12  Bruno Haible  <bruno@clisp.org>
64324
64325         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
64326         of 2.
64327         * tests/test-ceilf2.c: New file.
64328         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
64329
64330         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
64331         * modules/ceilf-tests: Update.
64332
64333 2007-10-12  Bruno Haible  <bruno@clisp.org>
64334
64335         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
64336         of 2.
64337         * tests/test-floorf2.c: New file.
64338         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
64339
64340         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
64341         * modules/floorf-tests: Update.
64342
64343 2007-10-12  Bruno Haible  <bruno@clisp.org>
64344
64345         * tests/test-trunc2.c: New file.
64346         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
64347
64348         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
64349         * modules/trunc-tests: Update.
64350
64351 2007-10-12  Bruno Haible  <bruno@clisp.org>
64352
64353         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
64354         of 2.
64355         * tests/test-truncf2.c: New file.
64356         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
64357
64358         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
64359         * modules/truncf-tests: Update.
64360
64361 2007-10-11  Eric Blake  <ebb9@byu.net>
64362
64363         Don't claim strerror is broken on Interix.
64364         * doc/functions/strerror.texi (strerror): Known broken systems are
64365         now Solaris 8, and not Interix.
64366         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
64367         Interix on cross-compile.
64368         Reported by Martin Koeppe in
64369         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
64370
64371 2007-10-11  Bruno Haible  <bruno@clisp.org>
64372
64373         * modules/i-ring-tests: New file.
64374         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
64375         instead of assert.
64376
64377 2007-10-11  Bruno Haible  <bruno@clisp.org>
64378
64379         * modules/filenamecat-tests: New file.
64380         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
64381         * lib/filenamecat.c: Remove test code.
64382
64383 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
64384
64385         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
64386
64387         * lib/strerror.c: Include <string.h> always, to test interface,
64388         and to remove the need for the dummy.
64389         Include intprops.h to compute width instead of doing it ourselves
64390         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
64391         (strerror): Define it to return NULL if there's no system strerror.
64392         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
64393         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
64394         ancient pre-strerror Unix systems well any more.  Saying "unknown
64395         system error" is enough.
64396         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
64397         simpler strerror.c implementation.
64398         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
64399         Simplify the tests to reflect the simpler strerror implementation.
64400         * modules/strerror (Depends-on): Add intprops.
64401
64402 2007-10-09  Eric Blake  <ebb9@byu.net>
64403
64404         Silence test-fpending.
64405         * modules/fpending-tests (Files): Add wrapper script.
64406         * tests/test-fpending.sh: New file.
64407
64408 2007-10-09  Bruno Haible  <bruno@clisp.org>
64409
64410         * MODULES.html.sh (func_module): Don't create a hyperlink for
64411         function names like 'printf_frexp'.
64412         (Misc): Add crc, memxor.
64413         (Characteristics of floating types): New section.
64414         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
64415         isnanf-nolibm, signbit, trunc, truncf, truncl.
64416         (Enhancements for ISO C 99 functions): New subsection Input/output.
64417         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
64418         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
64419         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
64420         (Compatibility checks for POSIX:2001 functions): Add clock-time.
64421         (Enhancements for POSIX:2001 functions): Add chdir-long.
64422         (File system functions): Add areadlink, chdir-safer, read-file.
64423         Remove cycle-check.
64424         (File system as inode set): New section.
64425         (Date and time): Add gethrxtime.
64426         (Multithreading): Add openmp.
64427         (Internationalization functions): Add localename.
64428         (Unicode string functions): Add unistr/u*-mbsnlen.
64429         (Support for maintaining and releasing projects): Add git-version-gen.
64430         (Lone files): Remove directories.
64431
64432 2007-10-08  Ben Pfaff  <blp@gnu.org>
64433
64434         * lib/xmalloca.h: Fix typo in comment.
64435
64436 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
64437
64438         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
64439         when avoiding problems with integer overflow.  Use a portable test
64440         instead.
64441
64442 2007-10-08  Simon Josefsson  <simon@josefsson.org>
64443
64444         * modules/dummy (License): Change to LGPLv2+.
64445         * modules/float (License): Likewise
64446         * modules/realloc (License): Likewise
64447         * modules/stdlib (License): Likewise
64448
64449 2007-10-07  Bruno Haible  <bruno@clisp.org>
64450
64451         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
64452         * floor.c (TWO_MANT_DIG): Likewise.
64453         * ceil.c (TWO_MANT_DIG): Likewise.
64454         Reported by Ben Pfaff.
64455
64456 2007-10-07  Bruno Haible  <bruno@clisp.org>
64457
64458         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
64459         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
64460         * lib/frexp.c (FUNC): Likewise.
64461         * lib/printf-frexp.h (printf_frexp): Likewise.
64462         * lib/printf-frexpl.h (printf_frexpl): Likewise.
64463         * lib/printf-frexp.c (FUNC): Likewise.
64464         Suggested by Jim Meyering.
64465
64466 2007-10-07  Jim Meyering  <meyering@redhat.com>
64467
64468         Make xnanosleep's integer overflow test more robust.
64469         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
64470         so that gcc-4.3.0 doesn't optimize away this test for overflow.
64471
64472 2007-10-07  Bruno Haible  <bruno@clisp.org>
64473
64474         * NEWS: Mention the license change.
64475
64476         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
64477         abbreviations in the modules files.
64478
64479         Change copyright notice from GPLv2+ to GPLv3+.
64480         * README: Change copyright notice.
64481         * MODULES.html.sh: Likewise.
64482         * build-aux/bootstrap.conf: Likewise.
64483         * build-aux/config.libpath: Likewise.
64484         * build-aux/csharpcomp.sh.in: Likewise.
64485         * build-aux/csharpexec.sh.in: Likewise.
64486         * build-aux/install-reloc: Likewise.
64487         * build-aux/javacomp.sh.in: Likewise.
64488         * build-aux/javaexec.sh.in: Likewise.
64489         * build-aux/ldd.sh.in: Likewise.
64490         * build-aux/reloc-ldflags: Likewise.
64491         * build-aux/relocatable.sh.in: Likewise.
64492         * build-aux/x-to-1.in: Likewise.
64493         * check-module: Likewise.
64494         * config/srclistvars.sh: Likewise.
64495         * gnulib-tool: Likewise.
64496         * lib/acl-internal.h: Likewise.
64497         * lib/acl.c: Likewise.
64498         * lib/acl.h: Likewise.
64499         * lib/acl_entries.c: Likewise.
64500         * lib/areadlink-with-size.c: Likewise.
64501         * lib/areadlink.c: Likewise.
64502         * lib/areadlink.h: Likewise.
64503         * lib/argmatch.c: Likewise.
64504         * lib/argmatch.h: Likewise.
64505         * lib/argp-ba.c: Likewise.
64506         * lib/argp-eexst.c: Likewise.
64507         * lib/argp-fmtstream.c: Likewise.
64508         * lib/argp-fmtstream.h: Likewise.
64509         * lib/argp-fs-xinl.c: Likewise.
64510         * lib/argp-help.c: Likewise.
64511         * lib/argp-namefrob.h: Likewise.
64512         * lib/argp-parse.c: Likewise.
64513         * lib/argp-pin.c: Likewise.
64514         * lib/argp-pv.c: Likewise.
64515         * lib/argp-pvh.c: Likewise.
64516         * lib/argp-xinl.c: Likewise.
64517         * lib/argp.h: Likewise.
64518         * lib/at-func.c: Likewise.
64519         * lib/atanl.c: Likewise.
64520         * lib/backupfile.c: Likewise.
64521         * lib/backupfile.h: Likewise.
64522         * lib/basename.c: Likewise.
64523         * lib/binary-io.h: Likewise.
64524         * lib/byteswap.in.h: Likewise.
64525         * lib/c-stack.c: Likewise.
64526         * lib/c-stack.h: Likewise.
64527         * lib/c-strcasestr.c: Likewise.
64528         * lib/c-strcasestr.h: Likewise.
64529         * lib/c-strstr.c: Likewise.
64530         * lib/c-strstr.h: Likewise.
64531         * lib/c-strtod.c: Likewise.
64532         * lib/calloc.c: Likewise.
64533         * lib/canon-host.c: Likewise.
64534         * lib/canon-host.h: Likewise.
64535         * lib/canonicalize-lgpl.c: Likewise.
64536         * lib/canonicalize.c: Likewise.
64537         * lib/canonicalize.h: Likewise.
64538         * lib/ceil.c: Likewise.
64539         * lib/ceilf.c: Likewise.
64540         * lib/ceill.c: Likewise.
64541         * lib/chdir-long.c: Likewise.
64542         * lib/chdir-long.h: Likewise.
64543         * lib/chdir-safer.c: Likewise.
64544         * lib/chdir-safer.h: Likewise.
64545         * lib/chown.c: Likewise.
64546         * lib/classpath.c: Likewise.
64547         * lib/classpath.h: Likewise.
64548         * lib/clean-temp.c: Likewise.
64549         * lib/clean-temp.h: Likewise.
64550         * lib/cloexec.c: Likewise.
64551         * lib/close-stream.c: Likewise.
64552         * lib/closein.c: Likewise.
64553         * lib/closein.h: Likewise.
64554         * lib/closeout.c: Likewise.
64555         * lib/closeout.h: Likewise.
64556         * lib/concat-filename.c: Likewise.
64557         * lib/copy-file.c: Likewise.
64558         * lib/copy-file.h: Likewise.
64559         * lib/count-one-bits.h: Likewise.
64560         * lib/crc.c: Likewise.
64561         * lib/crc.h: Likewise.
64562         * lib/creat-safer.c: Likewise.
64563         * lib/csharpcomp.c: Likewise.
64564         * lib/csharpcomp.h: Likewise.
64565         * lib/csharpexec.c: Likewise.
64566         * lib/csharpexec.h: Likewise.
64567         * lib/cycle-check.c: Likewise.
64568         * lib/cycle-check.h: Likewise.
64569         * lib/diacrit.c: Likewise.
64570         * lib/diacrit.h: Likewise.
64571         * lib/diffseq.h: Likewise.
64572         * lib/dirchownmod.c: Likewise.
64573         * lib/dirent.in.h: Likewise.
64574         * lib/dirfd.c: Likewise.
64575         * lib/dirfd.h: Likewise.
64576         * lib/dirname.c: Likewise.
64577         * lib/dirname.h: Likewise.
64578         * lib/dummy.c: Likewise.
64579         * lib/dup-safer.c: Likewise.
64580         * lib/dup2.c: Likewise.
64581         * lib/eealloc.h: Likewise.
64582         * lib/error.c: Likewise.
64583         * lib/error.h: Likewise.
64584         * lib/euidaccess.c: Likewise.
64585         * lib/exclude.c: Likewise.
64586         * lib/exclude.h: Likewise.
64587         * lib/execute.c: Likewise.
64588         * lib/execute.h: Likewise.
64589         * lib/exitfail.c: Likewise.
64590         * lib/exitfail.h: Likewise.
64591         * lib/expl.c: Likewise.
64592         * lib/fatal-signal.c: Likewise.
64593         * lib/fatal-signal.h: Likewise.
64594         * lib/fbufmode.c: Likewise.
64595         * lib/fbufmode.h: Likewise.
64596         * lib/fchdir.c: Likewise.
64597         * lib/fchmodat.c: Likewise.
64598         * lib/fchownat.c: Likewise.
64599         * lib/fcntl--.h: Likewise.
64600         * lib/fcntl-safer.h: Likewise.
64601         * lib/fcntl.in.h: Likewise.
64602         * lib/fd-safer.c: Likewise.
64603         * lib/fflush.c: Likewise.
64604         * lib/file-has-acl.c: Likewise.
64605         * lib/file-set.c: Likewise.
64606         * lib/file-type.c: Likewise.
64607         * lib/file-type.h: Likewise.
64608         * lib/fileblocks.c: Likewise.
64609         * lib/filemode.c: Likewise.
64610         * lib/filemode.h: Likewise.
64611         * lib/filename.h: Likewise.
64612         * lib/filenamecat.c: Likewise.
64613         * lib/filenamecat.h: Likewise.
64614         * lib/findprog.c: Likewise.
64615         * lib/findprog.h: Likewise.
64616         * lib/float.in.h: Likewise.
64617         * lib/floor.c: Likewise.
64618         * lib/floorf.c: Likewise.
64619         * lib/floorl.c: Likewise.
64620         * lib/fopen-safer.c: Likewise.
64621         * lib/fopen.c: Likewise.
64622         * lib/fpending.c: Likewise.
64623         * lib/fpending.h: Likewise.
64624         * lib/fprintf.c: Likewise.
64625         * lib/fprintftime.h: Likewise.
64626         * lib/fpucw.h: Likewise.
64627         * lib/fpurge.c: Likewise.
64628         * lib/fpurge.h: Likewise.
64629         * lib/freadable.c: Likewise.
64630         * lib/freadable.h: Likewise.
64631         * lib/freadahead.c: Likewise.
64632         * lib/freadahead.h: Likewise.
64633         * lib/freading.c: Likewise.
64634         * lib/freading.h: Likewise.
64635         * lib/free.c: Likewise.
64636         * lib/freopen.c: Likewise.
64637         * lib/frexp.c: Likewise.
64638         * lib/frexpl.c: Likewise.
64639         * lib/fseek.c: Likewise.
64640         * lib/fseterr.c: Likewise.
64641         * lib/fseterr.h: Likewise.
64642         * lib/fstatat.c: Likewise.
64643         * lib/fstrcmp.c: Likewise.
64644         * lib/fstrcmp.h: Likewise.
64645         * lib/fsusage.c: Likewise.
64646         * lib/fsusage.h: Likewise.
64647         * lib/ftell.c: Likewise.
64648         * lib/ftello.c: Likewise.
64649         * lib/fts-cycle.c: Likewise.
64650         * lib/fts.c: Likewise.
64651         * lib/fts_.h: Likewise.
64652         * lib/full-read.c: Likewise.
64653         * lib/full-read.h: Likewise.
64654         * lib/full-write.c: Likewise.
64655         * lib/full-write.h: Likewise.
64656         * lib/fwritable.c: Likewise.
64657         * lib/fwritable.h: Likewise.
64658         * lib/fwriteerror.c: Likewise.
64659         * lib/fwriteerror.h: Likewise.
64660         * lib/fwriting.c: Likewise.
64661         * lib/fwriting.h: Likewise.
64662         * lib/gcd.c: Likewise.
64663         * lib/gcd.h: Likewise.
64664         * lib/getcwd.c: Likewise.
64665         * lib/getdate.h: Likewise.
64666         * lib/getdate.y: Likewise.
64667         * lib/getdomainname.c: Likewise.
64668         * lib/getdomainname.h: Likewise.
64669         * lib/getgroups.c: Likewise.
64670         * lib/gethostname.c: Likewise.
64671         * lib/gethrxtime.c: Likewise.
64672         * lib/gethrxtime.h: Likewise.
64673         * lib/getloadavg.c: Likewise.
64674         * lib/getndelim2.c: Likewise.
64675         * lib/getndelim2.h: Likewise.
64676         * lib/getnline.c: Likewise.
64677         * lib/getnline.h: Likewise.
64678         * lib/getopt.c: Likewise.
64679         * lib/getopt.in.h: Likewise.
64680         * lib/getopt1.c: Likewise.
64681         * lib/getopt_int.h: Likewise.
64682         * lib/getpagesize.h: Likewise.
64683         * lib/getsubopt.c: Likewise.
64684         * lib/gettime.c: Likewise.
64685         * lib/getugroups.c: Likewise.
64686         * lib/getugroups.h: Likewise.
64687         * lib/getusershell.c: Likewise.
64688         * lib/gl_anyavltree_list1.h: Likewise.
64689         * lib/gl_anyavltree_list2.h: Likewise.
64690         * lib/gl_anyhash_list1.h: Likewise.
64691         * lib/gl_anyhash_list2.h: Likewise.
64692         * lib/gl_anylinked_list1.h: Likewise.
64693         * lib/gl_anylinked_list2.h: Likewise.
64694         * lib/gl_anyrbtree_list1.h: Likewise.
64695         * lib/gl_anyrbtree_list2.h: Likewise.
64696         * lib/gl_anytree_list1.h: Likewise.
64697         * lib/gl_anytree_list2.h: Likewise.
64698         * lib/gl_anytree_oset.h: Likewise.
64699         * lib/gl_anytreehash_list1.h: Likewise.
64700         * lib/gl_anytreehash_list2.h: Likewise.
64701         * lib/gl_array_list.c: Likewise.
64702         * lib/gl_array_list.h: Likewise.
64703         * lib/gl_array_oset.c: Likewise.
64704         * lib/gl_array_oset.h: Likewise.
64705         * lib/gl_avltree_list.c: Likewise.
64706         * lib/gl_avltree_list.h: Likewise.
64707         * lib/gl_avltree_oset.c: Likewise.
64708         * lib/gl_avltree_oset.h: Likewise.
64709         * lib/gl_avltreehash_list.c: Likewise.
64710         * lib/gl_avltreehash_list.h: Likewise.
64711         * lib/gl_carray_list.c: Likewise.
64712         * lib/gl_carray_list.h: Likewise.
64713         * lib/gl_linked_list.c: Likewise.
64714         * lib/gl_linked_list.h: Likewise.
64715         * lib/gl_linkedhash_list.c: Likewise.
64716         * lib/gl_linkedhash_list.h: Likewise.
64717         * lib/gl_list.c: Likewise.
64718         * lib/gl_list.h: Likewise.
64719         * lib/gl_oset.c: Likewise.
64720         * lib/gl_oset.h: Likewise.
64721         * lib/gl_rbtree_list.c: Likewise.
64722         * lib/gl_rbtree_list.h: Likewise.
64723         * lib/gl_rbtree_oset.c: Likewise.
64724         * lib/gl_rbtree_oset.h: Likewise.
64725         * lib/gl_rbtreehash_list.c: Likewise.
64726         * lib/gl_rbtreehash_list.h: Likewise.
64727         * lib/gl_sublist.c: Likewise.
64728         * lib/gl_sublist.h: Likewise.
64729         * lib/group-member.c: Likewise.
64730         * lib/group-member.h: Likewise.
64731         * lib/hard-locale.c: Likewise.
64732         * lib/hard-locale.h: Likewise.
64733         * lib/hash-pjw.c: Likewise.
64734         * lib/hash-pjw.h: Likewise.
64735         * lib/hash-triple.c: Likewise.
64736         * lib/hash.c: Likewise.
64737         * lib/hash.h: Likewise.
64738         * lib/human.c: Likewise.
64739         * lib/human.h: Likewise.
64740         * lib/i-ring.c: Likewise.
64741         * lib/i-ring.h: Likewise.
64742         * lib/idcache.c: Likewise.
64743         * lib/imaxabs.c: Likewise.
64744         * lib/imaxdiv.c: Likewise.
64745         * lib/inet_pton.c: Likewise.
64746         * lib/inet_pton.h: Likewise.
64747         * lib/intprops.h: Likewise.
64748         * lib/inttostr.c: Likewise.
64749         * lib/inttostr.h: Likewise.
64750         * lib/inttypes.in.h: Likewise.
64751         * lib/isapipe.c: Likewise.
64752         * lib/isdir.c: Likewise.
64753         * lib/isnan.c: Likewise.
64754         * lib/isnan.h: Likewise.
64755         * lib/isnanf.c: Likewise.
64756         * lib/isnanf.h: Likewise.
64757         * lib/isnanl-nolibm.h: Likewise.
64758         * lib/isnanl.c: Likewise.
64759         * lib/isnanl.h: Likewise.
64760         * lib/javacomp.c: Likewise.
64761         * lib/javacomp.h: Likewise.
64762         * lib/javaexec.c: Likewise.
64763         * lib/javaexec.h: Likewise.
64764         * lib/javaversion.c: Likewise.
64765         * lib/javaversion.h: Likewise.
64766         * lib/javaversion.java: Likewise.
64767         * lib/lbrkprop.h: Likewise.
64768         * lib/lchmod.h: Likewise.
64769         * lib/lchown.c: Likewise.
64770         * lib/ldexpl.c: Likewise.
64771         * lib/linebreak.c: Likewise.
64772         * lib/linebreak.h: Likewise.
64773         * lib/linebuffer.c: Likewise.
64774         * lib/linebuffer.h: Likewise.
64775         * lib/locale.in.h: Likewise.
64776         * lib/logl.c: Likewise.
64777         * lib/long-options.c: Likewise.
64778         * lib/long-options.h: Likewise.
64779         * lib/lstat.c: Likewise.
64780         * lib/lstat.h: Likewise.
64781         * lib/math.in.h: Likewise.
64782         * lib/mbchar.c: Likewise.
64783         * lib/mbchar.h: Likewise.
64784         * lib/mbfile.h: Likewise.
64785         * lib/mbiter.h: Likewise.
64786         * lib/mbscasecmp.c: Likewise.
64787         * lib/mbscasestr.c: Likewise.
64788         * lib/mbschr.c: Likewise.
64789         * lib/mbscspn.c: Likewise.
64790         * lib/mbslen.c: Likewise.
64791         * lib/mbsncasecmp.c: Likewise.
64792         * lib/mbsnlen.c: Likewise.
64793         * lib/mbspbrk.c: Likewise.
64794         * lib/mbspcasecmp.c: Likewise.
64795         * lib/mbsrchr.c: Likewise.
64796         * lib/mbssep.c: Likewise.
64797         * lib/mbsspn.c: Likewise.
64798         * lib/mbsstr.c: Likewise.
64799         * lib/mbstok_r.c: Likewise.
64800         * lib/mbswidth.c: Likewise.
64801         * lib/mbswidth.h: Likewise.
64802         * lib/mbuiter.h: Likewise.
64803         * lib/memcasecmp.c: Likewise.
64804         * lib/memcasecmp.h: Likewise.
64805         * lib/memchr.c: Likewise.
64806         * lib/memcmp.c: Likewise.
64807         * lib/memcoll.c: Likewise.
64808         * lib/memcoll.h: Likewise.
64809         * lib/memcpy.c: Likewise.
64810         * lib/memrchr.c: Likewise.
64811         * lib/mkancesdirs.c: Likewise.
64812         * lib/mkdir-p.c: Likewise.
64813         * lib/mkdir-p.h: Likewise.
64814         * lib/mkdir.c: Likewise.
64815         * lib/mkdirat.c: Likewise.
64816         * lib/mkdtemp.c: Likewise.
64817         * lib/mkstemp-safer.c: Likewise.
64818         * lib/mkstemp.c: Likewise.
64819         * lib/modechange.c: Likewise.
64820         * lib/modechange.h: Likewise.
64821         * lib/mountlist.c: Likewise.
64822         * lib/mountlist.h: Likewise.
64823         * lib/mpsort.c: Likewise.
64824         * lib/nanosleep.c: Likewise.
64825         * lib/obstack.c: Likewise.
64826         * lib/obstack.h: Likewise.
64827         * lib/open-safer.c: Likewise.
64828         * lib/open.c: Likewise.
64829         * lib/openat-die.c: Likewise.
64830         * lib/openat-priv.h: Likewise.
64831         * lib/openat-proc.c: Likewise.
64832         * lib/openat.c: Likewise.
64833         * lib/openat.h: Likewise.
64834         * lib/pagealign_alloc.c: Likewise.
64835         * lib/pagealign_alloc.h: Likewise.
64836         * lib/physmem.c: Likewise.
64837         * lib/physmem.h: Likewise.
64838         * lib/pipe-safer.c: Likewise.
64839         * lib/pipe.c: Likewise.
64840         * lib/pipe.h: Likewise.
64841         * lib/posixtm.c: Likewise.
64842         * lib/posixtm.h: Likewise.
64843         * lib/posixver.c: Likewise.
64844         * lib/printf-frexp.c: Likewise.
64845         * lib/printf-frexp.h: Likewise.
64846         * lib/printf-frexpl.c: Likewise.
64847         * lib/printf-frexpl.h: Likewise.
64848         * lib/printf.c: Likewise.
64849         * lib/progname.c: Likewise.
64850         * lib/progname.h: Likewise.
64851         * lib/progreloc.c: Likewise.
64852         * lib/putenv.c: Likewise.
64853         * lib/quote.c: Likewise.
64854         * lib/quote.h: Likewise.
64855         * lib/quotearg.c: Likewise.
64856         * lib/quotearg.h: Likewise.
64857         * lib/raise.c: Likewise.
64858         * lib/readline.c: Likewise.
64859         * lib/readline.h: Likewise.
64860         * lib/readlink.c: Likewise.
64861         * lib/readtokens.c: Likewise.
64862         * lib/readtokens.h: Likewise.
64863         * lib/readtokens0.c: Likewise.
64864         * lib/readtokens0.h: Likewise.
64865         * lib/readutmp.c: Likewise.
64866         * lib/readutmp.h: Likewise.
64867         * lib/realloc.c: Likewise.
64868         * lib/relocwrapper.c: Likewise.
64869         * lib/rename-dest-slash.c: Likewise.
64870         * lib/rename.c: Likewise.
64871         * lib/rmdir.c: Likewise.
64872         * lib/rpmatch.c: Likewise.
64873         * lib/safe-read.c: Likewise.
64874         * lib/safe-read.h: Likewise.
64875         * lib/safe-write.c: Likewise.
64876         * lib/safe-write.h: Likewise.
64877         * lib/same-inode.h: Likewise.
64878         * lib/same.c: Likewise.
64879         * lib/same.h: Likewise.
64880         * lib/save-cwd.c: Likewise.
64881         * lib/save-cwd.h: Likewise.
64882         * lib/savedir.c: Likewise.
64883         * lib/savedir.h: Likewise.
64884         * lib/savewd.c: Likewise.
64885         * lib/savewd.h: Likewise.
64886         * lib/search.in.h: Likewise.
64887         * lib/setenv.c: Likewise.
64888         * lib/setenv.h: Likewise.
64889         * lib/settime.c: Likewise.
64890         * lib/sh-quote.c: Likewise.
64891         * lib/sh-quote.h: Likewise.
64892         * lib/sig2str.c: Likewise.
64893         * lib/sig2str.h: Likewise.
64894         * lib/signal.in.h: Likewise.
64895         * lib/signbitd.c: Likewise.
64896         * lib/signbitf.c: Likewise.
64897         * lib/signbitl.c: Likewise.
64898         * lib/sigprocmask.c: Likewise.
64899         * lib/sincosl.c: Likewise.
64900         * lib/sleep.c: Likewise.
64901         * lib/sprintf.c: Likewise.
64902         * lib/sqrtl.c: Likewise.
64903         * lib/stat-time.h: Likewise.
64904         * lib/stdio--.h: Likewise.
64905         * lib/stdio-safer.h: Likewise.
64906         * lib/stdlib--.h: Likewise.
64907         * lib/stdlib-safer.h: Likewise.
64908         * lib/stdlib.in.h: Likewise.
64909         * lib/stpcpy.c: Likewise.
64910         * lib/stpncpy.c: Likewise.
64911         * lib/strchrnul.c: Likewise.
64912         * lib/strcspn.c: Likewise.
64913         * lib/strerror.c: Likewise.
64914         * lib/strftime.c: Likewise.
64915         * lib/strftime.h: Likewise.
64916         * lib/striconveh.c: Likewise.
64917         * lib/striconveh.h: Likewise.
64918         * lib/striconveha.c: Likewise.
64919         * lib/striconveha.h: Likewise.
64920         * lib/stripslash.c: Likewise.
64921         * lib/strnlen1.c: Likewise.
64922         * lib/strnlen1.h: Likewise.
64923         * lib/strtod.c: Likewise.
64924         * lib/strtoimax.c: Likewise.
64925         * lib/strtok_r.c: Likewise.
64926         * lib/strtol.c: Likewise.
64927         * lib/strtoll.c: Likewise.
64928         * lib/strtoul.c: Likewise.
64929         * lib/strtoull.c: Likewise.
64930         * lib/sysexits.in.h: Likewise.
64931         * lib/tempname.c: Likewise.
64932         * lib/tempname.h: Likewise.
64933         * lib/timespec.h: Likewise.
64934         * lib/tls.c: Likewise.
64935         * lib/tls.h: Likewise.
64936         * lib/tmpdir.c: Likewise.
64937         * lib/tmpdir.h: Likewise.
64938         * lib/tmpfile-safer.c: Likewise.
64939         * lib/tmpfile.c: Likewise.
64940         * lib/trigl.c: Likewise.
64941         * lib/trigl.h: Likewise.
64942         * lib/trim.c: Likewise.
64943         * lib/trim.h: Likewise.
64944         * lib/trunc.c: Likewise.
64945         * lib/truncf.c: Likewise.
64946         * lib/truncl.c: Likewise.
64947         * lib/tsearch.c: Likewise.
64948         * lib/unicodeio.c: Likewise.
64949         * lib/unicodeio.h: Likewise.
64950         * lib/unistd--.h: Likewise.
64951         * lib/unistd-safer.h: Likewise.
64952         * lib/unistdio/ulc-fprintf.c: Likewise.
64953         * lib/unistdio/ulc-vfprintf.c: Likewise.
64954         * lib/unlinkdir.c: Likewise.
64955         * lib/unlinkdir.h: Likewise.
64956         * lib/unlocked-io.h: Likewise.
64957         * lib/unsetenv.c: Likewise.
64958         * lib/userspec.c: Likewise.
64959         * lib/utime.c: Likewise.
64960         * lib/utimecmp.c: Likewise.
64961         * lib/utimecmp.h: Likewise.
64962         * lib/utimens.c: Likewise.
64963         * lib/verify.h: Likewise.
64964         * lib/verror.c: Likewise.
64965         * lib/verror.h: Likewise.
64966         * lib/version-etc-fsf.c: Likewise.
64967         * lib/version-etc.c: Likewise.
64968         * lib/version-etc.h: Likewise.
64969         * lib/vfprintf.c: Likewise.
64970         * lib/vprintf.c: Likewise.
64971         * lib/vsprintf.c: Likewise.
64972         * lib/w32spawn.h: Likewise.
64973         * lib/wait-process.c: Likewise.
64974         * lib/wait-process.h: Likewise.
64975         * lib/wcwidth.c: Likewise.
64976         * lib/write-any-file.c: Likewise.
64977         * lib/xalloc-die.c: Likewise.
64978         * lib/xalloc.h: Likewise.
64979         * lib/xasprintf.c: Likewise.
64980         * lib/xgetcwd.c: Likewise.
64981         * lib/xgetcwd.h: Likewise.
64982         * lib/xgetdomainname.c: Likewise.
64983         * lib/xgetdomainname.h: Likewise.
64984         * lib/xgethostname.c: Likewise.
64985         * lib/xmalloc.c: Likewise.
64986         * lib/xmalloca.c: Likewise.
64987         * lib/xmalloca.h: Likewise.
64988         * lib/xmemcoll.c: Likewise.
64989         * lib/xnanosleep.c: Likewise.
64990         * lib/xreadlink.c: Likewise.
64991         * lib/xreadlink.h: Likewise.
64992         * lib/xsetenv.c: Likewise.
64993         * lib/xsetenv.h: Likewise.
64994         * lib/xstriconv.c: Likewise.
64995         * lib/xstriconv.h: Likewise.
64996         * lib/xstrndup.c: Likewise.
64997         * lib/xstrndup.h: Likewise.
64998         * lib/xstrtod.c: Likewise.
64999         * lib/xstrtod.h: Likewise.
65000         * lib/xstrtol-error.c: Likewise.
65001         * lib/xstrtol.c: Likewise.
65002         * lib/xstrtol.h: Likewise.
65003         * lib/xtime.h: Likewise.
65004         * lib/xvasprintf.c: Likewise.
65005         * lib/xvasprintf.h: Likewise.
65006         * lib/yesno.c: Likewise.
65007         * lib/yesno.h: Likewise.
65008         * posix-modules: Likewise.
65009         * tests/test-alloca-opt.c: Likewise.
65010         * tests/test-arcfour.c: Likewise.
65011         * tests/test-arctwo.c: Likewise.
65012         * tests/test-argmatch.c: Likewise.
65013         * tests/test-argp-2.sh: Likewise.
65014         * tests/test-argp.c: Likewise.
65015         * tests/test-arpa_inet.c: Likewise.
65016         * tests/test-array_list.c: Likewise.
65017         * tests/test-array_oset.c: Likewise.
65018         * tests/test-atexit.c: Likewise.
65019         * tests/test-avltree_list.c: Likewise.
65020         * tests/test-avltree_oset.c: Likewise.
65021         * tests/test-avltreehash_list.c: Likewise.
65022         * tests/test-base64.c: Likewise.
65023         * tests/test-binary-io.c: Likewise.
65024         * tests/test-byteswap.c: Likewise.
65025         * tests/test-c-ctype.c: Likewise.
65026         * tests/test-c-strcasecmp.c: Likewise.
65027         * tests/test-c-strcasestr.c: Likewise.
65028         * tests/test-c-strncasecmp.c: Likewise.
65029         * tests/test-c-strstr.c: Likewise.
65030         * tests/test-canonicalize-lgpl.c: Likewise.
65031         * tests/test-canonicalize.c: Likewise.
65032         * tests/test-carray_list.c: Likewise.
65033         * tests/test-ceilf.c: Likewise.
65034         * tests/test-ceill.c: Likewise.
65035         * tests/test-count-one-bits.c: Likewise.
65036         * tests/test-crc.c: Likewise.
65037         * tests/test-dirname.c: Likewise.
65038         * tests/test-fbufmode.c: Likewise.
65039         * tests/test-fcntl.c: Likewise.
65040         * tests/test-fflush.c: Likewise.
65041         * tests/test-floorf.c: Likewise.
65042         * tests/test-floorl.c: Likewise.
65043         * tests/test-fopen.c: Likewise.
65044         * tests/test-fprintf-posix.c: Likewise.
65045         * tests/test-fprintf-posix.h: Likewise.
65046         * tests/test-fpurge.c: Likewise.
65047         * tests/test-freadable.c: Likewise.
65048         * tests/test-freadahead.c: Likewise.
65049         * tests/test-freading.c: Likewise.
65050         * tests/test-freopen.c: Likewise.
65051         * tests/test-frexp.c: Likewise.
65052         * tests/test-frexpl.c: Likewise.
65053         * tests/test-fseek.c: Likewise.
65054         * tests/test-fseeko.c: Likewise.
65055         * tests/test-fseterr.c: Likewise.
65056         * tests/test-fstrcmp.c: Likewise.
65057         * tests/test-ftell.c: Likewise.
65058         * tests/test-ftello.c: Likewise.
65059         * tests/test-fwritable.c: Likewise.
65060         * tests/test-fwriting.c: Likewise.
65061         * tests/test-getaddrinfo.c: Likewise.
65062         * tests/test-getpass.c: Likewise.
65063         * tests/test-gettimeofday.c: Likewise.
65064         * tests/test-hmac-md5.c: Likewise.
65065         * tests/test-hmac-sha1.c: Likewise.
65066         * tests/test-iconv.c: Likewise.
65067         * tests/test-iconvme.c: Likewise.
65068         * tests/test-inttypes.c: Likewise.
65069         * tests/test-isnan.c: Likewise.
65070         * tests/test-isnanf.c: Likewise.
65071         * tests/test-isnanl-nolibm.c: Likewise.
65072         * tests/test-isnanl.c: Likewise.
65073         * tests/test-isnanl.h: Likewise.
65074         * tests/test-ldexpl.c: Likewise.
65075         * tests/test-linked_list.c: Likewise.
65076         * tests/test-linkedhash_list.c: Likewise.
65077         * tests/test-locale.c: Likewise.
65078         * tests/test-localename.c: Likewise.
65079         * tests/test-lock.c: Likewise.
65080         * tests/test-lseek.c: Likewise.
65081         * tests/test-malloca.c: Likewise.
65082         * tests/test-math.c: Likewise.
65083         * tests/test-mbscasecmp.c: Likewise.
65084         * tests/test-mbscasestr1.c: Likewise.
65085         * tests/test-mbscasestr2.c: Likewise.
65086         * tests/test-mbscasestr3.c: Likewise.
65087         * tests/test-mbscasestr4.c: Likewise.
65088         * tests/test-mbschr.c: Likewise.
65089         * tests/test-mbscspn.c: Likewise.
65090         * tests/test-mbsncasecmp.c: Likewise.
65091         * tests/test-mbspbrk.c: Likewise.
65092         * tests/test-mbspcasecmp.c: Likewise.
65093         * tests/test-mbsrchr.c: Likewise.
65094         * tests/test-mbsspn.c: Likewise.
65095         * tests/test-mbsstr1.c: Likewise.
65096         * tests/test-mbsstr2.c: Likewise.
65097         * tests/test-mbsstr3.c: Likewise.
65098         * tests/test-md5.c: Likewise.
65099         * tests/test-memmem.c: Likewise.
65100         * tests/test-netinet_in.c: Likewise.
65101         * tests/test-open.c: Likewise.
65102         * tests/test-printf-frexp.c: Likewise.
65103         * tests/test-printf-frexpl.c: Likewise.
65104         * tests/test-printf-posix.c: Likewise.
65105         * tests/test-printf-posix.h: Likewise.
65106         * tests/test-rbtree_list.c: Likewise.
65107         * tests/test-rbtree_oset.c: Likewise.
65108         * tests/test-rbtreehash_list.c: Likewise.
65109         * tests/test-read-file.c: Likewise.
65110         * tests/test-rijndael.c: Likewise.
65111         * tests/test-search.c: Likewise.
65112         * tests/test-signbit.c: Likewise.
65113         * tests/test-sleep.c: Likewise.
65114         * tests/test-snprintf-posix.c: Likewise.
65115         * tests/test-snprintf-posix.h: Likewise.
65116         * tests/test-snprintf.c: Likewise.
65117         * tests/test-sprintf-posix.c: Likewise.
65118         * tests/test-sprintf-posix.h: Likewise.
65119         * tests/test-stat-time.c: Likewise.
65120         * tests/test-stdbool.c: Likewise.
65121         * tests/test-stdint.c: Likewise.
65122         * tests/test-stdio.c: Likewise.
65123         * tests/test-stdlib.c: Likewise.
65124         * tests/test-stpncpy.c: Likewise.
65125         * tests/test-strcasestr.c: Likewise.
65126         * tests/test-striconv.c: Likewise.
65127         * tests/test-striconveh.c: Likewise.
65128         * tests/test-striconveha.c: Likewise.
65129         * tests/test-string.c: Likewise.
65130         * tests/test-sys_select.c: Likewise.
65131         * tests/test-sys_socket.c: Likewise.
65132         * tests/test-sys_stat.c: Likewise.
65133         * tests/test-sys_time.c: Likewise.
65134         * tests/test-sysexits.c: Likewise.
65135         * tests/test-time.c: Likewise.
65136         * tests/test-tls.c: Likewise.
65137         * tests/test-trunc.c: Likewise.
65138         * tests/test-truncf.c: Likewise.
65139         * tests/test-truncl.c: Likewise.
65140         * tests/test-unistd.c: Likewise.
65141         * tests/test-vasnprintf-posix.c: Likewise.
65142         * tests/test-vasnprintf-posix2.c: Likewise.
65143         * tests/test-vasnprintf.c: Likewise.
65144         * tests/test-vasprintf-posix.c: Likewise.
65145         * tests/test-vasprintf.c: Likewise.
65146         * tests/test-verify.c: Likewise.
65147         * tests/test-vfprintf-posix.c: Likewise.
65148         * tests/test-vprintf-posix.c: Likewise.
65149         * tests/test-vsnprintf-posix.c: Likewise.
65150         * tests/test-vsnprintf.c: Likewise.
65151         * tests/test-vsprintf-posix.c: Likewise.
65152         * tests/test-wchar.c: Likewise.
65153         * tests/test-wctype.c: Likewise.
65154         * tests/test-wcwidth.c: Likewise.
65155         * tests/test-xstrtol.c: Likewise.
65156         * tests/test-xvasprintf.c: Likewise.
65157         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
65158         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
65159         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
65160         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
65161         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
65162         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
65163         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
65164         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
65165         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
65166         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
65167         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
65168         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
65169         * tests/uniname/test-uninames.c: Likewise.
65170         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
65171         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
65172         * tests/unistdio/test-u16-printf1.h: Likewise.
65173         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
65174         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
65175         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
65176         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
65177         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
65178         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
65179         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
65180         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
65181         * tests/unistdio/test-u32-printf1.h: Likewise.
65182         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
65183         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
65184         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
65185         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
65186         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
65187         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
65188         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
65189         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
65190         * tests/unistdio/test-u8-printf1.h: Likewise.
65191         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
65192         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
65193         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
65194         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
65195         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
65196         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
65197         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
65198         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
65199         * tests/unistdio/test-ulc-printf1.h: Likewise.
65200         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
65201         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
65202         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
65203         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
65204         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
65205         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
65206         * tests/uniwidth/test-u16-strwidth.c: Likewise.
65207         * tests/uniwidth/test-u16-width.c: Likewise.
65208         * tests/uniwidth/test-u32-strwidth.c: Likewise.
65209         * tests/uniwidth/test-u32-width.c: Likewise.
65210         * tests/uniwidth/test-u8-strwidth.c: Likewise.
65211         * tests/uniwidth/test-u8-width.c: Likewise.
65212         * tests/uniwidth/test-uc_width.c: Likewise.
65213         * config/srclist-update: Likewise.
65214         (fixlicense): Update to GPLv3+.
65215
65216         Change copyright notice from LGPLv2.1+ to LGPLv3+.
65217         * tests/test-tsearch.c: Change copyright notice.
65218
65219         Change copyright notice from LGPLv2.0+ to LGPLv3+.
65220         * lib/c-strcaseeq.h: Change copyright notice.
65221         * lib/streq.h: Likewise.
65222         * lib/uniconv.h: Likewise.
65223         * lib/uniconv/u-conv-from-enc.h: Likewise.
65224         * lib/uniconv/u-conv-to-enc.h: Likewise.
65225         * lib/uniconv/u-strconv-from-enc.h: Likewise.
65226         * lib/uniconv/u-strconv-to-enc.h: Likewise.
65227         * lib/uniconv/u16-conv-from-enc.c: Likewise.
65228         * lib/uniconv/u16-conv-to-enc.c: Likewise.
65229         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
65230         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
65231         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
65232         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
65233         * lib/uniconv/u32-conv-from-enc.c: Likewise.
65234         * lib/uniconv/u32-conv-to-enc.c: Likewise.
65235         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
65236         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
65237         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
65238         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
65239         * lib/uniconv/u8-conv-from-enc.c: Likewise.
65240         * lib/uniconv/u8-conv-to-enc.c: Likewise.
65241         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
65242         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
65243         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
65244         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
65245         * lib/uniname.h: Likewise.
65246         * lib/uniname/uniname.c: Likewise.
65247         * lib/unistdio.h: Likewise.
65248         * lib/unistdio/u-asnprintf.h: Likewise.
65249         * lib/unistdio/u-asprintf.h: Likewise.
65250         * lib/unistdio/u-printf-args.c: Likewise.
65251         * lib/unistdio/u-printf-args.h: Likewise.
65252         * lib/unistdio/u-printf-parse.h: Likewise.
65253         * lib/unistdio/u-snprintf.h: Likewise.
65254         * lib/unistdio/u-sprintf.h: Likewise.
65255         * lib/unistdio/u-vasprintf.h: Likewise.
65256         * lib/unistdio/u-vsnprintf.h: Likewise.
65257         * lib/unistdio/u-vsprintf.h: Likewise.
65258         * lib/unistdio/u16-asnprintf.c: Likewise.
65259         * lib/unistdio/u16-asprintf.c: Likewise.
65260         * lib/unistdio/u16-printf-parse.c: Likewise.
65261         * lib/unistdio/u16-snprintf.c: Likewise.
65262         * lib/unistdio/u16-sprintf.c: Likewise.
65263         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
65264         * lib/unistdio/u16-u16-asprintf.c: Likewise.
65265         * lib/unistdio/u16-u16-snprintf.c: Likewise.
65266         * lib/unistdio/u16-u16-sprintf.c: Likewise.
65267         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
65268         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
65269         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
65270         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
65271         * lib/unistdio/u16-vasnprintf.c: Likewise.
65272         * lib/unistdio/u16-vasprintf.c: Likewise.
65273         * lib/unistdio/u16-vsnprintf.c: Likewise.
65274         * lib/unistdio/u16-vsprintf.c: Likewise.
65275         * lib/unistdio/u32-asnprintf.c: Likewise.
65276         * lib/unistdio/u32-asprintf.c: Likewise.
65277         * lib/unistdio/u32-printf-parse.c: Likewise.
65278         * lib/unistdio/u32-snprintf.c: Likewise.
65279         * lib/unistdio/u32-sprintf.c: Likewise.
65280         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
65281         * lib/unistdio/u32-u32-asprintf.c: Likewise.
65282         * lib/unistdio/u32-u32-snprintf.c: Likewise.
65283         * lib/unistdio/u32-u32-sprintf.c: Likewise.
65284         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
65285         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
65286         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
65287         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
65288         * lib/unistdio/u32-vasnprintf.c: Likewise.
65289         * lib/unistdio/u32-vasprintf.c: Likewise.
65290         * lib/unistdio/u32-vsnprintf.c: Likewise.
65291         * lib/unistdio/u32-vsprintf.c: Likewise.
65292         * lib/unistdio/u8-asnprintf.c: Likewise.
65293         * lib/unistdio/u8-asprintf.c: Likewise.
65294         * lib/unistdio/u8-printf-parse.c: Likewise.
65295         * lib/unistdio/u8-snprintf.c: Likewise.
65296         * lib/unistdio/u8-sprintf.c: Likewise.
65297         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
65298         * lib/unistdio/u8-u8-asprintf.c: Likewise.
65299         * lib/unistdio/u8-u8-snprintf.c: Likewise.
65300         * lib/unistdio/u8-u8-sprintf.c: Likewise.
65301         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
65302         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
65303         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
65304         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
65305         * lib/unistdio/u8-vasnprintf.c: Likewise.
65306         * lib/unistdio/u8-vasprintf.c: Likewise.
65307         * lib/unistdio/u8-vsnprintf.c: Likewise.
65308         * lib/unistdio/u8-vsprintf.c: Likewise.
65309         * lib/unistdio/ulc-asnprintf.c: Likewise.
65310         * lib/unistdio/ulc-asprintf.c: Likewise.
65311         * lib/unistdio/ulc-printf-parse.c: Likewise.
65312         * lib/unistdio/ulc-snprintf.c: Likewise.
65313         * lib/unistdio/ulc-sprintf.c: Likewise.
65314         * lib/unistdio/ulc-vasnprintf.c: Likewise.
65315         * lib/unistdio/ulc-vasprintf.c: Likewise.
65316         * lib/unistdio/ulc-vsnprintf.c: Likewise.
65317         * lib/unistdio/ulc-vsprintf.c: Likewise.
65318         * lib/unistr.h: Likewise.
65319         * lib/unistr/u-cpy-alloc.h: Likewise.
65320         * lib/unistr/u-cpy.h: Likewise.
65321         * lib/unistr/u-endswith.h: Likewise.
65322         * lib/unistr/u-move.h: Likewise.
65323         * lib/unistr/u-set.h: Likewise.
65324         * lib/unistr/u-startswith.h: Likewise.
65325         * lib/unistr/u-stpcpy.h: Likewise.
65326         * lib/unistr/u-stpncpy.h: Likewise.
65327         * lib/unistr/u-strcat.h: Likewise.
65328         * lib/unistr/u-strcpy.h: Likewise.
65329         * lib/unistr/u-strcspn.h: Likewise.
65330         * lib/unistr/u-strdup.h: Likewise.
65331         * lib/unistr/u-strlen.h: Likewise.
65332         * lib/unistr/u-strncat.h: Likewise.
65333         * lib/unistr/u-strncpy.h: Likewise.
65334         * lib/unistr/u-strnlen.h: Likewise.
65335         * lib/unistr/u-strpbrk.h: Likewise.
65336         * lib/unistr/u-strspn.h: Likewise.
65337         * lib/unistr/u-strstr.h: Likewise.
65338         * lib/unistr/u-strtok.h: Likewise.
65339         * lib/unistr/u16-check.c: Likewise.
65340         * lib/unistr/u16-chr.c: Likewise.
65341         * lib/unistr/u16-cmp.c: Likewise.
65342         * lib/unistr/u16-cpy-alloc.c: Likewise.
65343         * lib/unistr/u16-cpy.c: Likewise.
65344         * lib/unistr/u16-endswith.c: Likewise.
65345         * lib/unistr/u16-mblen.c: Likewise.
65346         * lib/unistr/u16-mbsnlen.c: Likewise.
65347         * lib/unistr/u16-mbtouc-aux.c: Likewise.
65348         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
65349         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
65350         * lib/unistr/u16-mbtouc.c: Likewise.
65351         * lib/unistr/u16-mbtoucr.c: Likewise.
65352         * lib/unistr/u16-move.c: Likewise.
65353         * lib/unistr/u16-next.c: Likewise.
65354         * lib/unistr/u16-prev.c: Likewise.
65355         * lib/unistr/u16-set.c: Likewise.
65356         * lib/unistr/u16-startswith.c: Likewise.
65357         * lib/unistr/u16-stpcpy.c: Likewise.
65358         * lib/unistr/u16-stpncpy.c: Likewise.
65359         * lib/unistr/u16-strcat.c: Likewise.
65360         * lib/unistr/u16-strchr.c: Likewise.
65361         * lib/unistr/u16-strcmp.c: Likewise.
65362         * lib/unistr/u16-strcpy.c: Likewise.
65363         * lib/unistr/u16-strcspn.c: Likewise.
65364         * lib/unistr/u16-strdup.c: Likewise.
65365         * lib/unistr/u16-strlen.c: Likewise.
65366         * lib/unistr/u16-strmblen.c: Likewise.
65367         * lib/unistr/u16-strmbtouc.c: Likewise.
65368         * lib/unistr/u16-strncat.c: Likewise.
65369         * lib/unistr/u16-strncmp.c: Likewise.
65370         * lib/unistr/u16-strncpy.c: Likewise.
65371         * lib/unistr/u16-strnlen.c: Likewise.
65372         * lib/unistr/u16-strpbrk.c: Likewise.
65373         * lib/unistr/u16-strrchr.c: Likewise.
65374         * lib/unistr/u16-strspn.c: Likewise.
65375         * lib/unistr/u16-strstr.c: Likewise.
65376         * lib/unistr/u16-strtok.c: Likewise.
65377         * lib/unistr/u16-to-u32.c: Likewise.
65378         * lib/unistr/u16-to-u8.c: Likewise.
65379         * lib/unistr/u16-uctomb-aux.c: Likewise.
65380         * lib/unistr/u16-uctomb.c: Likewise.
65381         * lib/unistr/u32-check.c: Likewise.
65382         * lib/unistr/u32-chr.c: Likewise.
65383         * lib/unistr/u32-cmp.c: Likewise.
65384         * lib/unistr/u32-cpy-alloc.c: Likewise.
65385         * lib/unistr/u32-cpy.c: Likewise.
65386         * lib/unistr/u32-endswith.c: Likewise.
65387         * lib/unistr/u32-mblen.c: Likewise.
65388         * lib/unistr/u32-mbsnlen.c: Likewise.
65389         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
65390         * lib/unistr/u32-mbtouc.c: Likewise.
65391         * lib/unistr/u32-mbtoucr.c: Likewise.
65392         * lib/unistr/u32-move.c: Likewise.
65393         * lib/unistr/u32-next.c: Likewise.
65394         * lib/unistr/u32-prev.c: Likewise.
65395         * lib/unistr/u32-set.c: Likewise.
65396         * lib/unistr/u32-startswith.c: Likewise.
65397         * lib/unistr/u32-stpcpy.c: Likewise.
65398         * lib/unistr/u32-stpncpy.c: Likewise.
65399         * lib/unistr/u32-strcat.c: Likewise.
65400         * lib/unistr/u32-strchr.c: Likewise.
65401         * lib/unistr/u32-strcmp.c: Likewise.
65402         * lib/unistr/u32-strcpy.c: Likewise.
65403         * lib/unistr/u32-strcspn.c: Likewise.
65404         * lib/unistr/u32-strdup.c: Likewise.
65405         * lib/unistr/u32-strlen.c: Likewise.
65406         * lib/unistr/u32-strmblen.c: Likewise.
65407         * lib/unistr/u32-strmbtouc.c: Likewise.
65408         * lib/unistr/u32-strncat.c: Likewise.
65409         * lib/unistr/u32-strncmp.c: Likewise.
65410         * lib/unistr/u32-strncpy.c: Likewise.
65411         * lib/unistr/u32-strnlen.c: Likewise.
65412         * lib/unistr/u32-strpbrk.c: Likewise.
65413         * lib/unistr/u32-strrchr.c: Likewise.
65414         * lib/unistr/u32-strspn.c: Likewise.
65415         * lib/unistr/u32-strstr.c: Likewise.
65416         * lib/unistr/u32-strtok.c: Likewise.
65417         * lib/unistr/u32-to-u16.c: Likewise.
65418         * lib/unistr/u32-to-u8.c: Likewise.
65419         * lib/unistr/u32-uctomb.c: Likewise.
65420         * lib/unistr/u8-check.c: Likewise.
65421         * lib/unistr/u8-chr.c: Likewise.
65422         * lib/unistr/u8-cmp.c: Likewise.
65423         * lib/unistr/u8-cpy-alloc.c: Likewise.
65424         * lib/unistr/u8-cpy.c: Likewise.
65425         * lib/unistr/u8-endswith.c: Likewise.
65426         * lib/unistr/u8-mblen.c: Likewise.
65427         * lib/unistr/u8-mbsnlen.c: Likewise.
65428         * lib/unistr/u8-mbtouc-aux.c: Likewise.
65429         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
65430         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
65431         * lib/unistr/u8-mbtouc.c: Likewise.
65432         * lib/unistr/u8-mbtoucr.c: Likewise.
65433         * lib/unistr/u8-move.c: Likewise.
65434         * lib/unistr/u8-next.c: Likewise.
65435         * lib/unistr/u8-prev.c: Likewise.
65436         * lib/unistr/u8-set.c: Likewise.
65437         * lib/unistr/u8-startswith.c: Likewise.
65438         * lib/unistr/u8-stpcpy.c: Likewise.
65439         * lib/unistr/u8-stpncpy.c: Likewise.
65440         * lib/unistr/u8-strcat.c: Likewise.
65441         * lib/unistr/u8-strchr.c: Likewise.
65442         * lib/unistr/u8-strcmp.c: Likewise.
65443         * lib/unistr/u8-strcpy.c: Likewise.
65444         * lib/unistr/u8-strcspn.c: Likewise.
65445         * lib/unistr/u8-strdup.c: Likewise.
65446         * lib/unistr/u8-strlen.c: Likewise.
65447         * lib/unistr/u8-strmblen.c: Likewise.
65448         * lib/unistr/u8-strmbtouc.c: Likewise.
65449         * lib/unistr/u8-strncat.c: Likewise.
65450         * lib/unistr/u8-strncmp.c: Likewise.
65451         * lib/unistr/u8-strncpy.c: Likewise.
65452         * lib/unistr/u8-strnlen.c: Likewise.
65453         * lib/unistr/u8-strpbrk.c: Likewise.
65454         * lib/unistr/u8-strrchr.c: Likewise.
65455         * lib/unistr/u8-strspn.c: Likewise.
65456         * lib/unistr/u8-strstr.c: Likewise.
65457         * lib/unistr/u8-strtok.c: Likewise.
65458         * lib/unistr/u8-to-u16.c: Likewise.
65459         * lib/unistr/u8-to-u32.c: Likewise.
65460         * lib/unistr/u8-uctomb-aux.c: Likewise.
65461         * lib/unistr/u8-uctomb.c: Likewise.
65462         * lib/unitypes.h: Likewise.
65463         * lib/uniwidth.h: Likewise.
65464         * lib/uniwidth/cjk.h: Likewise.
65465         * lib/uniwidth/u16-strwidth.c: Likewise.
65466         * lib/uniwidth/u16-width.c: Likewise.
65467         * lib/uniwidth/u32-strwidth.c: Likewise.
65468         * lib/uniwidth/u32-width.c: Likewise.
65469         * lib/uniwidth/u8-strwidth.c: Likewise.
65470         * lib/uniwidth/u8-width.c: Likewise.
65471         * lib/uniwidth/width.c: Likewise.
65472
65473 2007-10-07  Bruno Haible  <bruno@clisp.org>
65474
65475         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
65476         The file is still under LGPL (see modules/inttypes).
65477
65478 2007-10-06  Bruno Haible  <bruno@clisp.org>
65479
65480         * modules/trunc (Dependencies): Add 'extensions'.
65481         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
65482         Reported by Ben Pfaff <blp@gnu.org>.
65483
65484 2007-10-06  Bruno Haible  <bruno@clisp.org>
65485
65486         * modules/freopen-tests: New file.
65487         * tests/test-freopen.c: New file.
65488
65489         * modules/fopen-tests: New file.
65490         * tests/test-fopen.c: New file.
65491
65492         * modules/fopen: New file.
65493         * lib/fopen.c: New file.
65494         * m4/fopen.m4: New file.
65495         * modules/freopen: New file.
65496         * lib/freopen.c: New file.
65497         * m4/freopen.m4: New file.
65498         * lib/stdio.in.h (fopen, freopen): New declarations.
65499         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
65500         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
65501         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
65502         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
65503         * doc/functions/fopen.texi: Mention the 'fopen' module.
65504         * doc/functions/freopen.texi: Mention the 'freopen' module.
65505
65506 2007-10-06  Bruno Haible  <bruno@clisp.org>
65507
65508         * modules/open-tests: New file.
65509         * tests/test-open.c: New file.
65510
65511         * modules/open: New file.
65512         * lib/open.c: New file.
65513         * m4/open.m4: New file.
65514         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
65515         lib/open.c does.
65516         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
65517         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
65518         macros.
65519         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
65520         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
65521         REPLACE_OPEN.
65522         * doc/functions/open.texi: Mention the 'open' module.
65523
65524 2007-10-04  Bruno Haible  <bruno@clisp.org>
65525
65526         * modules/ceill-tests: New file.
65527         * tests/test-ceill.c: New file.
65528
65529         * modules/ceill: New file.
65530         * lib/ceill.c: Replace entire file.
65531         * m4/ceill.m4: New file.
65532         * lib/math.in.h (ceill): Replace declaration.
65533         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
65534         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
65535         * doc/functions/ceill.texi: Mention the 'ceill' module.
65536         * modules/mathl (Files): Remove lib/ceill.c.
65537         (Depends-on): Add ceill.
65538
65539 2007-10-04  Bruno Haible  <bruno@clisp.org>
65540
65541         * modules/ceilf-tests: New file.
65542         * tests/test-ceilf.c: New file.
65543
65544         * modules/ceilf: New file.
65545         * lib/ceil.c: New file.
65546         * lib/ceilf.c: New file.
65547         * m4/ceilf.m4: New file.
65548         * lib/math.in.h (ceilf): New declaration.
65549         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
65550         HAVE_DECL_CEILF.
65551         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
65552         HAVE_DECL_CEILF.
65553         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
65554
65555 2007-10-04  Bruno Haible  <bruno@clisp.org>
65556
65557         * modules/floorl-tests: New file.
65558         * tests/test-floorl.c: New file.
65559
65560         * modules/floorl: New file.
65561         * lib/floorl.c: Replace entire file.
65562         * m4/floorl.m4: New file.
65563         * lib/math.in.h (floorl): Replace declaration.
65564         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
65565         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
65566         * doc/functions/floorl.texi: Mention the 'floorl' module.
65567         * modules/mathl (Files): Remove lib/floorl.c.
65568         (Depends-on): Add floorl.
65569
65570 2007-10-04  Bruno Haible  <bruno@clisp.org>
65571
65572         * modules/floorf-tests: New file.
65573         * tests/test-floorf.c: New file.
65574
65575         * modules/floorf: New file.
65576         * lib/floor.c: New file.
65577         * lib/floorf.c: New file.
65578         * m4/floorf.m4: New file.
65579         * lib/math.in.h (floorf): New declaration.
65580         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
65581         HAVE_DECL_FLOORF.
65582         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
65583         HAVE_DECL_FLOORF.
65584         * doc/functions/floorf.texi: Mention the 'floorf' module.
65585
65586 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
65587             Bruno Haible  <bruno@clisp.org>
65588
65589         Advertise for the Git server instead of the CVS server.
65590         * doc/gnulib-intro.texi (Steady Development): Mention the Git
65591         repository instead of the CVS one.
65592         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
65593         about all VCS systems generically.
65594         * doc/gnulib.texi (Introduction): Capitalize `Git'.
65595
65596 2007-10-04  Bruno Haible  <bruno@clisp.org>
65597
65598         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
65599         means.
65600         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
65601
65602 2007-10-04  Bruno Haible  <bruno@clisp.org>
65603
65604         * modules/truncl-tests: New file.
65605         * tests/test-truncl.c: New file.
65606
65607         * modules/truncl: New file.
65608         * lib/truncl.c: New file.
65609         * m4/truncl.m4: New file.
65610         * lib/math.in.h (truncl): New declaration.
65611         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
65612         HAVE_DECL_TRUNCL.
65613         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
65614         HAVE_DECL_TRUNCL.
65615         * doc/functions/truncl.texi: Mention the 'truncl' module.
65616
65617 2007-10-04  Bruno Haible  <bruno@clisp.org>
65618
65619         * modules/truncf-tests: New file.
65620         * tests/test-truncf.c: New file.
65621
65622         * modules/truncf: New file.
65623         * lib/trunc.c: Make paramerizable through USE_* macros.
65624         * lib/truncf.c: New file.
65625         * m4/truncf.m4: New file.
65626         * lib/math.in.h (truncf): New declaration.
65627         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
65628         HAVE_DECL_TRUNCF.
65629         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
65630         HAVE_DECL_TRUNCF.
65631         * doc/functions/truncf.texi: Mention the 'truncf' module.
65632
65633 2007-10-03  Bruno Haible  <bruno@clisp.org>
65634
65635         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
65636         augmentation also for tests modules.
65637         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
65638         * modules/atexit-tests (Makefile.am): Likewise.
65639         * modules/binary-io-tests (Makefile.am): Likewise.
65640         * modules/c-strcase-tests (Makefile.am): Likewise.
65641         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
65642         * modules/canonicalize-tests (Makefile.am): Likewise.
65643         * modules/closein-tests (Makefile.am): Likewise.
65644         * modules/fprintf-posix-tests (Makefile.am): Likewise.
65645         * modules/freadahead-tests (Makefile.am): Likewise.
65646         * modules/fseek-tests (Makefile.am): Likewise.
65647         * modules/fseeko-tests (Makefile.am): Likewise.
65648         * modules/ftell-tests (Makefile.am): Likewise.
65649         * modules/ftello-tests (Makefile.am): Likewise.
65650         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
65651         * modules/isnanl-tests (Makefile.am): Likewise.
65652         * modules/lseek-tests (Makefile.am): Likewise.
65653         * modules/mbscasecmp-tests (Makefile.am): Likewise.
65654         * modules/mbscasestr-tests (Makefile.am): Likewise.
65655         * modules/mbschr-tests (Makefile.am): Likewise.
65656         * modules/mbscspn-tests (Makefile.am): Likewise.
65657         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
65658         * modules/mbspbrk-tests (Makefile.am): Likewise.
65659         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
65660         * modules/mbsrchr-tests (Makefile.am): Likewise.
65661         * modules/mbsspn-tests (Makefile.am): Likewise.
65662         * modules/mbsstr-tests (Makefile.am): Likewise.
65663         * modules/printf-posix-tests (Makefile.am): Likewise.
65664         * modules/snprintf-posix-tests (Makefile.am): Likewise.
65665         * modules/sprintf-posix-tests (Makefile.am): Likewise.
65666         * modules/tsearch-tests (Makefile.am): Likewise.
65667         * modules/uniname/uniname-tests (Makefile.am): Likewise.
65668         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
65669         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
65670         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
65671         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
65672         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
65673         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
65674         * modules/vprintf-posix-tests (Makefile.am): Likewise.
65675         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
65676         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
65677         * modules/xstrtoimax-tests (Makefile.am): Likewise.
65678         * modules/xstrtol-tests (Makefile.am): Likewise.
65679         * modules/xstrtoumax-tests (Makefile.am): Likewise.
65680         * modules/yesno-tests (Makefile.am): Likewise.
65681
65682 2007-10-03  Bruno Haible  <bruno@clisp.org>
65683
65684         * modules/trunc-tests: New file.
65685         * tests/test-trunc.c: New file.
65686
65687         * modules/trunc: New file.
65688         * lib/trunc.c: New file.
65689         * m4/trunc.m4: New file.
65690         * lib/math.in.h (trunc): New declaration.
65691         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
65692         HAVE_DECL_TRUNC.
65693         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
65694         HAVE_DECL_TRUNC.
65695         * doc/functions/trunc.texi: Mention the 'trunc' module.
65696
65697 2007-10-03  Bruno Haible  <bruno@clisp.org>
65698
65699         * tests/test-fpending.c: New file, mostly copied
65700         from coreutils/lib/t-fpending.c.
65701         * modules/fpending-tests: New file.
65702
65703 2007-10-03  Bruno Haible  <bruno@clisp.org>
65704
65705         Port the stdio extensions to QNX (untested).
65706         * lib/fseterr.c (fseterr): Add support for QNX.
65707         * lib/fbufmode.c (fbufmode): Likewise.
65708         * lib/freadable.c (freadable): Likewise.
65709         * lib/fwritable.c (fwritable): Likewise.
65710         * lib/freading.c (freading): Likewise.
65711         * lib/fwriting.c (fwriting): Likewise.
65712         * lib/freadahead.c (freadahed): Likewise.
65713         * lib/fpurge.c (fpurge): Likewise.
65714         * lib/fseeko.c (rpl_fseeko): Likewise.
65715
65716 2007-10-03  Bruno Haible  <bruno@clisp.org>
65717             Jim Meyering  <jim@meyering.net>
65718             Eric Blake  <ebb9@byu.net>
65719
65720         * doc/relocatable.texi: Use @command instead of @program.
65721
65722 2007-10-02  Jim Meyering  <jim@meyering.net>
65723
65724         Perform one more "_.h" -> ".in.h" substitution.
65725         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
65726         instead of unistd_.h here, too.
65727
65728 2007-10-01  Bruno Haible  <bruno@clisp.org>
65729
65730         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
65731         Needed for the alloca-opt module.
65732
65733 2007-09-30  Bruno Haible  <bruno@clisp.org>
65734
65735         * lib/alloca.in.h: Renamed from lib/alloca_.h.
65736         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
65737         alloca_.h.
65738         * lib/argz.in.h: Renamed from lib/argz_.h.
65739         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
65740         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
65741         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
65742         byteswap_.h.
65743         * lib/dirent.in.h: Renamed from lib/dirent_.h.
65744         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
65745         dirent_.h.
65746         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
65747         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
65748         fcntl_.h.
65749         * lib/float.in.h: Renamed from lib/float_.h.
65750         * modules/float (Files, Makefile.am): Use float.in.h instead of
65751         float_.h.
65752         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
65753         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
65754         fnmatch_.h.
65755         * lib/getopt.in.h: Renamed from lib/getopt_.h.
65756         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
65757         getopt_.h.
65758         * lib/glob.in.h: Renamed from lib/glob_.h.
65759         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
65760         * lib/iconv.in.h: Renamed from lib/iconv_.h.
65761         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
65762         iconv_.h.
65763         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
65764         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
65765         inttypes_.h.
65766         * lib/locale.in.h: Renamed from lib/locale_.h.
65767         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
65768         locale_.h.
65769         * lib/math.in.h: Renamed from lib/math_.h.
65770         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
65771         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
65772         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
65773         of netinet_in_.h. Add dependency.
65774         * lib/poll.in.h: Renamed from lib/poll_.h.
65775         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
65776         * lib/search.in.h: Renamed from lib/search_.h.
65777         * modules/search (Files, Makefile.am): Use search.in.h instead of
65778         search_.h.
65779         * lib/signal.in.h: Renamed from lib/signal_.h.
65780         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
65781         _signal.h.
65782         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
65783         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
65784         stdbool_.h.
65785         * lib/stdint.in.h: Renamed from lib/stdint_.h.
65786         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
65787         stdint_.h.
65788         * lib/stdio.in.h: Renamed from lib/stdio_.h.
65789         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
65790         stdio_.h.
65791         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
65792         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
65793         stdlib_.h.
65794         * lib/string.in.h: Renamed from lib/string_.h.
65795         * modules/string (Files, Makefile.am): Use string.in.h instead of
65796         string_.h.
65797         * doc/gnulib-tool.texi (Initial import): Update.
65798         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
65799         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
65800         of sys_select_.h. Add dependency.
65801         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
65802         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
65803         of sys_socket_.h.
65804         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
65805         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
65806         sys_stat_.h.
65807         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
65808         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
65809         sys_time_.h.
65810         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
65811         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
65812         sysexits_.h.
65813         * lib/time.in.h: Renamed from lib/time_.h.
65814         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
65815         * lib/unistd.in.h: Renamed from lib/unistd_.h.
65816         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
65817         unistd_.h.
65818         * lib/wchar.in.h: Renamed from lib/wchar_.h.
65819         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
65820         wchar_.h.
65821         * lib/wctype.in.h: Renamed from lib/wctype_.h.
65822         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
65823         wctype_.h.
65824         * build-aux/bootstrap (slurp): Update.
65825         * lib/.cppi-disable: Update.
65826
65827 2007-09-30  Bruno Haible  <bruno@clisp.org>
65828
65829         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
65830         Needed on BeOS.
65831
65832 2007-09-30  Bruno Haible  <bruno@clisp.org>
65833
65834         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
65835
65836 2007-09-29  Bruno Haible  <bruno@clisp.org>
65837
65838         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
65839
65840 2007-09-29  Bruno Haible  <bruno@clisp.org>
65841
65842         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
65843         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
65844         * build-aux/install-reloc: Compile also areadlink.c.
65845         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
65846
65847 2007-09-29  Bruno Haible  <bruno@clisp.org>
65848
65849         * gnulib-tool (func_emit_initmacro_done): Indentation.
65850
65851 2007-09-29  Bruno Haible  <bruno@clisp.org>
65852
65853         * README: Add CVS checkout update instructions.
65854         Info from Bob Proulx <bob@proulx.com>.
65855
65856 2007-09-28  Eric Blake  <ebb9@byu.net>
65857
65858         Provide move-if-change.
65859         * build-aux/move-if-change: New file, based on best practice
65860         rather than any canonical upstream location.
65861
65862 2007-09-28  Jim Meyering  <jim@meyering.net>
65863
65864         Fix canonicalize loop-detection corner case.
65865         Do not attempt to stat the symlink values stored via seen_triple.
65866         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
65867         on linux-2.6.18, (but not 2.6.22).
65868         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
65869         triple_compare.  The former compares dev,ino,filename, while the latter
65870         would actually stat dirname(filename) when dev and ino were equal.
65871         * lib/hash-triple.c: Install <string.h>.
65872         (STREQ): Define.
65873         (triple_compare_ino_str): New function.
65874         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
65875
65876 2007-09-28  Eric Blake  <ebb9@byu.net>
65877
65878         Enforce that AC_REPLACE_FUNCS files exist.
65879         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
65880         override check for typos.
65881
65882         Fix test-closein on Solaris 10.
65883         * tests/test-closein.c (main): Don't assume stdin can be inherited
65884         closed on all systems.
65885         * tests/test-closein.sh: Likewise.
65886         Reported by Piotr Tarnowski.
65887
65888 2007-09-28  Jim Meyering  <jim@meyering.net>
65889
65890         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
65891
65892 2007-09-27  Jim Meyering  <jim@meyering.net>
65893
65894         canonicalize: Avoid a false-positive cycle failure.
65895         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
65896         Sort.  Remove cycle-check.
65897         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
65898         not cycle-check.h.
65899         (seen_triple): New function.
65900         (canonicalize_filename_mode): Use it instead of cycle-check.
65901         * tests/test-canonicalize.c: Add a test for this bug.
65902         * tests/test-canonicalize.sh: Set up and run the test.
65903
65904         New module, file-set, from coreutils.
65905         * modules/file-set: Define it.
65906         * lib/file-set.c, lib/file-set.h: Implement.
65907
65908         New module, hash-triple, from coreutils.
65909         * modules/hash-triple: Define it.
65910         * lib/hash-triple.c, lib/hash-triple.h: Implement.
65911
65912 2007-09-25  Eric Blake  <ebb9@byu.net>
65913
65914         Fix strerror on Interix.
65915         * lib/string_.h (strerror): Declare replacement.
65916         * doc/functions/strerror.texi (strerror): Document the Interix
65917         shortcoming.
65918         * modules/string (Makefile.am): Support new hooks.
65919         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
65920         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
65921         gl_FUNC_STRERROR_SEPARATE.
65922         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
65923         * lib/strerror.c (rpl_strerror): Provide replacement.
65924         * modules/strerror (Depends-on): Add string.
65925         (configure.ac): Detect use of module.
65926         * tests/test-strerror.c: New file.
65927         * modules/strerror-tests: New test module.
65928         * modules/argp (Depends-on): Add strerror.
65929         * modules/error (Depends-on): Likewise.
65930         Reported by Martin Koeppe.
65931
65932 2007-09-24  Bruno Haible  <bruno@clisp.org>
65933
65934         * README: Update git instructions.
65935
65936 2007-09-24  Eric Blake  <ebb9@byu.net>
65937
65938         Revert fpending breakage from 2007-09-08.
65939         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
65940         __fpending.c.
65941
65942 2007-09-24  Jim Meyering  <jim@meyering.net>
65943
65944         filenamecat.c: Add a test.
65945         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
65946         showing how the function works when DIR is the empty string.
65947
65948 2007-09-21  Simon Josefsson  <simon@josefsson.org>
65949
65950         * tests/test-canonicalize.sh: Turn on executable bit.
65951
65952 2007-09-19  Eric Blake  <ebb9@byu.net>
65953
65954         * README: Update CVS instructions.
65955
65956 2007-09-18  Bruno Haible  <bruno@clisp.org>
65957
65958         * modules/areadlink: New file.
65959         * lib/areadlink.h (areadlink): New declaration.
65960         * lib/areadlink.c: New file, based on lib/xreadlink.c.
65961
65962 2007-09-17  Jim Meyering  <jim@meyering.net>
65963
65964         * lib/savewd.c (ESTALE) [!defined]: Define.
65965         Reported to be required on Interix by Martin Koeppe.
65966
65967 2007-09-17  Bruno Haible  <bruno@clisp.org>
65968
65969         * gnulib-tool (func_version): Use $version.
65970
65971 2007-09-16  Bruno Haible  <bruno@clisp.org>
65972
65973         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
65974         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
65975         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
65976         Reported by Greg Schafer <gschafer@zip.com.au>.
65977
65978 2007-09-15  Bruno Haible  <bruno@clisp.org>
65979
65980         * gnulib-tool (sed): Try a little harder to make bash understand the
65981         alias.
65982         Reported by Bruce Korb <bruce.korb@gmail.com>.
65983
65984 2007-09-13  Eric Blake  <ebb9@byu.net>
65985
65986         * ChangeLog: Remove conflict markers.
65987
65988 2007-09-13  Simon Josefsson  <simon@josefsson.org>
65989
65990         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
65991         Reported by Bruno Haible <bruno@clisp.org>.
65992
65993 2007-09-12  Bruno Haible  <bruno@clisp.org>
65994
65995         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
65996         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
65997         is not defined.
65998
65999 2007-09-12  Eric Blake  <ebb9@byu.net>
66000
66001         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
66002         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
66003         Autoconf definition.
66004         * modules/euidaccess (Depends-on): Add extensions, for
66005         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
66006         * modules/fnmatch (Depends-on): Likewise.
66007         * modules/getaddrinfo (Depends-on): Likewise.
66008         * modules/getdelim (Depends-on): Likewise.
66009         * modules/getline (Depends-on): Likewise.
66010         * modules/getsubopt (Depends-on): Likewise.
66011         * modules/gettext (Depends-on): Likewise.
66012         * modules/group-member (Depends-on): Likewise.
66013         * modules/mbchar (Depends-on): Likewise.
66014         * modules/memmem (Depends-on): Likewise.
66015         * modules/mempcpy (Depends-on): Likewise.
66016         * modules/memrchr (Depends-on): Likewise.
66017         * modules/pagealign_alloc (Depends-on): Likewise.
66018         * modules/readutmp (Depends-on): Likewise.
66019         * modules/stpcpy (Depends-on): Likewise.
66020         * modules/stpncpy (Depends-on): Likewise.
66021         * modules/strchrnul (Depends-on): Likewise.
66022         * modules/strndup (Depends-on): Likewise.
66023         * modules/strsep (Depends-on): Likewise.
66024         * modules/strverscmp (Depends-on): Likewise.
66025         * modules/vasprintf (Depends-on): Likewise.
66026         * modules/wcwidth (Depends-on): Likewise.
66027         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
66028         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
66029         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
66030         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
66031         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
66032         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
66033         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
66034         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
66035         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
66036         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
66037         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
66038         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
66039         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
66040         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
66041         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
66042         * m4/readutmp.m4 (gl_READUTMP): Likewise.
66043         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
66044         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
66045         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
66046         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
66047         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
66048         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
66049         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
66050         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
66051         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
66052         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
66053         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
66054         so that lock.m4 can be used in gettext without extensions module.
66055
66056 2007-09-11  Bruno Haible  <bruno@clisp.org>
66057
66058         * m4/isc-posix.m4: Remove file.
66059         Suggested by Eric Blake.
66060
66061 2007-09-11  Eric Blake  <ebb9@byu.net>
66062
66063         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
66064
66065 2007-09-10  Bruno Haible  <bruno@clisp.org>
66066
66067         * posix-modules: Fix typo in error message.
66068         Reported by Matt <mkraai@beckman.com>.
66069
66070 2007-09-09  Bruno Haible  <bruno@clisp.org>
66071
66072         * doc/functions/getdelim.texi: Update list of platforms lacking the
66073         function.
66074         * doc/functions/getline.texi: Likewise.
66075
66076 2007-09-09  Jim Meyering  <jim@meyering.net>
66077
66078         * lib/hash.c (hash_initialize): Detect calloc failure.
66079         Reported by Bruno Haible.
66080
66081 2007-09-09  Bruno Haible  <bruno@clisp.org>
66082
66083         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
66084         malloc or realloc fails.
66085
66086 2007-09-09  Bruno Haible  <bruno@clisp.org>
66087
66088         * modules/getcwd (Depends-on): Add malloc-posix.
66089         * modules/glob (Depends-on): Likewise.
66090         * modules/putenv (Depends-on): Likewise.
66091         * modules/strdup (Depends-on): Likewise.
66092         * modules/getdelim (Depends-on): Add realloc-posix.
66093         * modules/read-file (Depends-on): Likewise.
66094
66095 2007-09-09  Bruno Haible  <bruno@clisp.org>
66096
66097         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
66098         (gl_FUNC_MALLOC_POSIX): Require it.
66099         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
66100         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
66101         * modules/realloc (Files): Add m4/malloc.m4.
66102         * modules/calloc (Files): Likewise.
66103
66104 2007-09-09  Bruno Haible  <bruno@clisp.org>
66105
66106         * modules/malloc-posix: New file.
66107         * modules/malloc (Depends-on): Add malloc-posix.
66108         * lib/malloc.c: Include errno.h.
66109         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
66110         and a POSIX-compatible malloc into a single function. Set ENOMEM
66111         when returning NULL.
66112         * m4/malloc.m4: New file.
66113         * doc/functions/malloc.texi: Mention the malloc-posix module.
66114         * lib/stdlib_.h (malloc): New declaration.
66115         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
66116         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
66117         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
66118         and HAVE_MALLOC_POSIX.
66119
66120 2007-09-09  Bruno Haible  <bruno@clisp.org>
66121
66122         * modules/realloc-posix: New file.
66123         * modules/realloc (Depends-on): Add realloc-posix.
66124         * lib/realloc.c: Include errno.h.
66125         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
66126         and a POSIX-compatible realloc into a single function. Set ENOMEM
66127         when returning NULL.
66128         * m4/realloc.m4: New file.
66129         * doc/functions/realloc.texi: Mention the realloc-posix module.
66130         * lib/stdlib_.h (realloc): New declaration.
66131         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
66132         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
66133         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
66134         and HAVE_REALLOC_POSIX.
66135
66136 2007-09-09  Bruno Haible  <bruno@clisp.org>
66137
66138         * modules/calloc-posix: New file.
66139         * modules/calloc (Depends-on): Add calloc-posix.
66140         * lib/calloc.c: Include errno.h.
66141         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
66142         and a POSIX-compatible calloc into a single function. Set ENOMEM
66143         when returning NULL.
66144         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
66145         * doc/functions/calloc.texi: Mention the calloc-posix module.
66146         * lib/stdlib_.h (calloc): New declaration.
66147         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
66148         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
66149         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
66150         and HAVE_CALLOC_POSIX.
66151
66152 2007-09-09  Bruno Haible  <bruno@clisp.org>
66153
66154         Allow for modules to show an arbitrary notice.
66155         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
66156         * gnulib-tool: New option --extract-notice.
66157         (func_usage): Document it.
66158         (sed_extract_prog): Update.
66159         (func_get_notice): New function.
66160         (func_modules_notice): New function.
66161         (func_import, func_create_testdir): Invoke it.
66162         Suggested by Jim Meyering.
66163
66164 2007-09-09  Bruno Haible  <bruno@clisp.org>
66165
66166         * gnulib-tool: New options --verbose, --quiet.
66167         (func_usage): Document them.
66168         (verbose): New variable.
66169         (func_execute_command): New function.
66170         (func_import): Don't show the module list and the file list if
66171         $verbose < 0.
66172         (func_create_testdir): Likewise. Use func_execute_command.
66173         (func_create_megatestdir): Use func_execute_command.
66174
66175 2007-09-08  Bruno Haible  <bruno@clisp.org>
66176
66177         * gnulib-tool (func_import): Prefer rsync over wget when available,
66178         for fetching the PO files.
66179
66180 2007-09-08  Bruno Haible  <bruno@clisp.org>
66181
66182         * posix-modules: New file. Portions copied from gnulib-tool.
66183         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
66184
66185 2007-09-08  Jim Meyering  <jim@meyering.net>
66186
66187         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
66188         * lib/fpending.h: Rename from __fpending.h.
66189         * lib/fpending.c: Rename from __fpending.c.
66190         Include "fpending.h", not "__fpending.h".
66191         * lib/__fpending.h, lib/__fpending.c: Remove files.
66192         * modules/fpending (Files): Reflect new file names.
66193         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
66194
66195 2007-09-08  Bruno Haible  <bruno@clisp.org>
66196
66197         * m4/inttypes-h.m4: Remove stub file.
66198
66199 2007-09-07  Simon Josefsson  <simon@josefsson.org>
66200
66201         * doc/headers/stdint.texi: Discuss #include_next issue.
66202
66203 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
66204
66205         * build-aux/bootstrap: Remove obsolete comment about wget --help.
66206
66207 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66208
66209         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
66210         in variable name.
66211
66212 2007-09-03  Jim Meyering  <jim@meyering.net>
66213
66214         New module: git-version-gen.
66215         * modules/git-version-gen: New file.
66216
66217         Import changes from coreutils for bootstrap script.
66218
66219         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
66220
66221         bootstrap: uses rsync to download the .po files
66222         * build-aux/bootstrap (po_download_command_format): New global.
66223         (download_po_files): Use rsync.
66224         (update_po_files): Don't remove .po files after download,
66225         so future rsync runs can take advantage of the copies.
66226
66227         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
66228
66229         Solve the unnecessary-.po-file-regeneration problem once and for all.
66230         * build-aux/bootstrap (download_po_files): New function, renamed from
66231         get_translations.  Now, downloads, but doesn't update LINGUAS.
66232         (update_po_files): New function.
66233
66234         bootstrap: Ignore more.
66235         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
66236         uniwidth to e.g., lib/.gitignore.
66237         (slurp): Handle the sys_stat_.h -> sys mapping, too.
66238
66239         * build-aux/bootstrap: New setting: vc_ignore.
66240         (insert_sorted_if_absent): Create $file if absent.
66241         Adapt to new, possibly empty, list: $vc_ignore.
66242
66243         bootstrap: generate more ignorable names
66244         * build-aux/bootstrap (slurp): When generating ignorable names,
66245         also map .sin to .sed, .gperf to .c, and .y to .c.
66246
66247 2007-09-03  Jim Meyering  <jim@meyering.net>
66248
66249         * build-aux/git-version-gen: New file, from coreutils.  For details, see
66250         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
66251
66252 2007-09-02  Bruno Haible  <bruno@clisp.org>
66253
66254         Fix mis-recognition of 'mcs' on QNX 6.
66255         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
66256         output contains the string "Mono".
66257         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
66258         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
66259
66260 2007-09-01  Bruno Haible  <bruno@clisp.org>
66261
66262         Fix collision between uniwidth/* and linebreak modules.
66263         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
66264         u32_width): Remove declarations.
66265         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
66266         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
66267         streq3, streq2, streq1, streq0): Remove functions.
66268         (STREQ): Remove macro.
66269         (is_cjk_encoding): Remove function.
66270         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
66271         (uc_width, u8_width, u16_width, u32_width): Remove functions.
66272         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
66273         * NEWS: Document the change.
66274
66275 2007-09-01  Bruno Haible  <bruno@clisp.org>
66276
66277         * lib/streq.h: Add double-inclusion guard.
66278
66279 2007-09-01  Karl Berry  <karl@gnu.org>
66280
66281         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
66282
66283 2007-08-28  Jim Meyering  <jim@meyering.net>
66284
66285         Rename mreadlink_with_size to areadlink_with_size.
66286         * NEWS: Document the change.
66287         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
66288         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
66289         * lib/mreadlink.h: Rename this to...
66290         * lib/areadlink.h: ...this.
66291         * modules/mreadlink-with-size: Rename this to...
66292         * modules/areadlink-with-size: ...this.
66293         * lib/canonicalize.c: Reflect the renaming.
66294         * modules/canonicalize: Likewise.
66295
66296 2007-08-26  Bruno Haible  <bruno@clisp.org>
66297
66298         * gnulib-tool (func_import): When deciding which files to remove,
66299         consider also dangling symbolic links.
66300         Reported by Eric Blake.
66301
66302 2007-08-26  Bruno Haible  <bruno@clisp.org>
66303
66304         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
66305
66306 2007-08-23  Simon Josefsson  <simon@josefsson.org>
66307
66308         * lib/readline.c: Don't include getline.h, the prototype is now
66309         found in stdio.h.
66310
66311 2007-08-23  Jim Meyering  <jim@meyering.net>
66312
66313         Getdelim touchup.
66314         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
66315         around the funlockfile call, since funlockfile never sets errno.
66316         Don't set errno upon failed realloc.
66317
66318 2007-08-22  Eric Blake  <ebb9@byu.net>
66319
66320         Getline touchups.
66321         * lib/getdelim.c (getdelim): Revert regression that required *n to
66322         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
66323         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
66324         getdelim, rather than whether implementation is missing.
66325         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
66326         * lib/stdio_.h (getline): Also declare if replacement is
66327         required.
66328         * doc/functions/getdelim.texi: New file.
66329         * doc/functions/getline.texi: Likewise.
66330         * doc/gnulib.texi (Function Substitutes): Add new files.
66331         Reported by Bruno Haible.
66332
66333 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
66334
66335         * users.txt: Add Guile.
66336
66337 2007-08-22  Eric Blake  <ebb9@byu.net>
66338
66339         * tests/test-getdelim.c (main): Use remove, not unlink.
66340         * tests/test-getline.c (main): Likewise.
66341
66342         Move getline and getdelim into stdio.h, per POSIX 200x.
66343         * modules/getline (Files): Remove getline.h.
66344         (Depends-on): Add stdio.
66345         (configure.ac): Add module indicator.
66346         * modules/getdelim (Files): Remove getdelim.h.
66347         (Depends-on): Add stdio.
66348         (configure.ac): Add module indicator.
66349         * modules/stdio (Makefile.am): Work with new indicators.
66350         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
66351         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
66352         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
66353         * lib/getdelim.h: Delete.
66354         * lib/getline.h: Delete.
66355         * lib/stdio_.h (getdelim, getline): Declare.
66356         * modules/getdelim-tests: New module.
66357         * modules/getline-tests: Likewise.
66358         * tests/test-getdelim.c: New file.
66359         * tests/test-getline.c: Likewise.
66360         * NEWS: Document the change.
66361         * lib/getline.c: Update choice of header.
66362         * lib/csharpcomp.c: Likewise.
66363         * lib/getpass.c: Likewise.
66364         * lib/javacomp.c: Likewise.
66365         * lib/javaversion.c: Likewise.
66366         * lib/yesno.c: Likewise.
66367         * lib/getdelim.c: Likewise.
66368         (getdelim): Set errno on failure, and avoid memory leak.
66369
66370 2007-08-19  Bruno Haible  <bruno@clisp.org>
66371
66372         * modules/closein (Depends-on): Add freadahead.
66373         * lib/closein.c: Include freadahead.h.
66374         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
66375         is zero.
66376
66377 2007-08-19  Bruno Haible  <bruno@clisp.org>
66378
66379         * modules/freadahead-tests: New file.
66380         * tests/test-freadahead.sh: New file.
66381         * tests/test-freadahead.c: New file.
66382
66383         * modules/freadahead: New file.
66384         * lib/freadahead.h: New file.
66385         * lib/freadahead.c: New file.
66386         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
66387         fbufmode, fpurge, freadable, fwritable.
66388
66389 2007-08-19  Eric Blake  <ebb9@byu.net>
66390
66391         Test yesno in combination with closein.
66392         * lib/yesno.c (yesno): Document use of stdin.
66393         * modules/yesno-tests (Files): New module.
66394         * tests/test-yesno.c (main): New file.
66395         * tests/test-yesno.sh: Likewise.
66396
66397 2007-08-19  Bruno Haible  <bruno@clisp.org>
66398
66399         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
66400         * lib/fseeko.c (rpl_fseeko): Likewise.
66401         * lib/fseterr.c (fseterr): Likewise.
66402
66403 2007-08-19  Bruno Haible  <bruno@clisp.org>
66404
66405         * tests/test-lseek.c (main): Disable a test for BeOS.
66406         * doc/functions/lseek.texi: Document the BeOS bug.
66407
66408 2007-08-19  Bruno Haible  <bruno@clisp.org>
66409             Eric Blake  <ebb9@byu.net>
66410
66411         * lib/lseek.c: Include <sys/stat.h>.
66412         (rpl_lseek): Add workaround code also for Unix platforms.
66413         Needed for BeOS.
66414         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
66415         * doc/functions/lseek.texi: Document BeOS definiency.
66416
66417 2007-08-18  Bruno Haible  <bruno@clisp.org>
66418
66419         * modules/fstrcmp-tests: New file.
66420         * tests/test-fstrcmp.c: New file.
66421
66422 2007-08-18  Bruno Haible  <bruno@clisp.org>
66423
66424         * modules/fstrcmp: New file, from GNU gettext with modifications.
66425         * lib/fstrcmp.h: New file, from GNU gettext.
66426         * lib/fstrcmp.c: New file, from GNU gettext.
66427         * MODULES.html.sh (String handling): Add fstrcmp.
66428
66429 2007-08-18  Bruno Haible  <bruno@clisp.org>
66430
66431         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
66432         'bool'.
66433         (diag, compareseq): Remove const from the ctxt argument.
66434         (USE_HEURISTIC): Undefine at the end.
66435
66436 2007-08-18  Jim Meyering  <jim@meyering.net>
66437
66438         New file: lib/idcache.h
66439         * NEWS: Mention the addition.
66440         * modules/idcache (Files): Add lib/idcache.h
66441         * lib/idcache.c: Include "idcache.h".
66442         Don't include <sys/types.h>.
66443         Add a FIXME comment.
66444         Move file-scoped "static" declarations to the top.
66445         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
66446
66447 2007-08-17  Bruno Haible  <bruno@clisp.org>
66448         and Paul Eggert  <eggert@cs.ucla.edu>
66449
66450         * MODULES.html.sh: Add diffseq.
66451         * modules/diffseq: New file.
66452         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
66453         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
66454
66455 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
66456
66457         Import changes from coreutils for bootstrap script.
66458
66459         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
66460
66461         * build-aux/bootstrap (slurp): Work even in environments where
66462         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
66463         current code does not slurp files whose names start with ".", and
66464         this looks like it might be a troublesome area.
66465
66466         2007-07-11  Jim Meyering  <jim@meyering.net>
66467
66468         If there's a GPL vN copyright comment, require that N == 3.
66469
66470         2007-07-08  Jim Meyering  <jim@meyering.net>
66471
66472         Run the coreutils-specific code only if tests/Makefile.am.in exists.
66473         * build-aux/bootstrap (mam_template): Move definition out of loop.
66474
66475         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
66476
66477         * build-aux/bootstrap (symlink_to_dir): Rename function from
66478         symlink_to_gnulib.  Add a directory parameter.  Update all
66479         callers.
66480         (cp_mark_as_generated): Also check for -- and link to -- files in
66481         gl/.
66482
66483         2007-07-08  Jim Meyering  <jim@meyering.net>
66484
66485         Adapt to deeper hierarchy in gnulib.
66486         * build-aux/bootstrap (symlink_to_dir): If the destination
66487         directory doesn't exist, create it. This is required at least for
66488         "lib/uniwidth/cjk.h".
66489
66490         2007-05-15  Jim Meyering  <jim@meyering.net>
66491
66492         * build-aux/bootstrap: Now that generated Makefile.am files
66493         are no longer under version control, they must be created at
66494         bootstrap time.
66495
66496 2007-08-14  Ben Pfaff  <blp@gnu.org>
66497
66498         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
66499
66500 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
66501
66502         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
66503         given the changes below.
66504         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
66505         even on hosts that have padding bits beyond the supported 64.
66506
66507 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
66508
66509         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
66510         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
66511         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
66512         depends on it.
66513         (xstrtol_error): Remove.
66514         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
66515         but with a different signature.
66516         (ATTRIBUTE_NORETURN, __attribute__): New macros.
66517         * lib/xstrtol-error.c: Include exitfail.h.
66518         (xstrtol_fatal): New function, with a different signature from the
66519         old xstrtol_error, so that the caller need not worry about passing
66520         in an exit status, or about storage management of the option argument.
66521         (xstrtol_error): Now a static function.  Redo signature to
66522         implement xstrtol_fatal.  Output the correct number of hyphens in
66523         front of the option so that the caller need not worry about
66524         storage management.
66525         (N_): New macro.
66526         (_): Remove; not used now.
66527         * modules/xstrtol: Depend on getopt.
66528         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
66529         of old STRTOL_FATAL_ERROR macro.
66530         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
66531         of test program.
66532         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
66533         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
66534
66535 2007-08-08  Eric Blake  <ebb9@byu.net>
66536
66537         * lib/xstrtol-error.c: Add missing include.
66538
66539         Move xstrtol messages into gnulib domain, when --pobase is used.
66540         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
66541         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
66542         * modules/xstrtol (Files): Distribute new file.
66543         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
66544         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
66545         * tests/test-xstrtol.c: ...into new file.
66546         * tests/test-xstrtoul.c: Also test xstrtoul.
66547         * tests/test-xstrtoimax.c: Also test xstrtoimax.
66548         * tests/test-xstrtoumax.c: Also test xstrtoumax.
66549         * tests/test-xstrtol.sh: Drive the tests.
66550         * tests/test-xstrtoimax.sh: Likewise.
66551         * tests/test-xstrtoumax.sh: Likewise.
66552         * modules/xstrtol-tests: New module.
66553         * modules/xstrtoimax-tests: Likewise.
66554         * modules/xstrtoumax-tests: Likewise.
66555
66556 2007-08-08  Jim Meyering  <jim@meyering.net>
66557
66558         New function: mfile_name_concat.
66559         * lib/filenamecat.c (mfile_name_concat): New function, just like
66560         file_name_concat, but return NULL upon failure rather than exiting
66561         with a diagnostic.
66562         * lib/filenamecat.h: Declare it.
66563
66564 2007-08-07  Bruno Haible  <bruno@clisp.org>
66565
66566         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
66567         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
66568         warning from gcc.
66569         Reported by Eric Blake.
66570
66571 2007-08-07  Simon Josefsson  <simon@josefsson.org>
66572
66573         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
66574         * modules/crypto/arcfour (License): Likewise.
66575         * modules/crypto/des-tests (License): Likewise.
66576         * modules/crypto/gc-arctwo-tests (License): Likewise.
66577         * modules/crypto/gc-des-tests (License): Likewise.
66578         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
66579         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
66580         * modules/crypto/gc-md2-tests (License): Likewise.
66581         * modules/crypto/gc-md4-tests (License): Likewise.
66582         * modules/crypto/gc-md5-tests (License): Likewise.
66583         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
66584         * modules/crypto/gc-rijndael-tests (License): Likewise.
66585         * modules/crypto/gc-sha1-tests (License): Likewise.
66586         * modules/crypto/gc-tests (License): Likewise.
66587         * modules/crypto/hmac-md5 (License): Likewise.
66588         * modules/crypto/hmac-sha1 (License): Likewise.
66589         * modules/crypto/md2-tests (License): Likewise.
66590         * modules/crypto/md4-tests (License): Likewise.
66591         * modules/crypto/md5 (License): Likewise.
66592         * modules/crypto/rijndael (License): Likewise.
66593         * modules/crypto/sha1 (License): Likewise.
66594         * modules/memxor (License): Likewise.
66595
66596 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
66597         and Bruno Haible  <bruno@clisp.org>
66598
66599         * NEWS: Describe interface changes to human, xstrtol.
66600         * lib/human.h: Include <xstrtol.h>.
66601         (human_options): Return enum strtol_error, not int.  Remove
66602         bool arg; take int * instead.
66603         * lib/human.c: Don't include "gettext.h".
66604         (_): Remove; no longer used.
66605         Don't include <xstrtol.h>, since human.h does it.
66606         (human_options): Adjust to abovementioned interface changes.
66607         Do not report error to stderr; that's now the caller's
66608         responsibility.
66609         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
66610         interface change.
66611         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
66612         Str, Argument_type_string.  All uses changed.  Put " argument"
66613         in diagnostics to make them clearer.  Change wording of suffix
66614         message for clarity.
66615         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
66616         Argument_type_string.
66617         (STRTOL_FATAL_WARN): Remove; no longer used.
66618         * modules/human (Depends-on): Remove gettext-h.
66619
66620 2007-08-06  Simon Josefsson  <simon@josefsson.org>
66621
66622         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
66623
66624 2007-07-31  Bruno Haible  <bruno@clisp.org>
66625
66626         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
66627         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
66628         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
66629
66630 2007-07-31  Bruno Haible  <bruno@clisp.org>
66631
66632         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
66633         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
66634
66635 2007-07-30  Bruno Haible  <bruno@clisp.org>
66636
66637         * modules/base64 (License): Use the synonymous term "LGPLv2+".
66638         * modules/c-ctype (License): Likewise.
66639         * modules/c-strcase (License): Likewise.
66640         * modules/check-version (License): Likewise.
66641         * modules/iconv (License): Likewise.
66642         * modules/iconv_open (License): Likewise.
66643         * modules/read-file (License): Likewise.
66644         * modules/striconv (License): Likewise.
66645         * modules/strverscmp (License): Likewise.
66646         * modules/vasprintf (License): Likewise.
66647         * modules/crypto/des (License): Likewise.
66648         * modules/crypto/gc (License): Likewise.
66649         * modules/crypto/gc-arcfour (License): Likewise.
66650         * modules/crypto/gc-arctwo (License): Likewise.
66651         * modules/crypto/gc-des (License): Likewise.
66652         * modules/crypto/gc-hmac-md5 (License): Likewise.
66653         * modules/crypto/gc-hmac-sha1 (License): Likewise.
66654         * modules/crypto/gc-md2 (License): Likewise.
66655         * modules/crypto/gc-md4 (License): Likewise.
66656         * modules/crypto/gc-md5 (License): Likewise.
66657         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
66658         * modules/crypto/gc-random (License): Likewise.
66659         * modules/crypto/gc-rijndael (License): Likewise.
66660         * modules/crypto/gc-sha1 (License): Likewise.
66661         * modules/crypto/md2 (License): Likewise.
66662         * modules/crypto/md4 (License): Likewise.
66663
66664 2007-07-30  Jim Meyering  <jim@meyering.net>
66665
66666         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
66667         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
66668         it has valid stat data.  This bug would cause du not to count the
66669         sizes of inaccessible directories.
66670         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
66671         in <http://bugzilla.redhat.com/250077>.
66672
66673 2007-07-25  Peter O'Gorman  <peter@pogma.com>
66674             Bruno Haible  <bruno@clisp.org>
66675
66676         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
66677         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
66678         #include_next, gives a diagnostic about it, but reports no error in
66679         the exit code.
66680         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
66681
66682 2007-07-24  Ben Pfaff  <blp@gnu.org>
66683
66684         Improve name: "count-one-bits" is better than "popcount".
66685         * MODULES.html.sh: Update name.
66686         * lib/popcount.h: Renamed lib/count-one-bits.h.
66687         (popcount): Renamed count_one_bits.
66688         (popcountl): Renamed count_one_bits_l.
66689         (popcountll): Renamed count_one_bits_ll.
66690         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
66691         * modules/popcount: Renamed module/count-one-bits.
66692         * modules/popcount-tests: Renamed module/count-one-bits-tests.
66693         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
66694
66695 2007-07-23  Ben Pfaff  <blp@gnu.org>
66696
66697         * lib/popcount.h (popcount32): Reduce size of constants, to allow
66698         better code generation, and add U to large constants to avoid
66699         warnings, in non-GCC case.
66700         Suggested by Bruno Haible.
66701
66702 2007-07-23  Ben Pfaff  <blp@gnu.org>
66703
66704         * lib/popcount.h: Use verify_true instead of if...abort.
66705         * modules/popcount: Depend on verify module.
66706         Suggested by Jim Meyering.
66707
66708 2007-07-23  Bruno Haible  <bruno@clisp.org>
66709
66710         * gnulib-tool (func_import): Create a .cvsignore file also when the
66711         directory is not yet in CVS but the toplevel directory is. When
66712         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
66713         Reported by Karl Berry.
66714
66715 2007-07-22  Ben Pfaff  <blp@gnu.org>
66716
66717         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
66718         case.
66719         Suggested by Eric Blake.
66720
66721 2007-07-22  Ben Pfaff  <blp@gnu.org>
66722
66723         New module: popcount.
66724         * MODULES.html.sh: Add popcount.
66725         * modules/popcount: New file.
66726         * modules/popcount-tests: New file.
66727         * tests/test-popcount.c: New file.
66728         * lib/popcount.h: New file.
66729         * m4/popcount.m4: New file.
66730
66731 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
66732
66733         * build-aux/announce-gen: Update to GPLv3.
66734
66735         * build-aux/config.guess: Update from config.
66736
66737 2007-07-21  Bruno Haible  <bruno@clisp.org>
66738
66739         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
66740         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
66741
66742 2007-07-20  Jim Meyering  <jim@meyering.net>
66743
66744         * check-module: Diagnose a self-dependency.
66745
66746 2007-07-19  Bruno Haible  <bruno@clisp.org>
66747
66748         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
66749         empty.
66750         Reported by Eric Blake.
66751
66752 2007-07-18  Bruno Haible  <bruno@clisp.org>
66753
66754         * gnulib-tool: New options --po-base, --po-domain.
66755         (func_usage): Document them.
66756         (pobase, po_domain): New variables.
66757         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
66758         DEFAULT_TEXT_DOMAIN.
66759         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
66760         (func_import): Consider pobase and po_domain. Create a po/ directory.
66761         (func_create_testdir): Set pobase and po_domain to empty.
66762         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
66763         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
66764
66765 2007-07-18  Bruno Haible  <bruno@clisp.org>
66766
66767         * gnulib-tool (func_get_automake_snippet): Synthesize also an
66768         EXTRA_DIST augmentation for files in build-aux/.
66769
66770 2007-07-16  Bruno Haible  <bruno@clisp.org>
66771
66772         * modules/lseek (License): Use the synonymous term "LGPLv2+".
66773         * modules/getdelim (License): Likewise.
66774
66775 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66776
66777         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
66778         * modules/d-type (License): Likewise.
66779         * modules/extensions (License): Likewise.
66780         * modules/fnmatch (License): Likewise.
66781         * modules/fseeko (License): Likewise.
66782         * modules/getaddrinfo (License): Likewise.
66783         * modules/getline (License): Likewise.
66784         * modules/getlogin_r (License): Likewise.
66785         * modules/getpass (License): Likewise.
66786         * modules/gettimeofday (License): Likewise.
66787         * modules/glob (License): Likewise.
66788         * modules/inet_ntop (License): Likewise.
66789         * modules/malloc (License): Likewise.
66790         * modules/malloca (License): Likewise.
66791         * modules/memmem (License): Likewise.
66792         * modules/mempcpy (License): Likewise.
66793         * modules/memset (License): Likewise.
66794         * modules/minmax (License): Likewise.
66795         * modules/mktime (License): Likewise.
66796         * modules/netinet_in (License): Likewise.
66797         * modules/pathmax (License): Likewise.
66798         * modules/poll (License): Likewise.
66799         * modules/regex (License): Likewise.
66800         * modules/snprintf (License): Likewise.
66801         * modules/stdbool (License): Likewise.
66802         * modules/stdint (License): Likewise.
66803         * modules/stdio (License): Likewise.
66804         * modules/strcase (License): Likewise.
66805         * modules/strcasestr (License): Likewise.
66806         * modules/strdup (License): Likewise.
66807         * modules/string (License): Likewise.
66808         * modules/strndup (License): Likewise.
66809         * modules/strnlen (License): Likewise.
66810         * modules/strpbrk (License): Likewise.
66811         * modules/strptime (License): Likewise.
66812         * modules/strsep (License): Likewise.
66813         * modules/sys_select (License): Likewise.
66814         * modules/sys_socket (License): Likewise.
66815         * modules/sys_stat (License): Likewise.
66816         * modules/sys_time (License): Likewise.
66817         * modules/time (License): Likewise.
66818         * modules/time_r (License): Likewise.
66819         * modules/timegm (License): Likewise.
66820         * modules/unistd (License): Likewise.
66821         * modules/vsnprintf (License): Likewise.
66822         * modules/wctype (License): Likewise.
66823
66824 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66825
66826         * modules/argz (License): LGPLv2+.
66827
66828 2007-07-15  Karl Berry  <karl@gnu.org>
66829
66830         * doc/gnulib.texi: revise node structure per new fdl.texi.
66831
66832 2007-07-14  Bruno Haible  <bruno@clisp.org>
66833
66834         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
66835         the output file.
66836         * lib/uniname/uninames.h: Regenerated.
66837
66838 2007-07-14  Karl Berry  <karl@gnu.org>
66839
66840         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
66841         omitting sectioning and index commands.
66842
66843 2007-07-13  Bruno Haible  <bruno@clisp.org>
66844
66845         New gnulib-tool option --more-symlinks.
66846         * gnulib-tool (func_usage): Document --more-symlinks.
66847         (do_copyrights): New variable.
66848         Recognize option --more-symlinks.
66849         (func_import): Don't add a copyright notice transform to
66850         sed_transform_lib_file if do_copyrights is empty.
66851
66852 2007-07-13  Bruno Haible  <bruno@clisp.org>
66853
66854         * lib/vasnprintf.c (decimal_point_char): Define also if
66855         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
66856         && !NEED_PRINTF_DIRECTIVE_A.
66857         Reported by Clemens Koller <clemens.koller@anagramm.de> via
66858         Gary V. Vaughan <gary@gnu.org>.
66859
66860 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
66861
66862         * lib/inttypes_.h: Undo previous change, since it was fixed
66863         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
66864
66865 2007-07-13  Bruno Haible  <bruno@clisp.org>
66866
66867         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
66868         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
66869
66870 2007-07-13  Jim Meyering  <jim@meyering.net>
66871
66872         df: Don't fail for Tru64's "file-on-file mount".
66873         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
66874         so we fall through and use statfs instead.  Details here:
66875         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
66876         Reported by Albert Chin.
66877
66878 2007-07-13  Bruno Haible  <bruno@clisp.org>
66879
66880         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
66881         * modules/configmake (License): Likewise.
66882         * modules/gettext (License): Likewise.
66883         * modules/gettext-h (License): Likewise.
66884         * modules/include_next (License): Likewise.
66885         * modules/link-warning (License): Likewise.
66886         * modules/localcharset (License): Likewise.
66887         * modules/localename (License): Likewise.
66888         * modules/lock (License): Likewise.
66889         * modules/relocatable-lib-lgpl (License): Likewise.
66890         * modules/size_max (License): Likewise.
66891         * modules/vasnprintf (License): Likewise.
66892         * modules/wchar (License): Likewise.
66893         * modules/xsize (License): Likewise.
66894
66895 2007-07-13  Bruno Haible  <bruno@clisp.org>
66896
66897         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
66898         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
66899
66900 2007-07-12  Bruno Haible  <bruno@clisp.org>
66901
66902         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
66903         in the modules files.
66904
66905 2007-07-11  Karl Berry  <karl@gnu.org>
66906
66907         * MODULES.html.sh (func_module): use
66908          sed -e '\|^'"${includefile}"'$|d'
66909          instead of /.../d, to avoid errors on $includefile's containing /.
66910
66911 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
66912
66913         * gnulib-tool (func_import): Avoid duplication of --avoid
66914         statements
66915         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
66916         names to `_' in variable names.
66917
66918 2007-07-10  Eric Blake  <ebb9@byu.net>
66919
66920         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
66921         * NEWS: Document this change.
66922
66923 2007-07-08  Bruno Haible  <bruno@clisp.org>
66924
66925         Update to Unicode 5.0.
66926         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
66927         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
66928         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
66929         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
66930         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
66931         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
66932         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
66933         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
66934         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
66935         U+10A3F, U+1D242..U+1D244.
66936         (nonspacing_table_ind): Update.
66937         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
66938         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
66939
66940 2007-07-08  Bruno Haible  <bruno@clisp.org>
66941
66942         Update to Unicode 5.0.
66943         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
66944         code transform. Extend the name index field of unicode_name_to_code and
66945         unicode_code_to_name from 16 to 24 bits.
66946         * lib/uniname/uniname.c (unicode_character_name,
66947         unicode_name_character): Add the range 0x12xxx to the code transform.
66948         * lib/uniname/uninames.h: Regenerated.
66949         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
66950
66951 2007-07-07  Bruno Haible  <bruno@clisp.org>
66952
66953         * modules/wcwidth-tests: New file.
66954         * tests/test-wcwidth.c: New file.
66955
66956         Work around MacOS X wcwidth() bug.
66957         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
66958         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
66959         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
66960         original wcwidth in non-UTF-8 locales.
66961         * modules/wcwidth (Depends-on): Add localcharset, streq,
66962         uniwidth/width.
66963         * doc/functions/wcwidth.texi: Update.
66964
66965 2007-07-07  Bruno Haible  <bruno@clisp.org>
66966
66967         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
66968         (wcwidth): New declaration.
66969         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
66970         macros.
66971         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
66972         here. Prepare for creating <wchar.h> unconditionally.
66973         * modules/wchar (Depends-on): Add link-warning.
66974         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
66975         REPLACE_WCWIDTH, and GL_LINK_WARNING.
66976         * lib/wcwidth.h: Remove file.
66977         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
66978         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
66979         * modules/wcwidth (Files): Remove lib/wcwidth.h.
66980         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
66981         (Include): Replace wcwidth.h with <wchar.h>.
66982         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
66983         * lib/mbchar.h: Don't include wcwidth.h.
66984         * lib/mbswidth.c: Likewise.
66985         * NEWS: Mention the change.
66986
66987 2007-07-07  Bruno Haible  <bruno@clisp.org>
66988
66989         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
66990         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
66991         definition with an external declaration.
66992         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
66993         defined as a function. Remove AC_C_INLINE requirement.
66994         * modules/wcwidth (Files): Add lib/wcwidth.c.
66995         (Makefile.am): Remove redundant statement.
66996
66997 2007-07-07  Bruno Haible  <bruno@clisp.org>
66998
66999         * MODULES.html.sh (Unicode string functions): Add the new modules.
67000
67001         * tests/uniwidth/test-u32-strwidth.c: New file.
67002         * modules/uniwidth/u32-strwidth-tests: New file.
67003
67004         * lib/uniwidth/u32-strwidth.c: New file.
67005         * modules/uniwidth/u32-strwidth: New file.
67006
67007         * tests/uniwidth/test-u16-strwidth.c: New file.
67008         * modules/uniwidth/u16-strwidth-tests: New file.
67009
67010         * lib/uniwidth/u16-strwidth.c: New file.
67011         * modules/uniwidth/u16-strwidth: New file.
67012
67013         * tests/uniwidth/test-u8-strwidth.c: New file.
67014         * modules/uniwidth/u8-strwidth-tests: New file.
67015
67016         * lib/uniwidth/u8-strwidth.c: New file.
67017         * modules/uniwidth/u8-strwidth: New file.
67018
67019         * tests/uniwidth/test-u32-width.c: New file.
67020         * modules/uniwidth/u32-width-tests: New file.
67021
67022         * lib/uniwidth/u32-width.c: New file.
67023         * modules/uniwidth/u32-width: New file.
67024
67025         * tests/uniwidth/test-u16-width.c: New file.
67026         * modules/uniwidth/u16-width-tests: New file.
67027
67028         * lib/uniwidth/u16-width.c: New file.
67029         * modules/uniwidth/u16-width: New file.
67030
67031         * tests/uniwidth/test-u8-width.c: New file.
67032         * modules/uniwidth/u8-width-tests: New file.
67033
67034         * lib/uniwidth/u8-width.c: New file.
67035         * modules/uniwidth/u8-width: New file.
67036
67037         * tests/uniwidth/test-uc_width.c: New file.
67038         * modules/uniwidth/width-tests: New file.
67039
67040         * lib/uniwidth/width.c: New file, from GNU libiconv.
67041         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
67042         * modules/uniwidth/width: New file.
67043
67044         * lib/uniwidth.h: New file, from GNU libiconv.
67045         * modules/uniwidth/base: New file.
67046
67047 2007-07-07  Bruno Haible  <bruno@clisp.org>
67048
67049         * lib/uniname.h: New file, from GNU gettext.
67050         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
67051         * lib/uniname/uninames.h: New file, from GNU gettext.
67052         * lib/uniname/uniname.c: New file, from GNU gettext.
67053         * tests/uniname/test-uninames.sh: New file.
67054         * tests/uniname/test-uninames.c: New file, from GNU gettext.
67055         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
67056         * modules/uniname/base: New file.
67057         * modules/uniname/uniname: New file.
67058         * modules/uniname/uniname-tests: New file.
67059         * MODULES.html.sh (Unicode string functions): Add the new modules.
67060
67061 2007-07-06  Bruno Haible  <bruno@clisp.org>
67062
67063         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
67064
67065 2007-07-06  Bruno Haible  <bruno@clisp.org>
67066
67067         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
67068         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
67069         includes <cygwin/sys_time.h> which includes <sys/select.h> which
67070         include <sys/time.h>.
67071         Reported by Eric Blake.
67072
67073 2007-07-06  Eric Blake  <ebb9@byu.net>
67074
67075         Fix testing canonicalize on cygwin.
67076         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
67077         Revert patch from 2007-06-19.
67078         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
67079         canonicalize module is also in use.
67080         * tests/test-canonicalize.c: New file.
67081         * tests/test-canonicalize.sh: Likewise.
67082         * modules/canonicalize-tests: Likewise.
67083
67084 2007-07-06  Jim Meyering  <jim@meyering.net>
67085
67086         * lib/getugroups.c (getugroups): Detect getgrent failure.
67087         Adjust comment to reflect reality: this function may return -1.
67088
67089 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
67090
67091         * build-aux/bootstrap (TP_URL,get_translations): Update to use
67092         the new TP address.
67093         (usage): Fix typo
67094         (gnulib_mk): New variable.
67095
67096 2007-07-05  Jim Meyering  <jim@meyering.net>
67097
67098         Don't let endgrent clobber errno, no matter how improbable.
67099         * lib/getugroups.c (getugroups): Save and restore errno around
67100         endgrent call.
67101
67102         Close the group DB even when failing with 2^31 or more members.
67103         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
67104
67105 2007-07-04  Jim Meyering  <jim@meyering.net>
67106
67107         * lib/getugroups.h: New file.
67108         * lib/getugroups.c: Include "getugroups.h".
67109         Remove uses of "register" keyword.
67110         Move local variable, "cp", down into scope where used.
67111         Give "username" parameter the "const" attribute.
67112         * modules/getugroups (Files): Add lib/getugroups.h
67113
67114 2007-07-04  Karl Berry  <karl@gnu.org>
67115
67116         * MODULES.html.sh (func_all_modules): Complete rename of
67117         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
67118
67119 2007-07-02  Bruno Haible  <bruno@clisp.org>
67120
67121         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
67122         mode, when inttypes.h comes from gnulib.
67123         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
67124
67125 2007-07-02  Simon Josefsson  <simon@josefsson.org>
67126
67127         * NEWS: Mention lgpl module name change.
67128
67129         * modules/lgpl-2.1: Renamed from lgpl.
67130
67131         * NEWS: Mention gpl module name change.
67132
67133         * modules/gpl-3.0: New file, based on gpl-2.0.
67134
67135         * modules/gpl-2.0: Renamed from gpl.
67136
67137         * modules/gpl: Fix filename, doc/gpl.texi is now found at
67138         doc/gpl-2.0.texi.
67139
67140 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
67141
67142         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
67143         #define __STDC_LIMIT_MACROS temporarily while including
67144         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
67145         Problem reported by Joel E. Denny in
67146         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
67147
67148 2007-07-01  Bruno Haible  <bruno@clisp.org>
67149
67150         * lib/unistdio.h: New file.
67151         * lib/unistdio/u-asnprintf.h: New file.
67152         * lib/unistdio/u-asprintf.h: New file.
67153         * lib/unistdio/u-printf-args.c: New file.
67154         * lib/unistdio/u-printf-args.h: New file.
67155         * lib/unistdio/u-printf-parse.h: New file.
67156         * lib/unistdio/u-snprintf.h: New file.
67157         * lib/unistdio/u-sprintf.h: New file.
67158         * lib/unistdio/u-vasprintf.h: New file.
67159         * lib/unistdio/u-vsnprintf.h: New file.
67160         * lib/unistdio/u-vsprintf.h: New file.
67161         * lib/unistdio/ulc-asnprintf.c: New file.
67162         * lib/unistdio/ulc-asprintf.c: New file.
67163         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
67164         * lib/unistdio/ulc-printf-parse.c: New file.
67165         * lib/unistdio/ulc-snprintf.c: New file.
67166         * lib/unistdio/ulc-sprintf.c: New file.
67167         * lib/unistdio/ulc-vasnprintf.c: New file.
67168         * lib/unistdio/ulc-vasprintf.c: New file.
67169         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
67170         * lib/unistdio/ulc-vsnprintf.c: New file.
67171         * lib/unistdio/ulc-vsprintf.c: New file.
67172         * lib/unistdio/u8-asnprintf.c: New file.
67173         * lib/unistdio/u8-asprintf.c: New file.
67174         * lib/unistdio/u8-printf-parse.c: New file.
67175         * lib/unistdio/u8-snprintf.c: New file.
67176         * lib/unistdio/u8-sprintf.c: New file.
67177         * lib/unistdio/u8-vasnprintf.c: New file.
67178         * lib/unistdio/u8-vasprintf.c: New file.
67179         * lib/unistdio/u8-vsnprintf.c: New file.
67180         * lib/unistdio/u8-vsprintf.c: New file.
67181         * lib/unistdio/u8-u8-asnprintf.c: New file.
67182         * lib/unistdio/u8-u8-asprintf.c: New file.
67183         * lib/unistdio/u8-u8-snprintf.c: New file.
67184         * lib/unistdio/u8-u8-sprintf.c: New file.
67185         * lib/unistdio/u8-u8-vasnprintf.c: New file.
67186         * lib/unistdio/u8-u8-vasprintf.c: New file.
67187         * lib/unistdio/u8-u8-vsnprintf.c: New file.
67188         * lib/unistdio/u8-u8-vsprintf.c: New file.
67189         * lib/unistdio/u16-asnprintf.c: New file.
67190         * lib/unistdio/u16-asprintf.c: New file.
67191         * lib/unistdio/u16-printf-parse.c: New file.
67192         * lib/unistdio/u16-snprintf.c: New file.
67193         * lib/unistdio/u16-sprintf.c: New file.
67194         * lib/unistdio/u16-vasnprintf.c: New file.
67195         * lib/unistdio/u16-vasprintf.c: New file.
67196         * lib/unistdio/u16-vsnprintf.c: New file.
67197         * lib/unistdio/u16-vsprintf.c: New file.
67198         * lib/unistdio/u16-u16-asnprintf.c: New file.
67199         * lib/unistdio/u16-u16-asprintf.c: New file.
67200         * lib/unistdio/u16-u16-snprintf.c: New file.
67201         * lib/unistdio/u16-u16-sprintf.c: New file.
67202         * lib/unistdio/u16-u16-vasnprintf.c: New file.
67203         * lib/unistdio/u16-u16-vasprintf.c: New file.
67204         * lib/unistdio/u16-u16-vsnprintf.c: New file.
67205         * lib/unistdio/u16-u16-vsprintf.c: New file.
67206         * lib/unistdio/u32-asnprintf.c: New file.
67207         * lib/unistdio/u32-asprintf.c: New file.
67208         * lib/unistdio/u32-printf-parse.c: New file.
67209         * lib/unistdio/u32-snprintf.c: New file.
67210         * lib/unistdio/u32-sprintf.c: New file.
67211         * lib/unistdio/u32-vasnprintf.c: New file.
67212         * lib/unistdio/u32-vasprintf.c: New file.
67213         * lib/unistdio/u32-vsnprintf.c: New file.
67214         * lib/unistdio/u32-vsprintf.c: New file.
67215         * lib/unistdio/u32-u32-asnprintf.c: New file.
67216         * lib/unistdio/u32-u32-asprintf.c: New file.
67217         * lib/unistdio/u32-u32-snprintf.c: New file.
67218         * lib/unistdio/u32-u32-sprintf.c: New file.
67219         * lib/unistdio/u32-u32-vasnprintf.c: New file.
67220         * lib/unistdio/u32-u32-vasprintf.c: New file.
67221         * lib/unistdio/u32-u32-vsnprintf.c: New file.
67222         * lib/unistdio/u32-u32-vsprintf.c: New file.
67223         * tests/unistdio/test-ulc-asnprintf1.c: New file.
67224         * tests/unistdio/test-ulc-asnprintf1.h: New file.
67225         * tests/unistdio/test-ulc-printf1.h: New file.
67226         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
67227         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
67228         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
67229         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
67230         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
67231         * tests/unistdio/test-ulc-vasprintf1.c: New file.
67232         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
67233         * tests/unistdio/test-ulc-vsprintf1.c: New file.
67234         * tests/unistdio/test-u8-asnprintf1.c: New file.
67235         * tests/unistdio/test-u8-asnprintf1.h: New file.
67236         * tests/unistdio/test-u8-printf1.h: New file.
67237         * tests/unistdio/test-u8-vasnprintf1.c: New file.
67238         * tests/unistdio/test-u8-vasnprintf2.c: New file.
67239         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
67240         * tests/unistdio/test-u8-vasnprintf3.c: New file.
67241         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
67242         * tests/unistdio/test-u8-vasprintf1.c: New file.
67243         * tests/unistdio/test-u8-vsnprintf1.c: New file.
67244         * tests/unistdio/test-u8-vsprintf1.c: New file.
67245         * tests/unistdio/test-u16-asnprintf1.c: New file.
67246         * tests/unistdio/test-u16-asnprintf1.h: New file.
67247         * tests/unistdio/test-u16-printf1.h: New file.
67248         * tests/unistdio/test-u16-vasnprintf1.c: New file.
67249         * tests/unistdio/test-u16-vasnprintf2.c: New file.
67250         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
67251         * tests/unistdio/test-u16-vasnprintf3.c: New file.
67252         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
67253         * tests/unistdio/test-u16-vasprintf1.c: New file.
67254         * tests/unistdio/test-u16-vsnprintf1.c: New file.
67255         * tests/unistdio/test-u16-vsprintf1.c: New file.
67256         * tests/unistdio/test-u32-asnprintf1.c: New file.
67257         * tests/unistdio/test-u32-asnprintf1.h: New file.
67258         * tests/unistdio/test-u32-printf1.h: New file.
67259         * tests/unistdio/test-u32-vasnprintf1.c: New file.
67260         * tests/unistdio/test-u32-vasnprintf2.c: New file.
67261         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
67262         * tests/unistdio/test-u32-vasnprintf3.c: New file.
67263         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
67264         * tests/unistdio/test-u32-vasprintf1.c: New file.
67265         * tests/unistdio/test-u32-vsnprintf1.c: New file.
67266         * tests/unistdio/test-u32-vsprintf1.c: New file.
67267         * modules/unistdio/base: New file.
67268         * modules/unistdio/u-printf-args: New file.
67269         * modules/unistdio/ulc-asnprintf: New file.
67270         * modules/unistdio/ulc-asprintf: New file.
67271         * modules/unistdio/ulc-fprintf: New file.
67272         * modules/unistdio/ulc-printf-parse: New file.
67273         * modules/unistdio/ulc-snprintf: New file.
67274         * modules/unistdio/ulc-sprintf: New file.
67275         * modules/unistdio/ulc-vasnprintf: New file.
67276         * modules/unistdio/ulc-vasprintf: New file.
67277         * modules/unistdio/ulc-vfprintf: New file.
67278         * modules/unistdio/ulc-vsnprintf: New file.
67279         * modules/unistdio/ulc-vsprintf: New file.
67280         * modules/unistdio/u8-asnprintf: New file.
67281         * modules/unistdio/u8-asprintf: New file.
67282         * modules/unistdio/u8-printf-parse: New file.
67283         * modules/unistdio/u8-snprintf: New file.
67284         * modules/unistdio/u8-sprintf: New file.
67285         * modules/unistdio/u8-vasnprintf: New file.
67286         * modules/unistdio/u8-vasprintf: New file.
67287         * modules/unistdio/u8-vsnprintf: New file.
67288         * modules/unistdio/u8-vsprintf: New file.
67289         * modules/unistdio/u8-u8-asnprintf: New file.
67290         * modules/unistdio/u8-u8-asprintf: New file.
67291         * modules/unistdio/u8-u8-snprintf: New file.
67292         * modules/unistdio/u8-u8-sprintf: New file.
67293         * modules/unistdio/u8-u8-vasnprintf: New file.
67294         * modules/unistdio/u8-u8-vasprintf: New file.
67295         * modules/unistdio/u8-u8-vsnprintf: New file.
67296         * modules/unistdio/u8-u8-vsprintf: New file.
67297         * modules/unistdio/u16-asnprintf: New file.
67298         * modules/unistdio/u16-asprintf: New file.
67299         * modules/unistdio/u16-printf-parse: New file.
67300         * modules/unistdio/u16-snprintf: New file.
67301         * modules/unistdio/u16-sprintf: New file.
67302         * modules/unistdio/u16-vasnprintf: New file.
67303         * modules/unistdio/u16-vasprintf: New file.
67304         * modules/unistdio/u16-vsnprintf: New file.
67305         * modules/unistdio/u16-vsprintf: New file.
67306         * modules/unistdio/u16-u16-asnprintf: New file.
67307         * modules/unistdio/u16-u16-asprintf: New file.
67308         * modules/unistdio/u16-u16-snprintf: New file.
67309         * modules/unistdio/u16-u16-sprintf: New file.
67310         * modules/unistdio/u16-u16-vasnprintf: New file.
67311         * modules/unistdio/u16-u16-vasprintf: New file.
67312         * modules/unistdio/u16-u16-vsnprintf: New file.
67313         * modules/unistdio/u16-u16-vsprintf: New file.
67314         * modules/unistdio/u32-asnprintf: New file.
67315         * modules/unistdio/u32-asprintf: New file.
67316         * modules/unistdio/u32-printf-parse: New file.
67317         * modules/unistdio/u32-snprintf: New file.
67318         * modules/unistdio/u32-sprintf: New file.
67319         * modules/unistdio/u32-vasnprintf: New file.
67320         * modules/unistdio/u32-vasprintf: New file.
67321         * modules/unistdio/u32-vsnprintf: New file.
67322         * modules/unistdio/u32-vsprintf: New file.
67323         * modules/unistdio/u32-u32-asnprintf: New file.
67324         * modules/unistdio/u32-u32-asprintf: New file.
67325         * modules/unistdio/u32-u32-snprintf: New file.
67326         * modules/unistdio/u32-u32-sprintf: New file.
67327         * modules/unistdio/u32-u32-vasnprintf: New file.
67328         * modules/unistdio/u32-u32-vasprintf: New file.
67329         * modules/unistdio/u32-u32-vsnprintf: New file.
67330         * modules/unistdio/u32-u32-vsprintf: New file.
67331         * modules/unistdio/ulc-asnprintf-tests: New file.
67332         * modules/unistdio/ulc-vasnprintf-tests: New file.
67333         * modules/unistdio/ulc-vasprintf-tests: New file.
67334         * modules/unistdio/ulc-vsnprintf-tests: New file.
67335         * modules/unistdio/ulc-vsprintf-tests: New file.
67336         * modules/unistdio/u8-asnprintf-tests: New file.
67337         * modules/unistdio/u8-vasnprintf-tests: New file.
67338         * modules/unistdio/u8-vasprintf-tests: New file.
67339         * modules/unistdio/u8-vsnprintf-tests: New file.
67340         * modules/unistdio/u8-vsprintf-tests: New file.
67341         * modules/unistdio/u16-asnprintf-tests: New file.
67342         * modules/unistdio/u16-vasnprintf-tests: New file.
67343         * modules/unistdio/u16-vasprintf-tests: New file.
67344         * modules/unistdio/u16-vsnprintf-tests: New file.
67345         * modules/unistdio/u16-vsprintf-tests: New file.
67346         * modules/unistdio/u32-asnprintf-tests: New file.
67347         * modules/unistdio/u32-vasnprintf-tests: New file.
67348         * modules/unistdio/u32-vasprintf-tests: New file.
67349         * modules/unistdio/u32-vsnprintf-tests: New file.
67350         * modules/unistdio/u32-vsprintf-tests: New file.
67351         * MODULES.html.sh (Unicode string functions): Add the new modules.
67352
67353 2007-07-01  Bruno Haible  <bruno@clisp.org>
67354
67355         * lib/sprintf.c (sprintf): Limit the available length estimation,
67356         to avoid address wraparound.
67357         * lib/vsprintf.c (vsprintf): Likewise.
67358         * modules/sprintf-posix (Dependencies): Add stdint.
67359         * modules/vsprintf-posix (Dependencies): Likewise.
67360
67361 2007-07-01  Bruno Haible  <bruno@clisp.org>
67362
67363         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
67364         Windows PATH as well. Conservative double-quoting. Comments.
67365
67366 2007-07-01  Bruno Haible  <bruno@clisp.org>
67367             Eric Blake  <ebb9@byu.net>
67368             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67369
67370         * gnulib-tool (self_abspathname): Fix algorithm to cope with
67371         empty components in $PATH, denoting '.'.
67372
67373 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67374
67375         * gnulib-tool: Fix indentation.
67376         (func_create_megatestdir): Likewise.
67377         Report by Bruno Haible.
67378
67379 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67380
67381         Sync from Automake.
67382         * build-aux/gnupload: Fix shell portability issues with for loops.
67383         Report by Karl Berry.
67384
67385 2007-06-29  Simon Josefsson  <simon@josefsson.org>
67386
67387         * build-aux/maint.mk (POURL): Use translationproject.org.
67388
67389 2007-06-27  Simon Josefsson  <simon@josefsson.org>
67390             Bruno Haible  <bruno@clisp.org>
67391
67392         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
67393         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
67394         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
67395         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
67396         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
67397
67398 2007-06-27  Bruno Haible  <bruno@clisp.org>
67399
67400         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
67401         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
67402
67403 2007-06-26  Karl Berry  <karl@gnu.org>
67404
67405         * MODULES.html.sh: remove xreadlink-with-size.
67406
67407 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
67408
67409         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
67410         method that I hope also handles the double-include problem noted
67411         by Bruno Haible in
67412         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
67413
67414 2007-06-23  Bruno Haible  <bruno@clisp.org>
67415
67416         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
67417         Don't let the 'mostlyclean' target fail if the last subdirectory could
67418         not be removed.
67419         Reported by Karl Berry.
67420
67421 2007-06-23  Bruno Haible  <bruno@clisp.org>
67422
67423         * gnulib-tool (echo): Add a speedier workaround for ksh.
67424         * tests/test-echo.sh: Likewise.
67425
67426 2007-06-23  Bruno Haible  <bruno@clisp.org>
67427
67428         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
67429         * tests/test-echo.sh: Likewise.
67430
67431 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67432
67433         * gnulib-tool (IFS): Initialize early, so we don't set it to
67434         empty later.
67435         (self_abspathname): Rewrite algorithm to set it, reindent.
67436         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
67437         (func_create_megatestdir): Merge some sed scripts.
67438
67439 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
67440
67441         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
67442         exposed by Sun Studio 11 cc on Solaris 8.
67443
67444 2007-06-22  Bruno Haible  <bruno@clisp.org>
67445
67446         * gnulib-tool (echo): Ensure the echo primitive does not interpret
67447         backslashes.
67448         * tests/test-echo.sh: New file.
67449
67450 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67451
67452         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
67453         simplify `sed_replace_build_aux' scripts, they are portable but
67454         echoing them with `echo' is not.
67455         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
67456
67457 2007-06-21  Karl Berry  <karl@gnu.org>
67458
67459         * config/srclist.txt: guess we can't handle the licenses via
67460         srclist at the moment.
67461
67462 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
67463
67464         * MODULES.html.sh: Add include_next.
67465         * modules/include_next: New file.
67466
67467 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
67468
67469         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
67470         INCLUDE_NEXT.
67471         (gl_CHECK_NEXT_HEADERS): New macro.
67472         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
67473         the obsolescent gl_ABSOLUTE_HEADER.
67474         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
67475         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
67476         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
67477         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
67478         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
67479         * m4/math_h.m4 (gl_MATH_H): Likewise.
67480         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
67481         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
67482         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
67483         * m4/stdint.m4 (gl_STDINT_H): Likewise.
67484         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
67485         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
67486         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
67487         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
67488         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
67489         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
67490         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
67491         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
67492         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
67493         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
67494         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
67495         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
67496         * m4/inttypes.m4 (gl_INTTYPES_H): Define
67497         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
67498         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
67499         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
67500         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
67501         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
67502         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
67503         * lib/float_.h: Likewise.
67504         * lib/inttypes_.h: Likewise.
67505         * lib/math_.h: Likewise.
67506         * lib/search_.h: Likewise.
67507         * lib/signal_.h: Likewise.
67508         * lib/stdint_.h: Likewise.
67509         * lib/stdio_.h: Likewise.
67510         * lib/stdlib_.h: Likewise.
67511         * lib/string_.h: Likewise.
67512         * lib/sys_stat_.h: Likewise.
67513         * lib/sys_time_.h: Likewise.
67514         * lib/time_.h: Likewise.
67515         * lib/unistd_.h: Likewise.
67516         * lib/wchar_.h: Likewise.
67517         * lib/wctype_.h: Likewise.
67518         * lib/dirent_.h: Likewise.
67519         * lib/iconv_.h: Likewise.
67520         * lib/locale_.h: Likewise.
67521         * lib/netinet_in_.h: Likewise.
67522         * lib/sys_select_.h: Likewise.
67523         * lib/sys_socket_.h: Likewise.
67524         * lib/sysexits_.h: Likewise.
67525         * modules/fcntl (Depends-on): Depend on include_next, not
67526         absolute_header.
67527         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
67528         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
67529         * modules/fchdir: Likewise.
67530         * modules/float: Likewise.
67531         * modules/iconv_open: Likewise.
67532         * modules/inttypes: Likewise.
67533         * modules/locale: Likewise.
67534         * modules/math: Likewise.
67535         * modules/netinet_in: Likewise.
67536         * modules/search: Likewise.
67537         * modules/signal: Likewise.
67538         * modules/stdint: Likewise.
67539         * modules/stdio: Likewise.
67540         * modules/stdlib: Likewise.
67541         * modules/string: Likewise.
67542         * modules/sys_select: Likewise.
67543         * modules/sys_socket: Likewise.
67544         * modules/sys_stat: Likewise.
67545         * modules/sys_time: Likewise.
67546         * modules/sysexits: Likewise.
67547         * modules/time: Likewise.
67548         * modules/unistd: Likewise.
67549         * modules/wchar: Likewise.
67550         * modules/wctype: Likewise.
67551         * modules/sys_stat: Change maintainer to "all".
67552         * modules/unistd: Likewise.
67553
67554 2007-06-20  Karl Berry  <karl@gnu.org>
67555
67556         * config/srclist.txt: track www changes in license files.
67557
67558 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
67559
67560         * build-aux/bootstrap: Remove stray dot.
67561         Make sure build_aux settings are honored when linking
67562         gnulib_extra_files.
67563
67564 2007-06-19  Eric Blake  <ebb9@byu.net>
67565
67566         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
67567         Allow compilation on cygwin.
67568
67569 2007-06-19  Jim Meyering  <jim@meyering.net>
67570
67571         xreadlink-with-size: Remove module.  No longer used.
67572         Ex-callers now use xreadlink or mreadlink-with-size.
67573         * modules/xreadlink-with-size: Remove module.
67574         * lib/xreadlink-with-size.c: Remove file.
67575         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
67576         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
67577         just before the function definition *is* accurate.
67578
67579         Eliminate one way canonicalize_filename_mode could exit.
67580         * lib/canonicalize.c (canonicalize_filename_mode):
67581         Use mreadlink_with_size, not xreadlink_with_size.
67582
67583 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
67584
67585         Detect porting problems to FreeBSD/arm, which has time_t wider than
67586         long int.  Original problem reported for GNU diff by Xin Li in
67587         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
67588         * modules/getdate (Depends-on): Add intprops, verify.
67589         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
67590         is an integer type no wider than long int.
67591
67592 2007-06-18  Jim Meyering  <jim@meyering.net>
67593
67594         New module: mreadlink-with-size.
67595         * MODULES.html.sh: Add mreadlink-with-size.
67596         * modules/mreadlink-with-size: New module
67597         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
67598         not xreadlink-with-size.
67599         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
67600
67601 2007-06-16  Bruno Haible  <bruno@clisp.org>
67602
67603         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
67604         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
67605         Reported by Gary V. Vaughan <gary@gnu.org>.
67606
67607 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
67608
67609         Revamp lchown so that it lives in unistd.h where it belongs.
67610         * lib/lchown.h: Remove.
67611         * lib/dirchownmod.c: Don't include lib/lchown.h.
67612         * lib/fchownat.c: Likewise.
67613         * lib/openat.c: Likewise.
67614         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
67615         does not follow symlinks.
67616         (EOPNOTSUPP): Define if not defined.
67617         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
67618         is defined to 0.
67619         (lchown): New decl.
67620         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
67621         Do not check for lchown decl.
67622         Set REPLACE_LCHOWN.
67623         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
67624         REPLACE_LCHOWN.
67625         * modules/chown: Make it clear it follows symlinks.
67626         * modules/lchown: Make it clear it doesn't follow symlinks.
67627         (Files): Remove lib/lchown.h
67628         (Depends-on): Add unistd.
67629         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
67630         (Include): Include <unistd.h>, not "lchown.h".
67631         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
67632         REPLACE_LCHOWN.
67633
67634 2007-06-15  Jim Meyering  <jim@meyering.net>
67635
67636         Change license (GPL to LGPL) of fsusage and dependents.
67637         * modules/fsusage (License): Change to LGPL.
67638         * modules/full-read (License): Likewise.
67639         * modules/full-write (License): Likewise.
67640         * modules/safe-read (License): Likewise.
67641         * modules/safe-write (License): Likewise.
67642
67643 2007-06-14  Ben Pfaff  <blp@gnu.org>
67644
67645         Missing part of allocsa -> malloca transition.
67646         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
67647         gl_MALLOCA.
67648
67649 2007-06-12  Bruno Haible  <bruno@clisp.org>
67650
67651         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
67652         to ia64, x86_64, i386.
67653         Reported by Eric Blake.
67654
67655 2007-06-12  Bruno Haible  <bruno@clisp.org>
67656
67657         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
67658         cross-compiling to x86_64.
67659
67660 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
67661
67662         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
67663         glitch reported by Ralf Wildenhues in
67664         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
67665
67666         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
67667         Vin Shelton.
67668
67669 2007-06-11  Bruno Haible  <bruno@clisp.org>
67670
67671         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
67672         replacement string.
67673         Reported by Eric Blake.
67674
67675 2007-06-10  Bruno Haible  <bruno@clisp.org>
67676
67677         Prepare vasnprintf code for use with Unicode strings.
67678         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
67679         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
67680         TYPE_U32_STRING.
67681         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
67682         a_u32_string variants.
67683         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
67684         * lib/printf-args.c: Don't include config.h and the specification
67685         header if PRINTF_FETCHARGS is already defined.
67686         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
67687         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
67688         TYPE_U16_STRING, TYPE_U32_STRING.
67689         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
67690         u16_directive, u16_directives, u32_directive, u32_directives): New
67691         types.
67692         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
67693         New declarations.
67694         * lib/printf-parse.c: Don't include config.h and the specification
67695         header if PRINTF_PARSE is already defined. Eliminate the set of
67696         parameters for WIDE_CHAR_VERSION; the user of this file must provide
67697         them now. Include c-ctype.h.
67698         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
67699         directive and CHAR_T_ONLY_ASCII.
67700         * lib/vasnprintf.c: Don't include config.h and the specification header
67701         if VASNPRINTF is already defined.
67702         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
67703         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
67704         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
67705         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
67706         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
67707         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
67708         code accordingly.
67709         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
67710         pad_ourselves also in this case, with the 'c' and 's' directives, and
67711         with a different notion of "width".
67712         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
67713
67714 2007-06-10  Bruno Haible  <bruno@clisp.org>
67715
67716         * modules/unistr/u32-mbsnlen: New file.
67717         * lib/unistr/u32-mbsnlen.c: New file.
67718
67719         * modules/unistr/u16-mbsnlen: New file.
67720         * lib/unistr/u16-mbsnlen.c: New file.
67721
67722         * modules/unistr/u8-mbsnlen: New file.
67723         * lib/unistr/u8-mbsnlen.c: New file.
67724
67725         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
67726         declarations.
67727
67728 2007-06-10  Bruno Haible  <bruno@clisp.org>
67729
67730         * lib/string_.h (mbsnlen): New declaration.
67731         * lib/mbsnlen.c: New file.
67732         * m4/mbsnlen.m4: New file.
67733         * modules/mbsnlen: New file.
67734         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
67735         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
67736         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
67737
67738 2007-06-10  Bruno Haible  <bruno@clisp.org>
67739
67740         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
67741
67742 2007-06-10  Bruno Haible  <bruno@clisp.org>
67743
67744         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
67745         * lib/mbuiter.h: Likewise.
67746
67747 2007-06-10  Bruno Haible  <bruno@clisp.org>
67748
67749         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
67750         declaration.
67751
67752 2007-06-10  Karl Berry  <karl@gnu.org>
67753
67754         * config/srclist.txt: remove gettext entries, Bruno prefers
67755         to update individually.
67756
67757 2007-06-10  Bruno Haible  <bruno@clisp.org>
67758
67759         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
67760         'maxlen'. Ensure only length + width bytes are allocated, not
67761         length + 1 + width.
67762
67763 2007-06-09  Bruno Haible  <bruno@clisp.org>
67764
67765         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
67766         (CHAR_T): Remove macro.
67767         (VASNPRINTF): Update.
67768
67769 2007-06-09  Bruno Haible  <bruno@clisp.org>
67770
67771         * MODULES.html.sh (Unicode string functions): Add the new modules.
67772
67773         * modules/uniconv/u32-conv-to-enc: New file.
67774         * lib/uniconv/u32-conv-to-enc.c: New file.
67775         * modules/uniconv/u32-conv-to-enc-tests: New file.
67776         * tests/uniconv/test-u32-conv-to-enc.c: New file.
67777
67778         * modules/uniconv/u16-conv-to-enc: New file.
67779         * lib/uniconv/u16-conv-to-enc.c: New file.
67780         * lib/uniconv/u-conv-to-enc.h: New file.
67781         * modules/uniconv/u16-conv-to-enc-tests: New file.
67782         * tests/uniconv/test-u16-conv-to-enc.c: New file.
67783
67784         * modules/uniconv/u8-conv-to-enc: New file.
67785         * lib/uniconv/u8-conv-to-enc.c: New file.
67786         * modules/uniconv/u8-conv-to-enc-tests: New file.
67787         * tests/uniconv/test-u8-conv-to-enc.c: New file.
67788
67789         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
67790         u32_conv_to_encoding): New declarations.
67791
67792 2007-06-09  Bruno Haible  <bruno@clisp.org>
67793
67794         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
67795
67796 2007-06-09  Bruno Haible  <bruno@clisp.org>
67797
67798         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
67799         * modules/malloca: Renamed from modules/allocsa, updated.
67800         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
67801         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
67802         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
67803         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
67804         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
67805         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
67806         * modules/xmalloca: Renamed from modules/xallocsa, updated.
67807         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
67808         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
67809         * modules/c-strcasestr (Depends-on): Update.
67810         * lib/c-strcasestr.c: Update.
67811         * modules/c-strstr (Depends-on): Update.
67812         * lib/c-strstr.c: Update.
67813         * modules/canonicalize-lgpl (Depends-on): Update.
67814         * lib/canonicalize-lgpl.c: Update.
67815         * modules/clean-temp (Depends-on): Update.
67816         * lib/clean-temp.c: Update.
67817         * modules/csharpcomp (Depends-on): Update.
67818         * lib/csharpcomp.c: Update.
67819         * modules/csharpexec (Depends-on): Update.
67820         * lib/csharpexec.c: Update.
67821         * modules/javacomp (Depends-on): Update.
67822         * lib/javacomp.c: Update.
67823         * modules/javaexec (Depends-on): Update.
67824         * lib/javaexec.c: Update.
67825         * modules/mbscasestr (Depends-on): Update.
67826         * lib/mbscasestr.c: Update.
67827         * modules/mbsstr (Depends-on): Update.
67828         * lib/mbsstr.c: Update.
67829         * modules/setenv (Depends-on): Update.
67830         * lib/setenv.c: Update.
67831         * modules/strcasestr (Depends-on): Update.
67832         * lib/strcasestr.c: Update.
67833         * modules/striconveha (Depends-on): Update.
67834         * lib/striconveha.c: Update.
67835         * modules/relocatable-prog-wrapper (Files): Update.
67836         * lib/relocwrapper.c: Update.
67837         * build-aux/install-reloc: Update.
67838         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
67839
67840 2007-06-08  Bruno Haible  <bruno@clisp.org>
67841
67842         Port to uClibc.
67843         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
67844         * lib/fpurge.c (fpurge): Likewise.
67845         * lib/freading.c (freading): Likewise.
67846         * lib/fseeko.c (rpl_fseeko): Likewise.
67847         * lib/fseterr.c (fseterr): Likewise.
67848         * lib/fwriting.c (fwriting): Likewise.
67849         * tests/test-fflush.c (main): Avoid a failure on uClibc.
67850
67851 2007-06-08  Bruno Haible  <bruno@clisp.org>
67852
67853         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
67854         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
67855         * modules/gettext (Files): Add m4/intlmacosx.m4.
67856
67857 2007-06-07  Bruno Haible  <bruno@clisp.org>
67858
67859         * modules/localename-tests: New file.
67860         * tests/test-localename.c: New file.
67861
67862         New module 'localename'.
67863         * lib/localename.h: New file.
67864         * lib/localename.c: New file, from GNU gettext.
67865         * m4/localename.m4: New file.
67866         * modules/localename: New file.
67867
67868 2007-06-07  Bruno Haible  <bruno@clisp.org>
67869
67870         Work around the lack of <wchar.h> on some builds of uClibc.
67871         * doc/headers/wchar.texi: Update.
67872         * lib/wchar_.h: Include <wchar.h> only if it exists.
67873         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
67874         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
67875         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
67876         doesn't exist.
67877         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
67878         * modules/mbfile (Depends-on): Add wchar.
67879         * modules/mbiter (Depends-on): Likewise.
67880         * modules/mbuiter (Depends-on): Likewise.
67881         Reported by Simon Josefsson.
67882
67883 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
67884
67885         Work around problem reported by Steven M. Schweda in
67886         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
67887         Tru64 5.1B with the Compaq compiler environment installed declares
67888         an 'isblank' function but does not define it in the C library.
67889         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
67890         * lib/regex_internal.h (isblank): Likewise.
67891         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
67892         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
67893
67894 2007-06-05  Bruno Haible  <bruno@clisp.org>
67895
67896         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
67897         ia64.
67898         * modules/printf-safe: New file.
67899         * modules/fprintf-posix (Depends-on): Add printf-safe.
67900         * modules/printf-posix (Depends-on): Likewise.
67901         * modules/snprintf-posix (Depends-on): Likewise.
67902         * modules/sprintf-posix (Depends-on): Likewise.
67903         * modules/vasnprintf-posix (Depends-on): Likewise.
67904         * modules/vasprintf-posix (Depends-on): Likewise.
67905         * modules/vfprintf-posix (Depends-on): Likewise.
67906         * modules/vprintf-posix (Depends-on): Likewise.
67907         * modules/vsnprintf-posix (Depends-on): Likewise.
67908         * modules/vsprintf-posix (Depends-on): Likewise.
67909         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
67910         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
67911         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
67912         "no" on i386, x86_64, ia64.
67913         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
67914         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
67915         on i386, x86_64, ia64.
67916         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
67917         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
67918         on i386, x86_64, ia64.
67919         * tests/test-vasnprintf-posix.c: Include float.h.
67920         (LDBL80_WORDS): New macro.
67921         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
67922         on i386, x86_64, ia64.
67923         * tests/test-vasprintf-posix.c: Include float.h.
67924         (LDBL80_WORDS): New macro.
67925         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
67926         on i386, x86_64, ia64.
67927         * tests/test-snprintf-posix.c: Include float.h.
67928         * tests/test-sprintf-posix.c: Likewise.
67929         * tests/test-vsnprintf-posix.c: Likewise.
67930         * tests/test-vsprintf-posix.c: Likewise.
67931
67932 2007-06-05  Bruno Haible  <bruno@clisp.org>
67933
67934         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
67935         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
67936         non-IEEE numbers on i386, x86_64, ia64.
67937         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
67938         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
67939         * tests/test-isnanl.h: Include float.h.
67940         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
67941
67942 2007-06-05  Bruno Haible  <bruno@clisp.org>
67943
67944         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
67945         also the %a / %A. Handle the %a / %A code before this extra handling.
67946
67947 2007-06-05  Bruno Haible  <bruno@clisp.org>
67948
67949         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
67950         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
67951
67952 2007-06-05  Bruno Haible  <bruno@clisp.org>
67953
67954         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
67955         typo in variable name.
67956
67957 2007-06-05  Eric Blake  <ebb9@byu.net>
67958
67959         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
67960         Reported by Simon Josefsson.
67961
67962 2007-06-04  Bruno Haible  <bruno@clisp.org>
67963
67964         Avoid test failures on some PowerPC platforms.
67965         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
67966         Define differently for PowerPC.
67967         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
67968         Reported by Gary V. Vaughan <gary@gnu.org>.
67969
67970 2007-06-02  Bruno Haible  <bruno@clisp.org>
67971
67972         Fix test-stdint failure on FreeBSD/ia64.
67973         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
67974         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
67975         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
67976         * doc/headers/stdint.texi: Update.
67977
67978 2007-06-01  Bruno Haible  <bruno@clisp.org>
67979
67980         * tests/test-binary-io.c (main): Pass a third argument to open().
67981         Reported by Gary V. Vaughan <gary@gnu.org>.
67982
67983 2007-06-01  Bruno Haible  <bruno@clisp.org>
67984
67985         * doc/functions/frexpl.texi: Update for mingw.
67986
67987 2007-06-01  Bruno Haible  <bruno@clisp.org>
67988
67989         * tests/test-lseek.c (main): Disable test of errno for invalid third
67990         argument.
67991         * doc/functions/lseek.texi: Update.
67992         Reported by Gary V. Vaughan <gary@gnu.org>.
67993
67994 2007-05-28  Bruno Haible  <bruno@clisp.org>
67995
67996         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
67997
67998 2007-05-31  Eric Blake  <ebb9@byu.net>
67999
68000         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
68001         cross compiling.
68002
68003 2007-05-30  Eric Blake  <ebb9@byu.net>
68004         and Bruno Haible  <bruno@clisp.org>
68005
68006         Work around mingw test failures exposed by m4-1.4.9b.
68007         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
68008         * tests/test-unistd.c: Disable uid_t and git_t tests for the
68009         moment.
68010
68011 2007-05-30  Bruno Haible  <bruno@clisp.org>
68012
68013         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
68014         assuming that they are closed. Needed on HP-UX 11.
68015
68016 2007-05-29  Bruno Haible  <bruno@clisp.org>
68017
68018         Fix a problem with #include_next.
68019         * lib/dirent_.h: Split the double-inclusion guard.
68020         * lib/fcntl_.h: Likewise.
68021         * lib/float_.h: Likewise.
68022         * lib/iconv_.h: Likewise.
68023         * lib/inttypes_.h: Likewise.
68024         * lib/locale_.h: Likewise.
68025         * lib/math_.h: Likewise.
68026         * lib/netinet_in_.h: Likewise.
68027         * lib/search_.h: Likewise.
68028         * lib/signal_.h: Likewise.
68029         * lib/stdint_.h: Likewise.
68030         * lib/stdio_.h: Likewise.
68031         * lib/stdlib_.h: Likewise.
68032         * lib/string_.h: Likewise.
68033         * lib/sys_select_.h: Likewise.
68034         * lib/sys_socket_.h: Likewise.
68035         * lib/sys_stat_.h: Likewise.
68036         * lib/sys_time_.h: Likewise.
68037         * lib/sysexits_.h: Likewise.
68038         * lib/time_.h: Likewise.
68039         * lib/unistd_.h: Likewise.
68040         * lib/wchar_.h: Likewise.
68041         * lib/wctype_.h: Likewise.
68042
68043 2007-05-29  Bruno Haible  <bruno@clisp.org>
68044
68045         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
68046         for the moment.
68047
68048 2007-05-29  Bruno Haible  <bruno@clisp.org>
68049
68050         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
68051         invocation.
68052         Reported by Eric Blake.
68053
68054 2007-05-29  Bruno Haible  <bruno@clisp.org>
68055
68056         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
68057         compiling case.
68058
68059 2007-05-29  Eric Blake  <ebb9@byu.net>
68060             Bruno Haible  <bruno@clisp.org>
68061
68062         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
68063         cross compiles.
68064
68065 2007-05-28  Eric Blake  <ebb9@byu.net>
68066
68067         * modules/closein-tests (test_closein_LDADD): Support test on
68068         cygwin with libtool.
68069
68070 2007-05-28  Bruno Haible  <bruno@clisp.org>
68071
68072         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
68073         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
68074         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
68075         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
68076         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
68077         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
68078         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
68079         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
68080         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
68081
68082 2007-05-28  Eric Blake  <ebb9@byu.net>
68083
68084         Unconditionally include <config.h> in unit tests.
68085         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
68086         * tests/test-allocsa.c, tests/test-arcfour.c,
68087         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
68088         tests/test-array_list.c, tests/test-array_oset.c,
68089         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
68090         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
68091         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
68092         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
68093         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
68094         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
68095         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
68096         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
68097         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
68098         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
68099         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
68100         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
68101         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
68102         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
68103         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
68104         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
68105         test-md5.c, test-memmem.c, test-printf-posix.c,
68106         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
68107         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
68108         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
68109         test-strcasestr.c, test-striconv.c, test-striconveh.c,
68110         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
68111         test-vasnprintf-posix2.c, test-vasnprintf.c,
68112         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
68113         test-vfprintf-posix.c, test-vprintf-posix.c,
68114         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
68115         test-xvasprintf.c: Likewise.
68116
68117 2007-05-28  Bruno Haible  <bruno@clisp.org>
68118
68119         * gnulib-tool (func_import): Remember the --with-tests command-line
68120         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
68121         Reported by Eric Blake.
68122
68123 2007-05-28  Bruno Haible  <bruno@clisp.org>
68124
68125         * modules/ftell-tests: New file.
68126         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
68127         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
68128
68129         * lib/ftell.c: New file.
68130         * modules/ftell: New file.
68131         * m4/ftell.m4: New file.
68132         * doc/functions/ftell.texi: Update.
68133         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
68134         REPLACE_FTELL.
68135         * lib/stdio_.h (rpl_ftell): New declaration.
68136         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
68137         REPLACE_FTELL.
68138
68139 2007-05-28  Eric Blake  <ebb9@byu.net>
68140
68141         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
68142
68143 2007-05-28  Bruno Haible  <bruno@clisp.org>
68144
68145         * modules/fseek-tests: New file.
68146         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
68147         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
68148
68149         * lib/fseek.c: New file.
68150         * modules/fseek: New file.
68151         * m4/fseek.m4: New file.
68152         * doc/functions/fseek.texi: Update.
68153         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
68154         REPLACE_FSEEK.
68155         * lib/stdio_.h (rpl_fseek): New declaration.
68156         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
68157         REPLACE_FSEEK.
68158
68159 2007-05-28  Bruno Haible  <bruno@clisp.org>
68160
68161         * lib/stdio_.h (fflush): More comments.
68162
68163 2007-05-28  Bruno Haible  <bruno@clisp.org>
68164
68165         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
68166         runtime test.
68167
68168 2007-05-28  Eric Blake  <ebb9@byu.net>
68169
68170         Improve lseek module.
68171         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
68172         * lib/unistd_.h (lseek): Scale back link warning message.
68173         * tests/test-lseek.c: Beef up test.
68174         * tests/test-lseek.sh: Exercise more facets of lseek.
68175         Reported by Bruno Haible.
68176
68177 2007-05-28  Bruno Haible  <bruno@clisp.org>
68178
68179         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
68180         to define.
68181
68182 2007-05-27  Bruno Haible  <bruno@clisp.org>
68183
68184         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
68185
68186 2007-05-27  Bruno Haible  <bruno@clisp.org>
68187
68188         * modules/openmp: New file.
68189         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
68190         Noah Misch.
68191
68192 2007-05-26  Bruno Haible  <bruno@clisp.org>
68193
68194         * modules/chdir-long (Depends-on): Add fchdir.
68195         * modules/chdir-safer (Depends-on): Likewise.
68196         * modules/fts (Depends-on): Likewise.
68197         * modules/fts-lgpl (Depends-on): Likewise.
68198         * modules/openat (Depends-on): Likewise.
68199         * modules/savewd (Depends-on): Likewise.
68200
68201 2007-05-24  Eric Blake  <ebb9@byu.net>
68202
68203         Fix lseek on mingw.
68204         * modules/lseek: New module.
68205         * m4/lseek.m4: New file.
68206         * lib/lseek.c: New file.
68207         * modules/lseek-tests: New file.
68208         * tests/test-lseek.c: New file.
68209         * tests/test-lseek.sh: New file.
68210         * MODULES.html.sh: Document lseek module.
68211         * modules/fflush (Depends-on): Add lseek, fseeko.
68212         * modules/fseeko (Depends-on): Likewise.
68213         * modules/ftello (Depends-on): Likewise.
68214         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
68215         broken.
68216         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
68217         broken.
68218         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
68219         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
68220         * lib/ftello.c (rpl_ftello): Likewise.
68221         * tests/test-fseeko.c (main): Test this.
68222         * tests/test-fseeko.sh: Likewise.
68223         * tests/test-ftello.c (main): Likewise.
68224         * tests/test-ftello.sh: Likewise.
68225         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
68226         implies replacing fseek.
68227         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
68228         HAVE_FTELLO.
68229         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
68230         * modules/unistd (Makefile.am): Likewise.
68231         * lib/unistd_.h (lseek): Declare a replacement.
68232         * doc/functions/lseek.texi (lseek): Document this fix.
68233         * doc/functions/fseek.texi (fseek): Likewise.
68234         * doc/functions/ftell.texi (ftell): Likewise.
68235
68236 2007-05-24  Bruno Haible  <bruno@clisp.org>
68237
68238         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
68239         in the printed representation of a NaN.
68240         * tests/test-vasprintf-posix.c (test_function): Likewise.
68241         * tests/test-snprintf-posix.h (test_function): Likewise.
68242         * tests/test-sprintf-posix.h (test_function): Likewise.
68243         Reported by Eric Blake.
68244
68245 2007-05-23  Eric Blake  <ebb9@byu.net>
68246
68247         Fix fseeko/ftello on cygwin 1.5.24.
68248         * doc/functions/fseeko.texi (fseeko): Document the fix.
68249         * doc/functions/ftello.texi (ftello): Document the fix.
68250         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
68251         * doc/functions/stdout.text (stdout): New file.
68252         * doc/functions/stderr.text (stderr): New file.
68253         * doc/gnulib.texi (Function Substitutes): Use new files.
68254         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
68255         prior to 1.7.0.
68256         * tests/test-ftello.c (main): Likewise for ftello.
68257         * tests/test-fseeko.sh: New file.
68258         * tests/test-ftello.sh: New file.
68259         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
68260         with seekable stdin.
68261         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
68262         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
68263         (gl_REPLACE_FSEEKO): New macro.
68264         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
68265         * modules/fseeko (Files): Distribute fseeko.c.
68266         * modules/ftello (Files): Distribute ftello.c.
68267         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
68268         mode.
68269         * lib/ftello.c (rpl_ftello): New file.
68270         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
68271         fseeko, ftello.
68272         (gl_STDIN_LARGE_OFFSET): New macro.
68273         * modules/stdio (Makefile.am): Perform the replacement.
68274         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
68275
68276 2007-05-23  Bruno Haible  <bruno@clisp.org>
68277
68278         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
68279         GNULIB_POSIXCHECK is defined.
68280
68281 2007-05-21  Bruno Haible  <bruno@clisp.org>
68282
68283         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
68284         Check also the output for NaN arguments. When cross-compiling, guess
68285         no on IRIX.
68286         * lib/vasnprintf.c: Update comments.
68287         * tests/test-vasnprintf-posix.c (strisnan): New function.
68288         (test_function): Use it.
68289         * tests/test-vasprintf-posix.c (strisnan): New function.
68290         (test_function): Use it.
68291         * tests/test-snprintf-posix.h (strisnan): New function.
68292         (test_function): Use it.
68293         * tests/test-sprintf-posix.h (strisnan): New function.
68294         (test_function): Use it.
68295         Reported by Eric Blake.
68296
68297 2007-05-20  Bruno Haible  <bruno@clisp.org>
68298
68299         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
68300         numbers that fails on BeOS.
68301         * doc/functions/frexpl.texi: Update.
68302
68303 2007-05-20  Jim Meyering  <jim@meyering.net>
68304
68305         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
68306         forced upon us by glibc-2.6.
68307
68308 2007-05-20  Bruno Haible  <bruno@clisp.org>
68309
68310         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
68311         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
68312         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
68313         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
68314         NEED_PRINTF_INFINITE.
68315         (is_infinitel): New function.
68316         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
68317         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
68318         gl_PREREQ_VASNPRINTF_INFINITE.
68319         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
68320         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
68321         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
68322         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
68323         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
68324         gl_PREREQ_VASNPRINTF_INFINITE.
68325         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
68326         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
68327         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
68328         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
68329         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
68330         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
68331         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
68332         * doc/functions/fprintf.texi: Update.
68333         * doc/functions/printf.texi: Update.
68334         * doc/functions/snprintf.texi: Update.
68335         * doc/functions/sprintf.texi: Update.
68336         * doc/functions/vfprintf.texi: Update.
68337         * doc/functions/vprintf.texi: Update.
68338         * doc/functions/vsnprintf.texi: Update.
68339         * doc/functions/vsprintf.texi: Update.
68340
68341 2007-05-20  Bruno Haible  <bruno@clisp.org>
68342
68343         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
68344         was not found in libc.
68345         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
68346
68347 2007-05-20  Bruno Haible  <bruno@clisp.org>
68348
68349         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
68350         printed as "-nan" instead of "nan".
68351         * tests/test-vasprintf-posix.c (test_function): Likewise.
68352         * tests/test-snprintf-posix.h (test_function): Likewise.
68353         * tests/test-sprintf-posix.h (test_function): Likewise.
68354         Needed for HP-UX 11.
68355
68356 2007-05-20  Jim Meyering  <jim@meyering.net>
68357
68358         Fix buggy test for the fchownat-deref bug.
68359         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
68360         symlink required for the run-test.  Without it, this test would
68361         always declare that fchownat doesn't work, and client code would
68362         unnecessarily use the replacement function with fixed libc.
68363         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
68364         Reported by Greg Schafer.
68365
68366 2007-05-19  Bruno Haible  <bruno@clisp.org>
68367
68368         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
68369         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
68370         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
68371         Needed for IRIX 6.5 and Solaris 2.5.1.
68372
68373 2007-05-19  Bruno Haible  <bruno@clisp.org>
68374
68375         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
68376         (test_function): Skip tests involving -0.0 on platforms where
68377         -0.0 = 0.0.
68378         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
68379         (test_function): Skip tests involving -0.0 on platforms where
68380         -0.0 = 0.0.
68381         * tests/test-snprintf-posix.h (have_minus_zero): New function.
68382         (test_function): Skip tests involving -0.0 on platforms where
68383         -0.0 = 0.0.
68384         * tests/test-sprintf-posix.h (have_minus_zero): New function.
68385         (test_function): Skip tests involving -0.0 on platforms where
68386         -0.0 = 0.0.
68387         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
68388         tests.
68389         * tests/test-printf-posix.h (test_function): Likewise.
68390         * tests/test-printf-posix.output: Remove all -0.0 related results.
68391         Needed for IRIX 6.5.
68392
68393 2007-05-19  Bruno Haible  <bruno@clisp.org>
68394
68395         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
68396         printed as "nan0x7fffffff" instead of "nan".
68397         * tests/test-vasprintf-posix.c (test_function): Likewise.
68398         * tests/test-snprintf-posix.h (test_function): Likewise.
68399         * tests/test-sprintf-posix.h (test_function): Likewise.
68400         * tests/test-fprintf-posix.h (NaN): Remove macro.
68401         (test_function): Remove all NaN related tests.
68402         * tests/test-printf-posix.h (NaN): Remove macro.
68403         (test_function): Remove all NaN related tests.
68404         * tests/test-printf-posix.output: Remove all NaN related results.
68405         Needed for IRIX 6.5.
68406
68407 2007-05-19  Bruno Haible  <bruno@clisp.org>
68408
68409         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
68410         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
68411
68412 2007-05-19  Bruno Haible  <bruno@clisp.org>
68413
68414         * lib/float_.h: New file.
68415         * m4/float_h.m4: New file.
68416         * modules/float: New file.
68417         * modules/isnanl (Dependencies): Add float.
68418         * modules/isnanl-nolibm (Dependencies): Likewise.
68419         * modules/mathl (Dependencies): Likewise.
68420         * modules/printf-frexpl (Dependencies): Likewise.
68421         * modules/signbit (Dependencies): Likewise.
68422         * modules/vasnprintf (Dependencies): Likewise.
68423         * doc/headers/float.texi: Update.
68424
68425 2007-05-19  Jim Meyering  <jim@meyering.net>
68426
68427         * lib/utimens.c (gl_futimens): Rename from futimens,
68428         now that glibc-2.6 declares futimens.
68429         * lib/utimens.h: Likewise.
68430
68431 2007-05-19  Bruno Haible  <bruno@clisp.org>
68432
68433         Avoid test failures on mingw.
68434         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
68435         * tests/test-printf-posix.sh: Likewise.
68436         * tests/test-vfprintf-posix.sh: Likewise.
68437         * tests/test-vprintf-posix.sh: Likewise.
68438
68439 2007-05-19  Bruno Haible  <bruno@clisp.org>
68440
68441         Fix *printf result for NaN, Inf, -0.0 on mingw.
68442         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
68443         * lib/vasnprintf.c: Include math.h and isnan.h.
68444         (is_infinite_or_zero): New function.
68445         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
68446         values in the %f, %F, %e, %E, %g, %G directives.
68447         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
68448         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
68449         gl_PRINTF_INFINITE and test its result. Invoke
68450         gl_PREREQ_VASNPRINTF_INFINITE.
68451         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
68452         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
68453         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
68454         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
68455         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
68456         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
68457         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
68458         * doc/functions/fprintf.texi: Update.
68459         * doc/functions/printf.texi: Update.
68460         * doc/functions/snprintf.texi: Update.
68461         * doc/functions/sprintf.texi: Update.
68462         * doc/functions/vfprintf.texi: Update.
68463         * doc/functions/vprintf.texi: Update.
68464         * doc/functions/vsnprintf.texi: Update.
68465         * doc/functions/vsprintf.texi: Update.
68466
68467 2007-05-19  Bruno Haible  <bruno@clisp.org>
68468
68469         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
68470         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
68471         Instead of multiplying with 10^k, set extra_zeroes to k.
68472         (scale10_round_long_double): Remove function.
68473
68474 2007-05-18  Bruno Haible  <bruno@clisp.org>
68475
68476         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
68477         introduced on 2007-05-06.
68478
68479 2007-05-18  Bruno Haible  <bruno@clisp.org>
68480
68481         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
68482         %g directives.
68483         * tests/test-vasprintf-posix.c (test_function): Likewise.
68484         * tests/test-snprintf-posix.h (test_function): Likewise.
68485         * tests/test-sprintf-posix.h (test_function): Likewise.
68486
68487 2007-05-18  Bruno Haible  <bruno@clisp.org>
68488
68489         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
68490         (strmatch): New function.
68491         (test_function): Test the %f directive on numbers of various exponents.
68492         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
68493         (strmatch): New function.
68494         (test_function): Test the %f directive on numbers of various exponents.
68495         * tests/test-snprintf-posix.h (strmatch): New function.
68496         (test_function): Test the %f directive on numbers of various exponents.
68497         * tests/test-sprintf-posix.h (strmatch): New function.
68498         (test_function): Test the %f directive on numbers of various exponents.
68499         * tests/test-snprintf-posix.c (SIZEOF): New macro.
68500         * tests/test-sprintf-posix.c (SIZEOF): New macro.
68501         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
68502         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
68503
68504 2007-05-18  Bruno Haible  <bruno@clisp.org>
68505
68506         Add support for 'long double' number output.
68507         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
68508         * lib/vasnprintf.c: Include math.h and float+.h.
68509         (mp_limb_t): New type.
68510         (GMP_LIMB_BITS): New macro.
68511         (mp_twolimb_t): New type.
68512         (GMP_TWOLIMB_BITS): New macro.
68513         (mpn_t): New type.
68514         (multiply, divide, convert_to_decimal, decode_long_double,
68515         scale10_round_long_double, scale10_round_decimal_long_double,
68516         floorlog10l): New functions.
68517         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
68518         for the %f, %F, %e, %E, %g, %G directives.
68519         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
68520         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
68521         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
68522         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
68523         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
68524         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
68525         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
68526         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
68527         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
68528         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
68529         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
68530         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
68531         * modules/snprintf-posix (Depends-on): Likewise.
68532         * modules/sprintf-posix (Depends-on): Likewise.
68533         * modules/vasnprintf-posix (Depends-on): Likewise.
68534         * modules/vasprintf-posix (Depends-on): Likewise.
68535         * modules/vfprintf-posix (Depends-on): Likewise.
68536         * modules/vsnprintf-posix (Depends-on): Likewise.
68537         * modules/vsprintf-posix (Depends-on): Likewise.
68538         * modules/vasnprintf (Files): Add lib/float+.h.
68539         * doc/functions/fprintf.texi: Update.
68540         * doc/functions/printf.texi: Update.
68541         * doc/functions/snprintf.texi: Update.
68542         * doc/functions/sprintf.texi: Update.
68543         * doc/functions/vfprintf.texi: Update.
68544         * doc/functions/vprintf.texi: Update.
68545         * doc/functions/vsnprintf.texi: Update.
68546         * doc/functions/vsprintf.texi: Update.
68547
68548 2007-05-18  Bruno Haible  <bruno@clisp.org>
68549
68550         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
68551
68552 2007-05-18  Bruno Haible  <bruno@clisp.org>
68553
68554         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
68555         for printing 64-bit integers. Needed for mingw.
68556
68557 2007-05-18  Bruno Haible  <bruno@clisp.org>
68558
68559         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
68560         gl_FUNC_FREXPL_WORKS.
68561         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
68562
68563 2007-05-18  Bruno Haible  <bruno@clisp.org>
68564
68565         * modules/frexpl-nolibm-tests: New file.
68566
68567         * modules/frexpl-nolibm: New file.
68568         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
68569
68570 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
68571
68572         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
68573         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
68574         GCC 4.2, which otherwise issues a lot of warnings.
68575         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
68576         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
68577         Likewise.
68578         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
68579         * modules/iconv_open (iconv.h): Likewise.
68580         * modules/locale (locale.h): Likewise.
68581         * modules/netinet_in (netinet/in.h): Likewise.
68582         * modules/sys_select (sys_select.h): Likewise.
68583         * modules/sys_socket (sys/socket.h): Likewise.
68584         * modules/sys_stat (sys/stat.h): Likewise.
68585         * modules/sysexits (sysexits.h): Likewise.
68586         * modules/unistd (unistd.h): Likewise.
68587
68588 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68589
68590         * modules/closein-tests (Makefile.am): Distribute
68591         `test-closein.sh'.
68592
68593 2007-05-17  Bruno Haible  <bruno@clisp.org>
68594
68595         * tests/test-printf-posix.output: Renamed from
68596         tests/test-fprintf-posix.out.
68597         * modules/fprintf-posix-tests: Update.
68598         * modules/printf-posix-tests: Update.
68599         * modules/vfprintf-posix-tests: Update.
68600         * modules/vprintf-posix-tests: Update.
68601         * tests/test-fprintf-posix.sh: Update.
68602         * tests/test-printf-posix.sh: Update.
68603         * tests/test-vfprintf-posix.sh: Update.
68604         * tests/test-vprintf-posix.sh: Update.
68605         Reported by Ralf Wildenhues.
68606
68607 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
68608
68609         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
68610         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
68611         GCC 4.2, which otherwise issues a lot of warnings.
68612         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
68613         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
68614         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
68615         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
68616         it should no longer be needed.
68617         * lib/string_.h: Likewise.
68618         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
68619         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
68620         * modules/inttypes (inttypes.h): Likewise.
68621         * modules/math (math.h): Likewise.
68622         * modules/search (search.h): Likewise.
68623         * modules/signal (signal.h): Likewise.
68624         * modules/stdint (stdint.h): Likewise.
68625         * modules/stdio (stdio.h): Likewise.
68626         * modules/stdlib (stdlib.h): Likewise.
68627         * modules/string (string.h): Likewise.
68628         * modules/sys_time (sys/time.h): Likewise.
68629         * modules/time (time.h): Likewise.
68630         * modules/wchar (wchar.h): Likewise.
68631         * modules/wctype (wtype.h): Likewise.
68632
68633 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
68634
68635         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
68636
68637 2007-05-13  Bruno Haible  <bruno@clisp.org>
68638
68639         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
68640         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
68641         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
68642         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
68643         (gl_PREREQ_STRTOK_R): Don't require it here.
68644
68645 2007-05-13  Bruno Haible  <bruno@clisp.org>
68646
68647         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
68648         when used in C++ mode.
68649
68650 2007-05-12  Bruno Haible  <bruno@clisp.org>
68651
68652         * lib/linebuffer.h: Tweak doc.
68653         * lib/linebuffer.c: Likewise.
68654
68655 2007-05-12  James Youngman  <jay@gnu.org>
68656
68657         * lib/linebuffer.c (readlinebuffer_delim): New function,
68658         like readlinebuffer, but use a caller-specified delimiter.
68659         (readlinebuffer): Just call readlinebuffer_delim with '\n'
68660         as the delimiter.
68661         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
68662
68663 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
68664
68665         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
68666         * modules/openat (Files): Remove openat-die.c.
68667         (Depends-on): Add openat-die.
68668         * modules/openat-die: New module.
68669
68670 2007-05-06  Bruno Haible  <bruno@clisp.org>
68671
68672         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
68673         Update with info about Cygwin.
68674         * doc/functions/fprintf.texi: Update.
68675         * doc/functions/printf.texi: Update.
68676         * doc/functions/snprintf.texi: Update.
68677         * doc/functions/sprintf.texi: Update.
68678         * doc/functions/vfprintf.texi: Update.
68679         * doc/functions/vprintf.texi: Update.
68680         * doc/functions/vsnprintf.texi: Update.
68681         * doc/functions/vsprintf.texi: Update.
68682         Reported by Eric Blake.
68683
68684 2007-05-06  Bruno Haible  <bruno@clisp.org>
68685
68686         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
68687         padding ourselves for the floating-point directives.
68688         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
68689         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
68690         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
68691         gl_PRINTF_FLAG_ZERO and test its result. Invoke
68692         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
68693         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
68694         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
68695         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
68696         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
68697         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
68698         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
68699         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
68700         * tests/test-snprintf-posix.h (test_function): Also check the width
68701         and some flags in the %f directive.
68702         * tests/test-sprintf-posix.h (test_function): Likewise.
68703         * tests/test-vasnprintf-posix.c (test_function): Likewise.
68704         * tests/test-vasprintf-posix.c (test_function): Likewise.
68705         * doc/functions/fprintf.texi: Update.
68706         * doc/functions/printf.texi: Update.
68707         * doc/functions/snprintf.texi: Update.
68708         * doc/functions/sprintf.texi: Update.
68709         * doc/functions/vfprintf.texi: Update.
68710         * doc/functions/vprintf.texi: Update.
68711         * doc/functions/vsnprintf.texi: Update.
68712         * doc/functions/vsprintf.texi: Update.
68713
68714 2007-05-06  Bruno Haible  <bruno@clisp.org>
68715
68716         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
68717         pass the ' flag character to sprintf or snprintf.
68718         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
68719         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
68720         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
68721         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
68722         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
68723         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
68724         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
68725         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
68726         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
68727         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
68728         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
68729         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
68730         * tests/test-snprintf-posix.h (test_function): Also check the grouping
68731         flag.
68732         * tests/test-sprintf-posix.h (test_function): Likewise.
68733         * tests/test-vasnprintf-posix.c (test_function): Likewise.
68734         * tests/test-vasprintf-posix.c (test_function): Likewise.
68735         * doc/functions/fprintf.texi: Update.
68736         * doc/functions/printf.texi: Update.
68737         * doc/functions/snprintf.texi: Update.
68738         * doc/functions/sprintf.texi: Update.
68739         * doc/functions/vfprintf.texi: Update.
68740         * doc/functions/vprintf.texi: Update.
68741         * doc/functions/vsnprintf.texi: Update.
68742         * doc/functions/vsprintf.texi: Update.
68743
68744 2007-05-01  Bruno Haible  <bruno@clisp.org>
68745
68746         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
68747
68748 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
68749
68750         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
68751         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
68752
68753 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
68754
68755         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
68756         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
68757         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
68758
68759 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
68760
68761         * lib/argp-help.c (struct hol_entry): New member `ord'.
68762         (HOL_ENTRY_PTRCMP): Use ord for comparison
68763         (hol_sort): Initialize ord.
68764
68765 2007-05-01  Bruno Haible  <bruno@clisp.org>
68766
68767         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
68768         Reported by Eric Blake.
68769         * doc/gnulib.texi (Function Substitutes): Update.
68770
68771 2007-05-01  Bruno Haible  <bruno@clisp.org>
68772
68773         * doc/functions.texi: Remove file, now redundant through
68774         doc/functions/*.texi.
68775
68776 2007-05-01  Bruno Haible  <bruno@clisp.org>
68777
68778         * modules/argp (Depends-on): Add sleep.
68779
68780 2007-05-01  Bruno Haible  <bruno@clisp.org>
68781
68782         * modules/sleep-tests: New file.
68783         * tests/test-sleep.c: New file.
68784
68785         * modules/sleep: New file.
68786         * lib/sleep.c: New file.
68787         * m4/sleep.m4: New file.
68788         * lib/unistd_.h (sleep): New declaration.
68789         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
68790         HAVE_SLEEP.
68791         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
68792         * doc/functions/sleep.texi: Document the sleep module.
68793
68794 2007-05-01  Bruno Haible  <bruno@clisp.org>
68795
68796         * lib/sigprocmask.h: Remove file.
68797         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
68798         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
68799         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
68800         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
68801         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
68802         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
68803         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
68804         HAVE_SIGSET_T as a shell variable.
68805         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
68806         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
68807         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
68808         (Depends-on): Add signal. Remove verify.
68809         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
68810         (Include): Mention <signal.h> instead of sigprocmask.h.
68811         * NEWS: Mention the change.
68812         * lib/fatal-signal.c: Don't include sigprocmask.h.
68813
68814 2007-05-01  Bruno Haible  <bruno@clisp.org>
68815
68816         * modules/signal: New file.
68817         * lib/signal_.h: New file.
68818         * m4/signal_h.m4: New file.
68819
68820 2007-05-01  Bruno Haible  <bruno@clisp.org>
68821
68822         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
68823         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
68824         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
68825         HAVE_WCTYPE_CTMP_BUG into wctype.h.
68826
68827 2007-05-01  Bruno Haible  <bruno@clisp.org>
68828
68829         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
68830         configure time.
68831         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
68832         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
68833         * modules/sys_stat (Makefile.am): Substitute their values into
68834         sys/stat.h.
68835
68836 2007-05-01  Bruno Haible  <bruno@clisp.org>
68837
68838         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
68839         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
68840         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
68841
68842 2007-05-01  Bruno Haible  <bruno@clisp.org>
68843
68844         * doc/header/assert.texi: Undo last change: don't mention the gnulib
68845         'assert' module here.
68846
68847 2007-05-01  Bruno Haible  <bruno@clisp.org>
68848
68849         * doc/functions/*.texi: New files.
68850         * doc/functions/google-ranking.txt: New file.
68851         * doc/gnulib.texi (Function Substitutes): New chapter.
68852         (ctime, inet_ntoa): Remove sections.
68853         * doc/ctime.texi: Remove file.
68854         * doc/inet_ntoa.texi: Remove file.
68855         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
68856         dependencies.
68857         (%.info): New rule, specifying a --reference-limit.
68858
68859 2007-05-01  Bruno Haible  <bruno@clisp.org>
68860
68861         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
68862
68863 2007-05-01  Bruno Haible  <bruno@clisp.org>
68864
68865         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
68866         the portability of 'mkdir' to mingw systems.
68867
68868 2007-05-01  Bruno Haible  <bruno@clisp.org>
68869
68870         * doc/headers/google-ranking.txt: New file.
68871
68872 2007-04-30  Eric Blake  <ebb9@byu.net>
68873
68874         Prefer fseeko to fseek.
68875         * modules/getpass (Depends-on): Add fseeko.
68876         * lib/getpass.c (getpass): Use fseeko, not fseek.
68877
68878 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
68879
68880         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
68881         assumes the sorting is stable, while most qsort implementations
68882         are not.  Use argument addresses to ensure they never compare as
68883         equal.
68884
68885         * tests/test-argp-2.sh (usage-indent test): Fix output
68886         (func_compare): Restore diff options
68887         * tests/test-argp.c: Restore #include "progname.h"
68888
68889 2007-04-29  Bruno Haible  <bruno@clisp.org>
68890
68891         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
68892         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
68893         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
68894         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
68895         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
68896         (configure.ac): Define CHECK_SNPRINTF_POSIX.
68897         (TESTS, check_PROGRAMS): Add test-snprintf.
68898         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
68899         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
68900         (TESTS, check_PROGRAMS): Add test-vsnprintf.
68901         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
68902         assertions that fail on HP-UX, OSF/1, or IRIX.
68903         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
68904
68905 2007-04-29  Bruno Haible  <bruno@clisp.org>
68906
68907         * MODULES.html.sh (posix_functions): Remove 'contents'.
68908
68909 2007-04-29  Karl Berry  <karl@gnu.org>
68910
68911         * config/srclist.txt (gendocs_template_min): new entry.
68912
68913 2007-04-29  Bruno Haible  <bruno@clisp.org>
68914
68915         Work around fpurge bug on BSD systems.
68916         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
68917         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
68918         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
68919         fpurge to rpl_fpurge if the system already has this function.
68920         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
68921         the case where the system already has this function. Correct invariants
68922         on BSD systems.
68923         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
68924         BSD systems.
68925
68926 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
68927
68928         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
68929         proposed by Sven Verdoolaege.
68930
68931         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
68932         options.
68933         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
68934         (usage and help tests): Update
68935
68936 2007-04-29  Bruno Haible  <bruno@clisp.org>
68937
68938         * tests/test-fflush.c (main): Use a file of size 17, not 10.
68939         Print more information in case of failure. Disable a test on BeOS.
68940
68941 2007-04-29  Bruno Haible  <bruno@clisp.org>
68942
68943         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
68944         This helps debugging on systems on which no gdb is available.
68945
68946 2007-04-29  Bruno Haible  <bruno@clisp.org>
68947
68948         * lib/freading.h: Improve comments.
68949         * lib/fwriting.h: Likewise.
68950         * tests/test-freading.c (main): Don't check freading immediately after
68951         repositioning. Needed for glibc.
68952
68953 2007-04-29  Bruno Haible  <bruno@clisp.org>
68954
68955         * lib/freading.c (freading): Trivial simplification.
68956
68957 2007-04-28  Bruno Haible  <bruno@clisp.org>
68958
68959         * tests/test-fwriting.c (main): Also test the interaction between
68960         fflush and fwriting.
68961         * modules/fwriting-tests (Depends-on): Add fflush.
68962
68963         * tests/test-freading.c (main): Also test the interaction between
68964         fflush and freading.
68965         * modules/freading-tests (Depends-on): Add fflush.
68966
68967 2007-04-28  Bruno Haible  <bruno@clisp.org>
68968
68969         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
68970         fseeko and ftello.
68971         Suggested by Eric Blake.
68972
68973 2007-04-28  Jim Meyering  <jim@meyering.net>
68974
68975         Avoid false-negative in gl_STDINT_H's C99 conformance test.
68976         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
68977         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
68978
68979 2007-04-27  Eric Blake  <ebb9@byu.net>
68980
68981         * doc/headers/assert.texi (assert.h): Document assert module use.
68982
68983 2007-04-27  Bruno Haible  <bruno@clisp.org>
68984
68985         * doc/headers/*.texi: New files.
68986         * doc/gnulib.texi (Header File Substitutes): New chapter.
68987         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
68988         dependencies.
68989         (standards.info ,standards.html, standards.dvi): Update dependencies.
68990         (mostlyclean, clean): New targets.
68991
68992 2007-04-27  Bruno Haible  <bruno@clisp.org>
68993
68994         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
68995         * modules/sysexits (Files, Makefile.am): Update.
68996
68997         * lib/sys_socket_.h: Renamed from lib/socket_.h.
68998         * modules/sys_socket (Files, Makefile.am): Update.
68999
69000         * lib/sys_stat_.h: Renamed from lib/stat_.h.
69001         * modules/sys_stat (Files, Makefile.am): Update.
69002
69003 2007-04-27  Eric Blake  <ebb9@byu.net>
69004
69005         * lib/freading.h: Improve comments.
69006         * lib/fwriting.h: Likewise.
69007         * lib/fflush.c: Likewise.
69008
69009         Fix closein for mingw.
69010         * modules/closein-tests: Add tests for closein.
69011         * tests/test-closein.c: New file.
69012         * tests/test-closein.sh: Likewise.
69013         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
69014         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
69015
69016 2007-04-27  Bruno Haible  <bruno@clisp.org>
69017
69018         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
69019         version is < 6.
69020         * lib/math_.h [__DECC]: Likewise.
69021         * lib/stdio_.h [__DECC]: Likewise.
69022         * lib/stdlib_.h [__DECC]: Likewise.
69023         * lib/string_.h [__DECC]: Likewise.
69024         * lib/time_.h [__DECC]: Likewise.
69025         * lib/wchar_.h [__DECC]: Likewise.
69026         * lib/wctype_.h [__DECC]: Likewise.
69027
69028 2007-04-27  Bruno Haible  <bruno@clisp.org>
69029
69030         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
69031
69032 2007-04-27  Bruno Haible  <bruno@clisp.org>
69033
69034         * lib/fflush.c: Add comments.
69035         * modules/fpurge-tests (Depends-on): Add fflush.
69036         * modules/freadable-tests (Depends-on): Likewise.
69037         * modules/fwritable-tests (Depends-on): Likewise.
69038
69039 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
69040
69041         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
69042         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
69043         Report by Bruno Haible <bruno@clisp.org>.
69044
69045 2007-04-26  Eric Blake  <ebb9@byu.net>
69046
69047         Fix fflush on mingw.
69048         * modules/fflush (Depends-on): Add freading.
69049         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
69050         but unread data.
69051
69052 2007-04-26  Eric Blake  <ebb9@byu.net>
69053         and Bruno Haible  <bruno@clisp.org>
69054
69055         Implement freading and fwriting.
69056         * lib/freading.c: New file.
69057         * lib/freading.h: Likewise.
69058         * m4/freading.m4: Likewise.
69059         * modules/freading: Likewise.
69060         * modules/freading-tests: Likewise.
69061         * tests/test-freading.c: Likewise.
69062         * lib/fwriting.c: New file.
69063         * lib/fwriting.h: Likewise.
69064         * m4/fwriting.m4: Likewise.
69065         * modules/fwriting: Likewise.
69066         * modules/fwriting-tests: Likewise.
69067         * tests/test-fwriting.c: Likewise.
69068         * MODULES.html.sh (File stream based Input/Output): Mention them.
69069
69070 2007-04-26  Bruno Haible  <bruno@clisp.org>
69071
69072         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
69073         'long' when we assume it.
69074         Suggested by Eric Blake.
69075
69076 2007-04-26  Bruno Haible  <bruno@clisp.org>
69077
69078         Ensure fseeko, ftello are declared on glibc systems.
69079         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
69080         * modules/fseeko (configure.ac-early): Likewise.
69081         * modules/ftello (configure.ac-early): Likewise.
69082         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
69083         AC_FUNC_FSEEKO for this.
69084         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
69085         (gl_CHECK_FSEEKO): Remove macro.
69086
69087 2007-04-26  Bruno Haible  <bruno@clisp.org>
69088
69089         * tests/test-fflush.c (main): Also check the ftell result after
69090         fflush and fseek/fseeko.
69091         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
69092         file descriptor position cache in the stream.
69093         * lib/fseeko.c (rpl_fseeko): Likewise.
69094
69095 2007-04-26  Bruno Haible  <bruno@clisp.org>
69096
69097         * modules/fflush-tests (Depends-on): Add fseeko.
69098
69099 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
69100             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69101
69102         * lib/argz_.h: ensure error_t definition is obtained in same
69103         mechanism system argz.h would have.
69104         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
69105         argz facilities are known bad.  Err on the side of caution if
69106         cross-compiling.
69107
69108 2007-04-25  Eric Blake  <ebb9@byu.net>
69109
69110         * lib/fpurge.c (includes): Use stdlib.h for free.
69111         * tests/test-fflush.c (main): Also test fflush-fseeko.
69112
69113 2007-04-25  Bruno Haible  <bruno@clisp.org>
69114
69115         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
69116         * lib/fseeko.c: New file.
69117         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
69118         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
69119         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
69120         gl_FUNC_FSEEKO.
69121         (gl_FUNC_FSEEKO): Invoke it.
69122         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
69123         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
69124         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
69125
69126 2007-04-25  Bruno Haible  <bruno@clisp.org>
69127
69128         * modules/fflush (Depends-on): Add ftello.
69129
69130 2007-04-25  Bruno Haible  <bruno@clisp.org>
69131
69132         * modules/ftello-tests: New file.
69133         * tests/test-ftello.c: New file.
69134
69135         * modules/ftello: New file.
69136         * m4/ftello.m4: New file.
69137         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
69138         HAVE_FTELLO.
69139         * lib/stdio_.h (ftello): New declaration.
69140         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
69141         HAVE_FTELLO.
69142
69143 2007-04-25  Bruno Haible  <bruno@clisp.org>
69144
69145         * modules/fseeko-tests: New file.
69146         * tests/test-fseeko.c: New file.
69147
69148         * modules/fseeko: New file.
69149         * m4/fseeko.m4: New file.
69150         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
69151         HAVE_FSEEKO.
69152         * lib/stdio_.h (fseeko): New declaration.
69153         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
69154         HAVE_FSEEKO.
69155
69156 2007-04-25  Bruno Haible  <bruno@clisp.org>
69157
69158         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
69159
69160 2007-04-25  Bruno Haible  <bruno@clisp.org>
69161
69162         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
69163         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
69164         * tests/test-unistd.c: Likewise.
69165         * tests/test-fcntl.c: Likewise.
69166
69167 2007-04-23  Eric Blake  <ebb9@byu.net>
69168
69169         * lib/fflush.c: Fix missing include.
69170         Reported by Bruno Haible.
69171
69172 2007-04-23  Bruno Haible  <bruno@clisp.org>
69173
69174         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
69175         Reported by Eric Blake.
69176
69177 2007-04-23  Bruno Haible  <bruno@clisp.org>
69178
69179         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
69180
69181 2007-04-23  Bruno Haible  <bruno@clisp.org>
69182
69183         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
69184
69185 2007-04-23  Bruno Haible  <bruno@clisp.org>
69186
69187         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
69188         Needed on HP-UX 11.
69189
69190 2007-04-16  Eric Blake  <ebb9@byu.net>
69191
69192         Make fflush rely on fpurge.
69193         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
69194         open coding all variants.
69195         * modules/fflush (Depends-on): Add fpurge and unistd.
69196         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
69197         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
69198
69199         Fix --with-tests compilation on cygwin.
69200         * modules/argmatch-tests (Makefile.am): List gnulib library first
69201         in LDADD.
69202         * modules/argp-tests (Makefile.am): Likewise.
69203         * modules/array-list-tests (Makefile.am): Likewise.
69204         * modules/array-oset-tests (Makefile.am): Likewise.
69205         * modules/avltree-list-tests (Makefile.am): Likewise.
69206         * modules/avltree-oset-tests (Makefile.am): Likewise.
69207         * modules/avltreehash-list-tests (Makefile.am): Likewise.
69208         * modules/carray-list-tests (Makefile.am): Likewise.
69209         * modules/dirname-tests (Makefile.am): Likewise.
69210         * modules/frexp-tests (Makefile.am): Likewise.
69211         * modules/isnanl-tests (Makefile.am): Likewise.
69212         * modules/linked-list-tests (Makefile.am): Likewise.
69213         * modules/linkedhash-list-tests (Makefile.am): Likewise.
69214         * modules/lock-tests (Makefile.am): Likewise.
69215         * modules/rbtree-list-tests (Makefile.am): Likewise.
69216         * modules/rbtree-oset-tests (Makefile.am): Likewise.
69217         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
69218         * modules/tls-tests (Makefile.am): Likewise.
69219         * modules/tsearch-tests (Makefile.am): Likewise.
69220         * modules/xvasprintf-tests (Makefile.am): Likewise.
69221
69222         Fix fpurge for cygwin.
69223         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
69224         value.
69225         * modules/fpurge-tests (Depends-on): Clean up trash.
69226
69227 2007-04-16  Simon Josefsson  <simon@josefsson.org>
69228
69229         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
69230
69231         * m4/autobuild.m4: Re-indent.
69232
69233 2007-04-13  Bruno Haible  <bruno@clisp.org>
69234
69235         * modules/fpurge-tests: New file.
69236         * tests/test-fpurge.c: New file.
69237
69238         * modules/fpurge: New file.
69239         * lib/fpurge.h: New file.
69240         * lib/fpurge.c: New file.
69241         * m4/fpurge.m4: New file.
69242
69243 2007-04-13  Bruno Haible  <bruno@clisp.org>
69244
69245         * modules/fbufmode-tests: New file.
69246         * tests/test-fbufmode.c: New file.
69247
69248         * modules/fbufmode: New file.
69249         * lib/fbufmode.h: New file.
69250         * lib/fbufmode.c: New file.
69251         * m4/fbufmode.m4: New file.
69252
69253 2007-04-13  Bruno Haible  <bruno@clisp.org>
69254
69255         * modules/fwritable-tests: New file.
69256         * tests/test-fwritable.c: New file.
69257
69258         * modules/fwritable: New file.
69259         * lib/fwritable.h: New file.
69260         * lib/fwritable.c: New file.
69261         * m4/fwritable.m4: New file.
69262
69263 2007-04-13  Bruno Haible  <bruno@clisp.org>
69264
69265         * modules/freadable-tests: New file.
69266         * tests/test-freadable.c: New file.
69267
69268         * modules/freadable: New file.
69269         * lib/freadable.h: New file.
69270         * lib/freadable.c: New file.
69271         * m4/freadable.m4: New file.
69272
69273 2007-04-13  Bruno Haible  <bruno@clisp.org>
69274
69275         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
69276         MOSTLYCLEANFILES.
69277
69278 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
69279
69280         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
69281         gzip bootstrap.conf to avoid dragging in i18n machinery.
69282         (gnulib_tool_option): Use it.
69283
69284 2007-04-13  Bruno Haible  <bruno@clisp.org>
69285
69286         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
69287         %F directives.
69288         * tests/test-vasprintf-posix.c (test_function): Likewise.
69289         * tests/test-snprintf-posix.h (test_function): Likewise.
69290         * tests/test-sprintf-posix.h (test_function): Likewise.
69291         * tests/test-fprintf-posix.h (test_function): Likewise.
69292         * tests/test-printf-posix.h (test_function): Likewise.
69293         * tests/test-fprintf-posix.out: Likewise.
69294
69295 2007-04-13  Bruno Haible  <bruno@clisp.org>
69296
69297         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
69298         * modules/tls-tests (configure.ac): Likewise.
69299         Reported by Arto C. Nirkko <anirkko@insel.ch>.
69300
69301 2007-04-13  Bruno Haible  <bruno@clisp.org>
69302
69303         * lib/tls.c (glthread_tls_get): Fix return type.
69304         Patch by Arto C. Nirkko <anirkko@insel.ch>.
69305
69306 2007-04-12  Eric Blake  <ebb9@byu.net>
69307
69308         * modules/gettime (Depends-on): Remove gettime.
69309         Reported by Dmitry V. Levin.
69310
69311 2007-04-12  Bruno Haible  <bruno@clisp.org>
69312
69313         * modules/fflush (Include): Mention <stdio.h>.
69314         * modules/strtoimax (Include): Mention <inttypes.h>.
69315         * modules/strtoumax (Include): Likewise.
69316
69317 2007-04-12  Eric Blake  <ebb9@byu.net>
69318
69319         * .cvsignore: New file.
69320         * .gitignore: Likewise.
69321
69322 2007-04-12  Bruno Haible  <bruno@clisp.org>
69323
69324         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
69325         not before, since $(LDADD) often contains libgnu.a.
69326         * modules/striconv-tests (test_striconv_LDADD): Likewise.
69327         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
69328         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
69329         Needed on Cygwin.
69330
69331 2007-04-12  Eric Blake  <ebb9@byu.net>
69332
69333         Work around glibc's failure to flush stdin on fclose.
69334         * lib/closein.c (close_stdin): Flush stdin before closing.
69335
69336         Work around glibc's failure to reset seekable stdin on exit.
69337         * modules/closein: New module.
69338         * lib/closein.c: New file.
69339         * lib/closein.h: Likewise.
69340         * m4/closein.m4: Likewise.
69341         * MODULES.html.sh (File stream based Input/Output): Document it.
69342
69343 2007-04-12  Simon Josefsson  <simon@josefsson.org>
69344
69345         * gnulib-tool: Rename generated 'autobuild' script to
69346         'do-autobuild' in --create-megatestdir output.
69347
69348         * doc/gnulib.texi (Build robot for gnulib): Fix.
69349
69350 2007-04-12  Simon Josefsson  <simon@josefsson.org>
69351
69352         * modules/sysexits (Depends-on): Add absolute-header.
69353
69354 2007-04-12  Eric Blake  <ebb9@byu.net>
69355
69356         No need to preserve errno on success.
69357         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
69358         Reported by Bruno Haible.
69359
69360 2007-04-12  Simon Josefsson  <simon@josefsson.org>
69361
69362         * MODULES.html.sh (Support for maintaining and releasing
69363         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
69364
69365 2007-04-12  Simon Josefsson  <simon@josefsson.org>
69366
69367         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
69368
69369 2007-04-12  Simon Josefsson  <simon@josefsson.org>
69370
69371         * modules/autobuild: New module.
69372
69373         * m4/autobuild.m4: New file.
69374
69375 2007-04-11  Bruno Haible  <bruno@clisp.org>
69376
69377         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
69378         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
69379         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
69380         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
69381         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
69382         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
69383         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
69384         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
69385         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
69386         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
69387         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
69388         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
69389         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
69390         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
69391         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
69392         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
69393         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
69394         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
69395         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
69396         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
69397         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
69398         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
69399         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
69400         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
69401         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
69402         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
69403         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
69404         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
69405         Reported by Eric Blake.
69406
69407 2007-04-11  Bruno Haible  <bruno@clisp.org>
69408
69409         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
69410
69411 2007-04-10  Bruno Haible  <bruno@clisp.org>
69412
69413         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
69414         for NaN and Infinity. Needed on FreeBSD 6.1.
69415         * tests/test-vasnprintf-posix.c (test_function): Undo last change
69416         regarding results for "%010a" of Infinity and NaN.
69417         * tests/test-vasprintf-posix.c (test_function): Likewise.
69418         * tests/test-snprintf-posix.h (test_function): Likewise.
69419         * tests/test-sprintf-posix.h (test_function): Likewise.
69420         * tests/test-fprintf-posix.h (test_function): Likewise.
69421         * tests/test-printf-posix.h (test_function): Likewise.
69422         * tests/test-fprintf-posix.out: Likewise.
69423
69424 2007-04-10  Bruno Haible  <bruno@clisp.org>
69425
69426         * modules/locale-tests: New file.
69427         * tests/test-locale.c: New file.
69428
69429         * modules/locale: New file.
69430         * lib/locale_.h: New file.
69431         * m4/locale_h.m4: New file.
69432
69433 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
69434             Bruno Haible  <bruno@clisp.org>
69435
69436         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
69437         be determined, test for availability of the copysignf, copysign,
69438         copysignl functions.
69439         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
69440         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
69441         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
69442
69443 2007-04-09  Eric Blake  <ebb9@byu.net>
69444
69445         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
69446         * modules/stdio (Makefile.am): Support fflush.
69447         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
69448         * modules/fflush: New file.
69449         * lib/fflush.c: Likewise.
69450         * m4/fflush.m4: Likewise.
69451         * modules/fflush-tests: New test.
69452         * tests/test-fflush.c: Likewise.
69453         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
69454
69455 2007-04-06  Bruno Haible  <bruno@clisp.org>
69456
69457         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
69458         (VASNPRINTF): Use signbit for faster determination whether to print a
69459         minus sign.
69460         * modules/vasnprintf (Files): Remove lib/float+.h.
69461         * modules/fprintf-posix (Depends-on): Add signbit.
69462         * modules/snprintf-posix (Depends-on): Likewise.
69463         * modules/sprintf-posix (Depends-on): Likewise.
69464         * modules/vasnprintf-posix (Depends-on): Likewise.
69465         * modules/vasprintf-posix (Depends-on): Likewise.
69466         * modules/vfprintf-posix (Depends-on): Likewise.
69467         * modules/vsnprintf-posix (Depends-on): Likewise.
69468         * modules/vsprintf-posix (Depends-on): Likewise.
69469
69470 2007-04-06  Bruno Haible  <bruno@clisp.org>
69471
69472         * tests/test-frexp.c (main): Test also the sign bit of zero results.
69473         * tests/test-frexpl.c (main): Likewise.
69474         * tests/test-ldexpl.c (main): Likewise.
69475         * modules/frexp-tests (Depends-on): Add signbit.
69476         * modules/frexpl-tests (Depdends-on): Likewise.
69477         * modules/ldexpl-tests (Depdends-on): Likewise.
69478
69479 2007-04-06  Bruno Haible  <bruno@clisp.org>
69480
69481         * modules/signbit-tests: New file.
69482         * tests/test-signbit.c: New file.
69483
69484         * modules/signbit: New file.
69485         * lib/signbitf.c: New file.
69486         * lib/signbitd.c: New file.
69487         * lib/signbitl.c: New file.
69488         * m4/signbit.m4: New file.
69489         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
69490         (signbit): New macro.
69491         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
69492         REPLACE_SIGNBIT.
69493         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
69494         REPLACE_FREXPL into math.h.
69495
69496 2007-04-06  Bruno Haible  <bruno@clisp.org>
69497
69498         * modules/isnanf-nolibm-tests: New file.
69499         * tests/test-isnanf.c: New file.
69500
69501         * modules/isnanf-nolibm: New file.
69502         * lib/isnanf.h: New file.
69503         * lib/isnanf.c: New file.
69504         * lib/isnan.c: Consider the USE_FLOAT macro.
69505         * m4/isnanf.m4: New file.
69506
69507 2007-04-06  Bruno Haible  <bruno@clisp.org>
69508
69509         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
69510         (Link): New section.
69511
69512         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
69513
69514 2007-04-06  Bruno Haible  <bruno@clisp.org>
69515
69516         Assume the 'long double' type.
69517         * m4/longdouble.m4: Remove file.
69518         * config/srclist.txt: Don't mention longdouble.m4.
69519         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
69520         * lib/float+.h: Likewise.
69521         * lib/frexp.c: Likewise.
69522         * lib/printf-args.h: Likewise.
69523         * lib/printf-args.c: Likewise.
69524         * lib/printf-frexp.c: Likewise.
69525         * lib/printf-parse.c: Likewise.
69526         * lib/vasnprintf.c: Likewise.
69527         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
69528         * m4/intl.m4: Likewise.
69529         * m4/isnanl.m4: Likewise.
69530         * m4/printf.m4: Likewise.
69531         * m4/printf-frexpl.m4: Likewise.
69532         * m4/vasnprintf.m4: Likewise.
69533         * modules/allocsa (Files): Remove m4/longdouble.m4.
69534         * modules/gettext (Files): Likewise.
69535         * modules/relocatable-prog-wrapper (Files): Likewise.
69536         * modules/vasnprintf (Files): Likewise.
69537         * modules/isnanl (Files): Likewise.
69538         (Include): Simplify.
69539         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
69540         (Include): Simplify.
69541         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
69542         (Include): Simplify.
69543         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
69544         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
69545         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
69546         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
69547         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
69548         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
69549         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
69550         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
69551         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
69552         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
69553         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
69554         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
69555         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
69556         * tests/test-isnanl.c: Likewise.
69557         * tests/test-snprintf-posix.h: Likewise.
69558         * tests/test-sprintf-posix.h: Likewise.
69559         * tests/test-vasnprintf-posix.c: Likewise.
69560         * tests/test-vasnprintf-posix2.c: Likewise.
69561         * tests/test-vasprintf-posix.c: Likewise.
69562
69563 2007-04-06  Bruno Haible  <bruno@clisp.org>
69564
69565         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
69566         * lib/math_.h [__DECC]: Include the overridden include file through
69567         #include_next, outside the double-inclusion guard.
69568         * lib/stdio_.h [__DECC]: Likewise.
69569         * lib/stdlib_.h [__DECC]: Likewise.
69570         * lib/string_.h [__DECC]: Likewise.
69571         * lib/time_.h [__DECC]: Likewise.
69572         * lib/wchar_.h [__DECC]: Likewise.
69573         * lib/wctype_.h [__DECC]: Likewise.
69574         * lib/inttypes_.h [__DECC]: Likewise.
69575         Reported by Albert Chin <china@thewrittenword.com> in
69576         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
69577
69578 2007-04-04  Eric Blake  <ebb9@byu.net>
69579
69580         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
69581         1.5.x.
69582
69583 2007-04-04  Bruno Haible  <bruno@clisp.org>
69584
69585         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
69586         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
69587
69588 2007-04-04  Bruno Haible  <bruno@clisp.org>
69589
69590         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
69591         results for "%010a" of Infinity and NaN.
69592         * tests/test-vasprintf-posix.c (test_function): Likewise.
69593         * tests/test-snprintf-posix.h (test_function): Likewise.
69594         * tests/test-sprintf-posix.h (test_function): Likewise.
69595         * tests/test-fprintf-posix.h (test_function): Remove these tests.
69596         * tests/test-printf-posix.h (test_function): Likewise.
69597         * tests/test-fprintf-posix.out: Update.
69598         Needed for FreeBSD 6.1.
69599
69600 2007-04-04  Bruno Haible  <bruno@clisp.org>
69601
69602         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
69603         directly used by the gnulib modules nor by gnulib-tool.
69604
69605 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
69606
69607         * DEPENDENCIES: Give overall description of version dependency
69608         desirability.  Use more-typical names for apps.
69609         Add shell, coreutils, diffutils, grep, tar, gzip.
69610
69611 2007-04-04  Simon Josefsson  <simon@josefsson.org>
69612
69613         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
69614
69615 2007-04-04  Karl Berry  <karl@gnu.org>
69616
69617         * MODULES.html.sh (func_module): missing '.
69618
69619 2007-04-03  Bruno Haible  <bruno@clisp.org>
69620
69621         * modules/argmatch-tests (Makefile.am): New variable
69622         test_argmatch_LDADD.
69623         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
69624         * modules/array-list-tests (Makefile.am): New variable
69625         test_array_list_LDADD.
69626         * modules/array-oset-tests (Makefile.am): New variable
69627         test_array_oset_LDADD.
69628         * modules/avltree-list-tests (Makefile.am): New variable
69629         test_avltree_list_LDADD.
69630         * modules/avltree-oset-tests (Makefile.am): New variable
69631         test_avltree_oset_LDADD.
69632         * modules/avltreehash-list-tests (Makefile.am): New variable
69633         test_avltreehash_list_LDADD.
69634         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
69635         test_canonicalize_lgpl_LDADD.
69636         * modules/carray-list-tests (Makefile.am): New variable
69637         test_carray_list_LDADD.
69638         * modules/dirname-tests (Makefile.am): New variable
69639         test_dirname_LDADD.
69640         * modules/linked-list-tests (Makefile.am): New variable
69641         test_linked_list_LDADD.
69642         * modules/linkedhash-list-tests (Makefile.am): New variable
69643         test_linkedhash_list_LDADD.
69644         * modules/rbtree-list-tests (Makefile.am): New variable
69645         test_rbtree_list_LDADD.
69646         * modules/rbtree-oset-tests (Makefile.am): New variable
69647         test_rbtree_oset_LDADD.
69648         * modules/rbtreehash-list-tests (Makefile.am): New variable
69649         test_rbtreehash_list_LDADD.
69650         * modules/xvasprintf-tests (Makefile.am): New variable
69651         test_xvasprintf_LDADD.
69652         Reported by Eric Blake.
69653
69654 2007-04-03  Eric Blake  <ebb9@byu.net>
69655
69656         * DEPENDENCIES: Weaken m4 requirements.
69657
69658 2007-04-03  Bruno Haible  <bruno@clisp.org>
69659
69660         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
69661         * modules/isnanl-tests (configure.ac): Likewise.
69662
69663 2007-04-03  Ben Pfaff  <blp@gnu.org>
69664
69665         * modules/iconv_open: Add $(srcdir)/ to source directory
69666         references in Makefile fragments that call gperf, to fix VPATH
69667         builds.
69668
69669 2007-04-03  Bruno Haible  <bruno@clisp.org>
69670
69671         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
69672         * lib/ldexpl.c: Undo last change.
69673
69674 2007-04-03  Bruno Haible  <bruno@clisp.org>
69675
69676         * modules/printf-frexpl (Depends-on): Undo last change.
69677         (Files): Add m4/ldexpl.m4.
69678
69679 2007-04-03  Bruno Haible  <bruno@clisp.org>
69680
69681         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
69682         * modules/isnanl (Link): New section.
69683
69684         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
69685         * modules/frexp (Link): New section.
69686
69687         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
69688         * modules/frexpl (Link): New section.
69689
69690         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
69691         * modules/ldexpl (Link): New section.
69692
69693 2007-04-03  Bruno Haible  <bruno@clisp.org>
69694
69695         * modules/TEMPLATE-EXTENDED: New file.
69696         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
69697
69698 2007-04-03  Bruno Haible  <bruno@clisp.org>
69699
69700         * DEPENDENCIES: New file.
69701         Suggested by Simon Josefsson.
69702
69703 2007-04-03  Bruno Haible  <bruno@clisp.org>
69704
69705         * doc/gnulib.texi: Escape @.
69706
69707 2007-04-03  James Youngman  <jay@gnu.org>
69708         and Paul Eggert  <eggert@cs.ucla.edu>
69709
69710         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
69711         birthtime on all systems that have birthtime, not just those which
69712         use st_birthtimensec rather than st_birthtim.  Putting zero in
69713         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
69714         that the birth time is not available for files on an NFS mount.
69715
69716 2007-04-03  Simon Josefsson  <simon@josefsson.org>
69717
69718         * modules/memxor: Move back from crypto/, suggested by Bruno.
69719         * modules/crypto/hmac-sha1: Fix memxor dependency.
69720
69721         * modules/crypto/gc: Moved from ../.
69722
69723 2007-04-02  Eric Blake  <ebb9@byu.net>
69724
69725         * lib/ldexpl.c (includes): Avoid libm.
69726
69727         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
69728
69729 2007-04-02  Bruno Haible  <bruno@clisp.org>
69730
69731         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
69732         on IRIX.
69733
69734 2007-04-02  Bruno Haible  <bruno@clisp.org>
69735
69736         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
69737         x86 or x86_64 platforms running MacOS X.
69738         Reported by Ryan Schmidt <@ryandesign.com>.
69739
69740 2007-04-02  Bruno Haible  <bruno@clisp.org>
69741
69742         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
69743         i386.
69744
69745 2007-04-01  Simon Josefsson  <simon@josefsson.org>
69746
69747         * modules/crypto/arcfour: Moved from ../.
69748         * modules/crypto/arcfour-tests: Moved from ../.
69749         * modules/crypto/arctwo: Moved from ../.
69750         * modules/crypto/arctwo-tests: Moved from ../.
69751         * modules/crypto/des: Moved from ../.
69752         * modules/crypto/des-tests: Moved from ../.
69753         * modules/crypto/gc-arcfour: Moved from ../.
69754         * modules/crypto/gc-arcfour-tests: Moved from ../.
69755         * modules/crypto/gc-arctwo: Moved from ../.
69756         * modules/crypto/gc-arctwo-tests: Moved from ../.
69757         * modules/crypto/gc-des: Moved from ../.
69758         * modules/crypto/gc-des-tests: Moved from ../.
69759         * modules/crypto/gc-hmac-md5: Moved from ../.
69760         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
69761         * modules/crypto/gc-hmac-sha1: Moved from ../.
69762         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
69763         * modules/crypto/gc-md2: Moved from ../.
69764         * modules/crypto/gc-md2-tests: Moved from ../.
69765         * modules/crypto/gc-md4: Moved from ../.
69766         * modules/crypto/gc-md4-tests: Moved from ../.
69767         * modules/crypto/gc-md5: Moved from ../.
69768         * modules/crypto/gc-md5-tests: Moved from ../.
69769         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
69770         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
69771         * modules/crypto/gc-random: Moved from ../.
69772         * modules/crypto/gc-rijndael: Moved from ../.
69773         * modules/crypto/gc-rijndael-tests: Moved from ../.
69774         * modules/crypto/gc-sha1: Moved from ../.
69775         * modules/crypto/gc-sha1-tests: Moved from ../.
69776         * modules/crypto/gc-tests: Moved from ../.
69777         * modules/crypto/hmac-md5: Moved from ../.
69778         * modules/crypto/hmac-md5-tests: Moved from ../.
69779         * modules/crypto/hmac-sha1: Moved from ../.
69780         * modules/crypto/hmac-sha1-tests: Moved from ../.
69781         * modules/crypto/md2: Moved from ../.
69782         * modules/crypto/md2-tests: Moved from ../.
69783         * modules/crypto/md4: Moved from ../.
69784         * modules/crypto/md4-tests: Moved from ../.
69785         * modules/crypto/md5: Moved from ../.
69786         * modules/crypto/md5-tests: Moved from ../.
69787         * modules/crypto/memxor: Moved from ../.
69788         * modules/crypto/rijndael: Moved from ../.
69789         * modules/crypto/rijndael-tests: Moved from ../.
69790         * modules/crypto/sha1: Moved from ../.
69791
69792 2007-03-30  James Youngman  <jay@gnu.org>
69793
69794         * tests/test-stat-time.c (prepare_test): use chmod() rather than
69795         rename() to change the ctime of a file (because ctime is unaffected
69796         by rename on jfs2 on AIX 5.1).
69797         (main): Start by doing cleanup, in case a previous run failed leaving
69798         test files behind.
69799
69800 2007-03-31  Bruno Haible  <bruno@clisp.org>
69801
69802         Support old proprietary implementations of iconv.
69803         * modules/iconv_open: New file.
69804         * lib/iconv_.h: New file.
69805         * m4/iconv_h.m4: New file.
69806         * lib/iconv_open.c: New file.
69807         * lib/iconv_open-aix.gperf: New file.
69808         * lib/iconv_open-hpux.gperf: New file.
69809         * lib/iconv_open-irix.gperf: New file.
69810         * lib/iconv_open-osf.gperf: New file.
69811         * m4/iconv_open.m4: New file.
69812         * modules/linebreak (Depends-on): Add iconv_open.
69813         * modules/striconv (Depends-on): Likewise.
69814         * modules/striconveh (Depends-on): Likewise.
69815         * modules/unicodeio (Depends-on): Likewise.
69816         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
69817         (iconv_t)(-1).
69818         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
69819         conversion if cd is (iconv_t)(-1).
69820         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
69821         is not possible.
69822
69823 2007-03-31  Bruno Haible  <bruno@clisp.org>
69824
69825         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
69826         work on Solaris either. Protect also second use of "autodetect_jp".
69827
69828 2007-03-31  Bruno Haible  <bruno@clisp.org>
69829
69830         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
69831         the function is not present.
69832
69833 2007-03-31  Bruno Haible  <bruno@clisp.org>
69834
69835         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
69836         the function is not present.
69837
69838 2007-03-31  Bruno Haible  <bruno@clisp.org>
69839
69840         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
69841         a bug in HP-UX iconv_open().
69842
69843 2007-03-31  Bruno Haible  <bruno@clisp.org>
69844
69845         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
69846         (Mathematics <math.h>): New section, add fpieee.
69847         (Input/output <stdio.h>): Add fseterr.
69848         (Mathematics <math.h>): New section, add printf-frexp.
69849         (Container data structures): Add sublist.
69850         (Core language properties): Add fpucw, inline.
69851         (Functions for greatest-width integer types <inttypes.h>): Add
69852         imaxabs, imaxdiv, inttypes.
69853         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
69854         isnanl-nolibm, ldexp.
69855         (Mathematics <math.h>): New section, add printf-frexpl.
69856         (Support for systems lacking POSIX:2001): Add fprintf-posix,
69857         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
69858         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
69859         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
69860         (Unicode string functions): Add unistr/u*-mbtoucr.
69861         (Java): Add javacomp-script, javaexec-script.
69862         (C#): Add csharpcomp-script, csharpexec-script.
69863         (Support for building libraries and executables): Add havelib,
69864         relocatable-*.
69865         (Support for maintaining and releasing projects): Renamed from
69866         'Support for maintaining and release projects'. Add announce-gen.
69867
69868 2007-03-31  Bruno Haible  <bruno@clisp.org>
69869
69870         * README: Talk primarily about git.
69871         (git and CVS): Renamed from CVS.
69872         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
69873         gnulib is available through git.
69874         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
69875
69876 2007-03-30  Bruno Haible  <bruno@clisp.org>
69877
69878         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
69879         * lib/poll_.h: Likewise.
69880         * lib/stat_.h: Likewise.
69881         * lib/sys_time_.h: Likewise.
69882         * lib/sysexit_.h: Likewise.
69883         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
69884         * lib/stdbool_.h: Likewise.
69885         * lib/byteswap_.h: Add double-inclusion guard.
69886
69887 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
69888
69889         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
69890
69891 2007-03-30  Karl Berry  <karl@gnu.org>
69892
69893         * config/srclist-update: double space after USA in the license
69894         substitution, since that's how it's usually (?) written.
69895
69896 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
69897
69898         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
69899         reported by Bruno Haible.
69900
69901 2007-03-29  Bruno Haible  <bruno@clisp.org>
69902
69903         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
69904         a bug in AIX iconv().
69905
69906 2007-03-29  Bruno Haible  <bruno@clisp.org>
69907
69908         * modules/ldexpl-tests: New file.
69909         * tests/test-ldexpl.c: New file.
69910
69911 2007-03-29  Bruno Haible  <bruno@clisp.org>
69912
69913         * lib/ldexpl.c: Include fpucw.h.
69914         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
69915         multiplication.
69916         * modules/ldexpl (Depends-on): Add fpucw.
69917
69918 2007-03-29  Bruno Haible  <bruno@clisp.org>
69919
69920         * modules/ldexpl: New file.
69921         * m4/ldexpl.m4: New file.
69922         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
69923         set.
69924         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
69925         REPLACE_LDEXPL.
69926         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
69927         REPLACE_LDEXPL.
69928         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
69929         gl_FUNC_LDEXPL_WORKS.
69930         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
69931         * modules/mathl (Files): Remove lib/ldexpl.c.
69932         (Depends-on): Add ldexpl.
69933
69934 2007-03-29  Bruno Haible  <bruno@clisp.org>
69935
69936         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
69937
69938 2007-03-29  Bruno Haible  <bruno@clisp.org>
69939
69940         * tests/test-striconveh.c (main): Don't assume that a direct conversion
69941         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
69942         and possibly also HP-UX.
69943         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
69944         work on AIX, IRIX, HP-UX, OSF/1.
69945         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
69946         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
69947         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
69948         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
69949         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
69950         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
69951
69952 2007-03-29  Bruno Haible  <bruno@clisp.org>
69953
69954         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
69955
69956 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
69957
69958         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
69959         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
69960
69961 2007-03-29  Eric Blake  <ebb9@byu.net>
69962
69963         * lib/acl-internal.h: Remove redundant include.
69964         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
69965         Cygwin when a file is locked.
69966
69967 2007-03-29  Bruno Haible  <bruno@clisp.org>
69968
69969         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
69970         file.
69971         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
69972
69973 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
69974
69975         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
69976         try to remove a parent directory if the child couldn't be removed
69977         (except for the first rmdir, which could fail because the child
69978         doesn't exist).  Problem reported by Jeff Blaine in
69979         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
69980
69981 2007-03-28  Bruno Haible  <bruno@clisp.org>
69982
69983         * lib/striconveh.c (utf8conv_carefully): New function.
69984         (mem_cd_iconveh_internal): Invoke it.
69985
69986 2007-03-28  Bruno Haible  <bruno@clisp.org>
69987
69988         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
69989         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
69990         input.
69991         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
69992         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
69993         unistr/u8-uctomb.
69994
69995 2007-03-28  Bruno Haible  <bruno@clisp.org>
69996
69997         * modules/unistr/u8-mbtoucr: New file.
69998         * lib/unistr/u8-mbtoucr.c: New file.
69999         * modules/unistr/u16-mbtoucr: New file.
70000         * lib/unistr/u16-mbtoucr.c: New file.
70001         * modules/unistr/u16-mbtoucr: New file.
70002         * lib/unistr/u16-mbtoucr.c: New file.
70003         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
70004
70005 2007-03-27  Simon Josefsson  <simon@josefsson.org>
70006             Bruno Haible  <bruno@clisp.org>
70007
70008         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
70009         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
70010         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
70011
70012         * m4/stdio_h.m4: Add stubs for vasprintf too.
70013
70014         * modules/stdio: Support vasprintf in sed command.
70015
70016         * modules/vasprintf: Depend on stdio for prototypes.  Remove
70017         vasprintf.h.  Add stdio module indicator.
70018
70019         * lib/stdio_.h: Declare asprintf and vasprintf, based on
70020         vasprintf.h.
70021
70022         * lib/vasprintf.h: File removed.
70023
70024         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
70025         * lib/vasprintf.c: Ditto.
70026         * lib/xvasprintf.c: Ditto.
70027         * tests/test-vasprintf-posix.c: Ditto.
70028         * tests/test-vasprintf.c: Ditto.
70029
70030 2007-03-27  Bruno Haible  <bruno@clisp.org>
70031
70032         Make vasnprintf multithread-safe.
70033         * lib/vasnprintf.c (decimal_point_char): New function.
70034         (VASNPRINTF): Use it.
70035         Suggested by Simon Josefsson.
70036
70037 2007-03-27  Eric Blake  <ebb9@byu.net>
70038
70039         Support sub-second birthtime on cygwin.
70040         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
70041         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
70042         (get_stat_birthtime): Also work with st_birthtim.
70043
70044 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
70045
70046         * lib/stat-time.h (USE_BIRTHTIME): Remove.
70047         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
70048         (get_stat_birthtime_ns): Do not try to use "spare" fields.
70049         (get_stat_birthtime_ns): Simplify compile-time tests.
70050         (get_stat_birthtime): Change the API to look like
70051         get_stat_mtime etc., except return a negative tv_nsec on error.
70052         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
70053         Don't check for "spare" fields.
70054         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
70055         or for struct stat.st_birthtime, as these tests aren't used.
70056         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
70057
70058 2007-03-27  Bruno Haible  <bruno@clisp.org>
70059
70060         * lib/stat-time.h: Include <sys/stat.h>.
70061
70062 2007-03-27  James Youngman  <jay@gnu.org>
70063
70064         * lib/stat-time.h (get_stat_birthtime): New function for
70065           retrieving st_birthtime as provided by UFS2 (hence *BSD).
70066         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
70067           and its variants.
70068         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
70069         * modules/stat-time-test: New file.
70070         * tests/test-stat-time.c: New test, devised by Bruno Haible.
70071
70072 2007-03-26  Bruno Haible  <bruno@clisp.org>
70073
70074         Better support of signalling NaNs.
70075         * lib/atanl.c: Include isnanl.h.
70076         (atanl): Perform test for NaN at the beginning of the function and
70077         through a call to isnanl.
70078         * lib/cosl.c: Include isnanl.h.
70079         (cosl): Perform test for NaN at the beginning of the function and
70080         through a call to isnanl.
70081         * lib/ldexpl.c: Include isnanl.h.
70082         (ldexpl): Perform test for NaN through a call to isnanl.
70083         * lib/logl.c: Include isnanl.h.
70084         (logl): Perform test for NaN at the beginning of the function and
70085         through a call to isnanl.
70086         * lib/sinl.c: Include isnanl.h.
70087         (sinl): Perform test for NaN at the beginning of the function and
70088         through a call to isnanl.
70089         * lib/sqrtl.c: Include isnanl.h.
70090         (sqrtl): Perform test for NaN at the beginning of the function and
70091         through a call to isnanl.
70092         * lib/tanl.c: Include isnanl.h.
70093         (tanl): Perform test for NaN at the beginning of the function and
70094         through a call to isnanl.
70095         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
70096         * modules/mathl (Depends-on): Add isnanl.
70097
70098 2007-03-26  Eric Blake  <ebb9@byu.net>
70099
70100         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
70101         regression in logic sense of previous patch.
70102
70103 2007-03-26  Bruno Haible  <bruno@clisp.org>
70104
70105         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
70106         unportable shell command "if ! ...".
70107         Reported by Ralf Wildenhues.
70108
70109 2007-03-25  Bruno Haible  <bruno@clisp.org>
70110
70111         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
70112         <sysexits.h> file, and only add EX_CONFIG.
70113         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
70114         absolute file name and whether it is sufficient. Substitute also
70115         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
70116         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
70117         ABSOLUTE_SYSEXITS_H into sysexits.h.
70118
70119 2007-03-25  Bruno Haible  <bruno@clisp.org>
70120
70121         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
70122         hints is NULL.
70123
70124 2007-03-25  Bruno Haible  <bruno@clisp.org>
70125
70126         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
70127         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
70128
70129 2007-03-25  Bruno Haible  <bruno@clisp.org>
70130
70131         * lib/vasnprintf.c: Include langinfo.h.
70132         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
70133         multithread-safe.
70134         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
70135         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
70136         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
70137         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
70138         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
70139         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
70140         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
70141         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
70142         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
70143         Reported by Simon Josefsson.
70144
70145 2007-03-25  Bruno Haible  <bruno@clisp.org>
70146
70147         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
70148         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
70149         * modules/vasnprintf (Depends-on): Add stdint.
70150
70151 2007-03-25  Bruno Haible  <bruno@clisp.org>
70152
70153         * modules/fpieee: New file.
70154         * m4/fpieee.m4: New file.
70155         * modules/isnan-nolibm (Depends-on): Add fpieee.
70156         * modules/isnanl-nolibm (Depends-on): Add fpieee.
70157         * modules/isnanl (Depends-on): Add fpieee.
70158
70159 2007-03-25  Bruno Haible  <bruno@clisp.org>
70160
70161         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
70162
70163 2007-03-25  Bruno Haible  <bruno@clisp.org>
70164
70165         Avoid test failures on IRIX 6.5.
70166         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
70167         (main): Use it.
70168         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
70169         macros.
70170         (main): Use them.
70171
70172 2007-03-25  Bruno Haible  <bruno@clisp.org>
70173
70174         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
70175         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
70176         exists but doesn't work.
70177         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
70178         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
70179         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
70180         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
70181         math.h.
70182
70183 2007-03-25  Bruno Haible  <bruno@clisp.org>
70184
70185         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
70186         returns inf. Needed on IRIX 6.5.
70187
70188 2007-03-25  Bruno Haible  <bruno@clisp.org>
70189
70190         * tests/test-frexpl.c: Include isnanl-nolibm.h.
70191         (main): Use isnanl instead of x != x idiom.
70192         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
70193
70194         * tests/test-frexp.c: Include isnan.h.
70195         (main): Use isnan instead of x != x idiom.
70196         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
70197
70198 2007-03-25  Bruno Haible  <bruno@clisp.org>
70199
70200         * tests/test-frexp.c (NaN): New function/macro.
70201         (main): Use it instead of 0.0 / 0.0.
70202         * tests/test-isnan.c (NaN): New function/macro.
70203         (main): Use it instead of 0.0 / 0.0.
70204         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
70205         (test_function): Use it instead of 0.0 / 0.0.
70206         * tests/test-vasprintf-posix.c (NaN): New function/macro.
70207         (test_function): Use it instead of 0.0 / 0.0.
70208         * tests/test-snprintf-posix.h (NaN): New function/macro.
70209         (test_function): Use it instead of 0.0 / 0.0.
70210         * tests/test-sprintf-posix.h (NaN): New function/macro.
70211         (test_function): Use it instead of 0.0 / 0.0.
70212         * tests/test-fprintf-posix.h (NaN): New function/macro.
70213         (test_function): Use it instead of 0.0 / 0.0.
70214         * tests/test-printf-posix.h (NaN): New function/macro.
70215         (test_function): Use it instead of 0.0 / 0.0.
70216
70217         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
70218
70219 2007-03-25  Bruno Haible  <bruno@clisp.org>
70220
70221         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
70222
70223 2007-03-25  Bruno Haible  <bruno@clisp.org>
70224
70225         * lib/regexec.c (merge_state_with_log): Make static.
70226
70227 2007-03-25  Bruno Haible  <bruno@clisp.org>
70228
70229         * lib/trigl.c (kernel_rem_pio2): Make static.
70230
70231 2007-03-25  Bruno Haible  <bruno@clisp.org>
70232
70233         * lib/sincosl.c (sincosl_table): Make static.
70234
70235 2007-03-25  Bruno Haible  <bruno@clisp.org>
70236
70237         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
70238         if the compiler does not support C99.
70239
70240 2007-03-25  Bruno Haible  <bruno@clisp.org>
70241
70242         * modules/time (Makefile.am): Ensure all rule action lines start with a
70243         tab.
70244
70245 2007-03-24  Bruno Haible  <bruno@clisp.org>
70246
70247         * modules/tsearch-tests: New file.
70248         * tests/test-tsearch.sh: New file.
70249         * tests/test-tsearch.c: New file, mostly copied from glibc.
70250
70251         * modules/search-tests: New file.
70252         * tests/test-search.c: New file.
70253
70254         * modules/search: New file.
70255         * lib/search_.h: New file, incorporating lib/tsearch.h.
70256         * m4/search_h.m4: New file.
70257         * lib/tsearch.h: Remove file.
70258         * lib/tsearch.c: Include search.h instead of tsearch.h.
70259         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
70260         HAVE_TSEARCH.
70261         * modules/tsearch (Files): Remove lib/tsearch.h.
70262         (Depends-on): Add search.
70263         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
70264         (Include): Change tsearch.h into search.h.
70265
70266 2007-03-24  Bruno Haible  <bruno@clisp.org>
70267
70268         * modules/fpucw: New file.
70269         * lib/fpucw.h: New file.
70270         * lib/frexp.c: Include fpucw.h.
70271         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
70272         (FUNC): Use them.
70273         * lib/printf-frexp.c: Include fpucw.h.
70274         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
70275         (FUNC): Use them.
70276         * lib/vasnprintf.c: Include fpucw.h.
70277         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
70278         'long double' calculations.
70279         * tests/test-frexpl.c: Include fpucw.h.
70280         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
70281         * tests/test-printf-frexpl.c: Include fpucw.h.
70282         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
70283         * modules/frexpl (Depends-on): Add fpucw.
70284         * modules/printf-frexpl (Depends-on): Likewise.
70285         * modules/fprintf-posix (Depends-on): Likewise.
70286         * modules/snprintf-posix (Depends-on): Likewise.
70287         * modules/sprintf-posix (Depends-on): Likewise.
70288         * modules/vasnprintf-posix (Depends-on): Likewise.
70289         * modules/vasprintf-posix (Depends-on): Likewise.
70290         * modules/vfprintf-posix (Depends-on): Likewise.
70291         * modules/vsnprintf-posix (Depends-on): Likewise.
70292         * modules/vsprintf-posix (Depends-on): Likewise.
70293         * modules/frexpl-tests (Depends-on): Likewise.
70294         * modules/printf-frexpl-tests (Depends-on): Likewise.
70295
70296 2007-03-24  Bruno Haible  <bruno@clisp.org>
70297
70298         * lib/float+.h: New file.
70299         * lib/isnan.c: Include float+.h.
70300         (SIZE): New macro.
70301         (FUNC): Compare only SIZE bytes of the value.
70302         * lib/vasnprintf.c: Include float+.h.
70303         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
70304         SIZEOF_LDBL or SIZEOF_DBL bytes.
70305         * modules/isnan-nolibm (Files): Add lib/float+.h.
70306         * modules/isnanl-nolibm (Files): Add lib/float+.h.
70307         * modules/isnanl (Files): Add lib/float+.h.
70308         * modules/vasnprintf (Files): Add lib/float+.h.
70309
70310 2007-03-24  Bruno Haible  <bruno@clisp.org>
70311
70312         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
70313         include isnanl-nolibm.h.
70314
70315 2007-03-24  Bruno Haible  <bruno@clisp.org>
70316
70317         * tests/test-read-file.c (main): Don't produce spurious output for
70318         expected situations. Make the test fail if it encountered unexpected
70319         results.
70320
70321 2007-03-24  Bruno Haible  <bruno@clisp.org>
70322
70323         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
70324         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
70325
70326 2007-03-24  Bruno Haible  <bruno@clisp.org>
70327
70328         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
70329
70330 2007-03-24  Bruno Haible  <bruno@clisp.org>
70331
70332         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
70333         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
70334
70335         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
70336         * modules/utf8-ucs4: Turn into a symbolic link to module
70337         unistr/u8-mbtouc.
70338
70339         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
70340         utf8-ucs4-unsafe.
70341         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
70342         unistr/u8-mbtouc-unsafe.
70343
70344         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
70345         * modules/utf16-ucs4: Turn into a symbolic link to module
70346         unistr/u16-mbtouc.
70347
70348         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
70349         utf16-ucs4-unsafe.
70350         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
70351         unistr/u16-mbtouc-unsafe.
70352
70353         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
70354         * modules/ucs4-utf8: Turn into a symbolic link to module
70355         unistr/u8-ubtomb.
70356
70357         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
70358         * modules/ucs4-utf16: Turn into a symbolic link to module
70359         unistr/u16-ubtomb.
70360
70361 2007-03-24  Bruno Haible  <bruno@clisp.org>
70362
70363         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
70364         Enable the function only if HAVE_INLINE.
70365         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
70366         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
70367         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
70368         Enable the function only if HAVE_INLINE.
70369         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
70370         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
70371         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
70372         Enable the function only if HAVE_INLINE.
70373         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
70374         Enable the function only if HAVE_INLINE.
70375         * modules/utf8-ucs4: Update.
70376         * modules/utf8-ucs4-unsafe: Update.
70377         * modules/utf16-ucs4: Update.
70378         * modules/utf16-ucs4-unsafe: Update.
70379         * modules/ucs4-utf8: Update.
70380         * modules/ucs4-utf16: Update.
70381
70382 2007-03-24  Bruno Haible  <bruno@clisp.org>
70383
70384         * lib/utf8-ucs4.h: Remove file.
70385         * lib/utf8-ucs4-unsafe.h: Remove file.
70386         * lib/utf16-ucs4.h: Remove file.
70387         * lib/utf16-ucs4-unsafe.h: Remove file.
70388         * lib/ucs4-utf8.h: Remove file.
70389         * lib/ucs4-utf16.h: Remove file.
70390         * lib/unistr.h: Include their previous contents.
70391         * m4/utf-ucs4.m4: Remove file.
70392         * m4/ucs4-utf.m4: Remove file.
70393         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
70394         (Depends-on): Add unistr/base.
70395         (configure.ac): Remove gl_UTF_UCS4.
70396         (Makefile.am): Update.
70397         (Include): Change to unistr.h.
70398         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
70399         (Depends-on): Add unistr/base.
70400         (configure.ac): Remove gl_UTF_UCS4.
70401         (Makefile.am): Update.
70402         (Include): Change to unistr.h.
70403         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
70404         (Depends-on): Add unistr/base.
70405         (configure.ac): Remove gl_UTF_UCS4.
70406         (Makefile.am): Update.
70407         (Include): Change to unistr.h.
70408         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
70409         (Depends-on): Add unistr/base.
70410         (configure.ac): Remove gl_UTF_UCS4.
70411         (Makefile.am): Update.
70412         (Include): Change to unistr.h.
70413         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
70414         (Depends-on): Add unistr/base.
70415         (configure.ac): Remove gl_UCS4_UTF.
70416         (Makefile.am): Update.
70417         (Include): Change to unistr.h.
70418         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
70419         (Depends-on): Add unistr/base.
70420         (configure.ac): Remove gl_UCS4_UTF.
70421         (Makefile.am): Update.
70422         (Include): Change to unistr.h.
70423         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
70424         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
70425         utf8-ucs4-unsafe.h.
70426         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
70427         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
70428         utf16-ucs4-unsafe.h.
70429         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
70430         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
70431         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
70432         * lib/unistr/u8-strchr.c: Likewise.
70433         * lib/unistr/u8-strrchr.c: Likewise.
70434         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
70435         * lib/unistr/u16-strchr.c: Likewise.
70436         * lib/unistr/u16-strrchr.c: Likewise.
70437         * lib/striconveh.c: Update.
70438         * lib/linebreak.c: Update.
70439
70440 2007-03-24  Bruno Haible  <bruno@clisp.org>
70441
70442         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
70443         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
70444
70445 2007-03-22  Bruno Haible  <bruno@clisp.org>
70446
70447         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
70448
70449 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
70450
70451         * MODULES.html.sh (File system functions): New module write-any-file.
70452         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
70453         * m4/write-any-file.m4: New files.
70454
70455 2007-03-23  Eric Blake  <ebb9@byu.net>
70456
70457         * gnulib-tool: Rearrange space-tab sequences, since some editors
70458         like to eat them.
70459
70460 2007-03-23  Eric Blake  <ebb9@byu.net>
70461
70462         * lib/version-etc.c (version_etc_va): Update license wording to
70463         be more concise.  Recommended by Richard Stallman.
70464
70465 2007-03-22  Bruno Haible  <bruno@clisp.org>
70466
70467         * lib/poll.c (MSG_PEEK): New fallback definition.
70468
70469 2007-03-22  Bruno Haible  <bruno@clisp.org>
70470
70471         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
70472         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
70473         (main): Update.
70474         Fixes a compilation error on BeOS.
70475
70476 2007-03-22  Bruno Haible  <bruno@clisp.org>
70477
70478         * modules/frexpl-tests: New file.
70479         * tests/test-frexpl.c: New file.
70480
70481         * modules/frexpl: New file.
70482         * m4/frexpl.m4: New file.
70483         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
70484         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
70485         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
70486         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
70487         (Depends-on): Add frexpl. Remove isnanl-nolibm.
70488         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
70489
70490 2007-03-22  Bruno Haible  <bruno@clisp.org>
70491
70492         * lib/frexpl.c: Share code with lib/frexp.c.
70493         * modules/mathl (Files): Add lib/frexp.c.
70494         (Depends-on): Add isnanl-nolibm.
70495
70496 2007-03-22  Bruno Haible  <bruno@clisp.org>
70497
70498         * modules/printf-frexp (Files): Add m4/frexp.m4.
70499         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
70500         only if the found frexp function actually works.
70501
70502 2007-03-22  Bruno Haible  <bruno@clisp.org>
70503
70504         * lib/frexp.c: Remove older implementation that uses divisions.
70505
70506 2007-03-21  Bruno Haible  <bruno@clisp.org>
70507
70508         * modules/frexp-tests: New file.
70509         * tests/test-frexp.c: New file.
70510
70511         * modules/frexp: New file.
70512         * lib/frexp.c: New file.
70513         * m4/frexp.m4: New file.
70514         * lib/math_.h (frexp): New declaration.
70515         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
70516         REPLACE_FREXP.
70517         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
70518
70519 2007-03-21  Bruno Haible  <bruno@clisp.org>
70520
70521         * modules/isnanl-tests: New file.
70522         * tests/test-isnanl.c: New file.
70523
70524         * modules/isnanl: New file.
70525         * lib/isnanl.h: New file.
70526         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
70527         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
70528         gl_FUNC_ISNANL_WORKS.
70529         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
70530         New macros.
70531
70532 2007-03-21  Bruno Haible  <bruno@clisp.org>
70533
70534         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
70535         lib/isnanl.h.
70536         (Include): Update.
70537         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
70538         * lib/vasnprintf.c: Update.
70539         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
70540         tests/test-isnanl.h, remove tests/test-isnanl.c.
70541         (Makefile.am): Update.
70542         * tests/test-isnanl-nolibm.c: New file.
70543         * tests/test-isnanl.h: New file.
70544         * tests/test-isnanl.c: Remove file.
70545
70546 2007-03-21  Jim Meyering  <jim@meyering.net>
70547
70548         When trying to open ".", treat ESTALE like EACCES.
70549         * lib/savewd.c (savewd_save): Resort to forking not just upon
70550         failure with EACCES, but also when errno is ESTALE.
70551
70552 2007-03-20  Bruno Haible  <bruno@clisp.org>
70553
70554         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
70555         Needed on AIX 5.1. Reported by Matthew Woehlke.
70556
70557 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
70558
70559         Suggestions by Bruno Haible:
70560         * lib/acl-internal.h: Include "gettext.h" rather than rolling
70561         our own.
70562         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
70563         * modules/acl (Depends-on): Add gettext.
70564
70565 2007-03-19  Bruno Haible  <bruno@clisp.org>
70566
70567         * modules/iconvme: Remove file.
70568         * lib/iconvme.h: Remove file.
70569         * lib/iconvme.c: Remove file.
70570         * m4/iconvme.m4: Remove file.
70571
70572 2007-03-19  Bruno Haible  <bruno@clisp.org>
70573
70574         * doc/relocatable-maint.texi: Break long shell script line.
70575         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
70576
70577 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
70578
70579         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
70580         handle file_has_acl.
70581         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
70582         * lib/acl.c: Move header inclusions and related macro defns into
70583         lib/acl-internal.h.
70584         (S_ISLNK): Remove defn, since that's now done for us.
70585         (file_has_acl): Move to lib/file-has-acl.c.
70586         Call acl_trivial if available.  This is the crucial part of the fix.
70587         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
70588         shared within the library.  Rewrite a bit, partly to make it compatible
70589         with the GNU coding style.
70590         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
70591         Remove unnecessary double-quotes.
70592         Don't test for acl_to_text; the build will catch that.
70593         Replace acl_entries if it doesn't exist and it is needed.
70594         Check for -lsec and acl_trivial (as used on Solaris 10).
70595         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
70596         lib/file-has-acl.c.
70597         (Depends-on): Add sys_stat, for S_ISLNK.
70598
70599 2007-03-19  Ben Pfaff  <blp@gnu.org>
70600
70601         * doc/gnulib.texi: Fix typos.
70602         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
70603
70604 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
70605
70606         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
70607         If size is zero here, buf must be zero.
70608
70609 2007-03-19  Simon Josefsson  <simon@josefsson.org>
70610
70611         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
70612         <bruno@clisp.org>.
70613
70614 2007-03-18  Bruno Haible  <bruno@clisp.org>
70615
70616         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
70617         Suggested by Eric Blake.
70618
70619 2007-03-18  Ben Pfaff  <blp@gnu.org>
70620
70621         * doc/relocatable.texi: Recommend using as prefix a directory
70622         that does not exist and will never be created.  Based on
70623         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
70624         and others.
70625
70626 2007-03-17  Bruno Haible  <bruno@clisp.org>
70627
70628         * lib/fchownat.c: Include lchown.h.
70629
70630 2007-03-17  Bruno Haible  <bruno@clisp.org>
70631
70632         Fix endless loop when the given allocated size was > INT_MAX.
70633         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
70634         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
70635         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
70636         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
70637         * lib/sprintf.c (sprintf): Likewise.
70638
70639 2007-03-17  Bruno Haible  <bruno@clisp.org>
70640
70641         * tests/test-argp-2.sh (func_compare): Output a context diff.
70642
70643 2007-03-17  Bruno Haible  <bruno@clisp.org>
70644
70645         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
70646         locale's decimal-point character.
70647
70648 2007-03-17  Bruno Haible  <bruno@clisp.org>
70649
70650         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
70651         before comparing it. Needed because on some platforms (e.g. x86) a
70652         'long double' occupies less bytes than sizeof (long double).
70653
70654 2007-03-17  Bruno Haible  <bruno@clisp.org>
70655
70656         * tests/test-crc.c (main): Make printf statements 64-bit clean.
70657         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
70658         * tests/test-getaddrinfo.c (simple): Likewise.
70659         * tests/test-read-file.c (main): Likewise.
70660
70661 2007-03-17  Bruno Haible  <bruno@clisp.org>
70662
70663         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
70664
70665 2007-03-17  Bruno Haible  <bruno@clisp.org>
70666
70667         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
70668         unused variable.
70669
70670 2007-03-17  Bruno Haible  <bruno@clisp.org>
70671
70672         * tests/test-c-strcasecmp.c: Include c-strcase.h.
70673         * tests/test-c-strncasecmp.c: Likewise.
70674
70675 2007-03-17  Bruno Haible  <bruno@clisp.org>
70676
70677         * modules/stdlib (Depends-on): Add unistd.
70678         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
70679         Needed for MacOS X 10.3.
70680
70681 2007-03-17  Bruno Haible  <bruno@clisp.org>
70682
70683         * lib/unistr/u-strdup.h: Include <stdlib.h>.
70684
70685 2007-03-17  Bruno Haible  <bruno@clisp.org>
70686
70687         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
70688
70689 2007-03-17  Bruno Haible  <bruno@clisp.org>
70690
70691         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
70692         to reflect files copied from gnulib (with or without modifications).
70693         Suggested by Jim Meyering.
70694
70695 2007-03-17  Eric Blake  <ebb9@byu.net>
70696
70697         * NEWS: Document stdlib change from 2007-02-18.
70698
70699 2007-03-17  Jim Meyering  <jim@meyering.net>
70700
70701         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
70702         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
70703         someone uses a name containing shell meta-characters.
70704         Reported by Alfred M. Szmidt.
70705
70706         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
70707
70708 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
70709
70710         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
70711         and copy gettext configuration files only if configure.ac contains
70712         a use of AM_GNU_GETTEXT_VERSION.
70713
70714 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
70715
70716         * build-aux/bootstrap (gnulib_name): New variable.
70717         (gnulib_tool_options): Use it.
70718
70719 2007-03-13  Simon Josefsson  <simon@josefsson.org>
70720
70721         * tests/test-des.c: Use new namespace.
70722
70723 2007-03-15  Bruno Haible  <bruno@clisp.org>
70724
70725         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
70726         Reported by James Youngman <jay@gnu.org>.
70727
70728 2007-03-15  Bruno Haible  <bruno@clisp.org>
70729
70730         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
70731         declared prototype. Needed with cc on OSF/1 5.1.
70732
70733 2007-03-15  Bruno Haible  <bruno@clisp.org>
70734
70735         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
70736         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
70737         (struct gl_list_implementation): Add dispose_fn argument to the
70738         'create_empty', 'create' methods.
70739         (struct gl_list_impl_base): Add field 'dispose_fn'.
70740         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
70741         argument.
70742         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
70743         dispose_fn argument.
70744         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
70745         dispose_fn on the dropped values.
70746         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
70747         dispose_fn argument.
70748         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
70749         dropped values.
70750         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
70751         (gl_tree_remove_node): Call dispose_fn on the dropped value.
70752         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
70753         (gl_tree_remove_node): Call dispose_fn on the dropped value.
70754         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
70755         argument.
70756         (gl_tree_list_free): Call dispose_fn on the dropped values.
70757         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
70758         the dropped values.
70759         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
70760         Add dispose_fn argument.
70761         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
70762         Call dispose_fn on the dropped values.
70763         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
70764         Add dispose_fn argument.
70765         (gl_sublist_create): Initialize the 'dispose_fn' field.
70766         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
70767         * tests/test-array_list.c (main): Update.
70768         * tests/test-carray_list.c (main): Update.
70769         * tests/test-avltree_list.c (main): Update.
70770         * tests/test-rbtree_list.c (main): Update.
70771         * tests/test-avltreehash_list.c (main): Update.
70772         * tests/test-rbtreehash_list.c (main): Update.
70773         * tests/test-linked_list.c (main): Update.
70774         * tests/test-linkedhash_list.c (main): Update.
70775         * tests/test-array_oset.c (main): Update.
70776
70777 2007-03-15  Bruno Haible  <bruno@clisp.org>
70778
70779         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
70780         (gl_oset_create_empty): Add dispose_fn argument.
70781         (struct gl_oset_implementation): Add dispose_fn argument to
70782         'create_empty' method.
70783         (struct gl_oset_impl_base): Add dispose_fn field.
70784         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
70785         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
70786         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
70787         values.
70788         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
70789         (gl_tree_oset_free): Call dispose_fn on the dropped values.
70790         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
70791         dropped value.
70792         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
70793         dropped value.
70794         * tests/test-array_oset.c (main): Update.
70795         * tests/test-avltree_oset.c (main): Update.
70796         * tests/test-rbtree_oset.c (main): Update.
70797         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
70798
70799 2007-03-13  Bruno Haible  <bruno@clisp.org>
70800
70801         * tests/test-stdbool.c (i): Update after last patch.
70802
70803 2007-03-12  Bruno Haible  <bruno@clisp.org>
70804
70805         * lib/quotearg.c: Include <wctype.h> early, before the definition of
70806         the iswprint macro. Needed on Solaris 2.5.1.
70807
70808 2007-03-12  Bruno Haible  <bruno@clisp.org>
70809
70810         * tests/test-printf-frexp.c (main): Declare x as volatile.
70811
70812 2007-03-12  Simon Josefsson  <simon@josefsson.org>
70813
70814         * doc/gnulib.texi (Build robot for gnulib): New section.
70815
70816 2007-03-12  Jim Meyering  <jim@meyering.net>
70817
70818         * build-aux/bootstrap: New file.
70819         * build-aux/bootstrap.conf: New file, from coreutils.
70820
70821 2007-03-11  Bruno Haible  <bruno@clisp.org>
70822
70823         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
70824
70825 2007-03-12  Simon Josefsson  <simon@josefsson.org>
70826
70827         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
70828         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
70829         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
70830
70831 2007-03-11  Bruno Haible  <bruno@clisp.org>
70832
70833         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
70834         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
70835
70836 2007-03-11  Bruno Haible  <bruno@clisp.org>
70837
70838         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
70839         formula. Needed for SunPRO C 5.0.
70840
70841 2007-03-11  Bruno Haible  <bruno@clisp.org>
70842
70843         * modules/long-options (Depends-on): Add getopt.
70844
70845 2007-03-11  Bruno Haible  <bruno@clisp.org>
70846
70847         * modules/modechange (Depends-on): Add stdbool.
70848
70849 2007-03-11  Bruno Haible  <bruno@clisp.org>
70850
70851         * modules/i-ring (Depends-on): Add stdbool.
70852
70853 2007-03-11  Bruno Haible  <bruno@clisp.org>
70854
70855         * modules/gc-des (Depends-on): Add stdbool.
70856
70857 2007-03-11  Bruno Haible  <bruno@clisp.org>
70858
70859         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
70860
70861 2007-03-11  Bruno Haible  <bruno@clisp.org>
70862
70863         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
70864
70865 2007-03-11  Bruno Haible  <bruno@clisp.org>
70866
70867         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
70868
70869 2007-03-11  Bruno Haible  <bruno@clisp.org>
70870
70871         * lib/vasnprintf.c (sprintf): Undefine.
70872
70873 2007-03-11  Bruno Haible  <bruno@clisp.org>
70874
70875         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
70876         initializers in SunPRO C and Compaq C compilers.
70877
70878 2007-03-11  Bruno Haible  <bruno@clisp.org>
70879
70880         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
70881         decrementing code ANSI C compliant.
70882
70883 2007-03-11  Bruno Haible  <bruno@clisp.org>
70884
70885         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
70886         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
70887
70888 2007-03-11  Bruno Haible  <bruno@clisp.org>
70889
70890         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
70891         <stdbool.h> substitute doesn't pass.
70892
70893 2007-03-11  Bruno Haible  <bruno@clisp.org>
70894
70895         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
70896
70897 2007-03-11  Bruno Haible  <bruno@clisp.org>
70898
70899         * gnulib-tool (func_create_megatestdir): Create also an autobuild
70900         script, for submission to autobuild.josefsson.org.
70901
70902 2007-03-10  Bruno Haible  <bruno@clisp.org>
70903
70904         * modules/canonicalize-lgpl-tests: New file.
70905         * tests/test-canonicalize-lgpl.sh: New file.
70906         * tests/test-canonicalize-lgpl.c: New file.
70907
70908         * modules/c-strcase-tests: New file.
70909         * tests/test-c-strcase.sh: New file.
70910         * tests/test-c-strcasecmp.c: New file.
70911         * tests/test-c-strncasecmp.c: New file.
70912
70913         * modules/atexit-tests: New file.
70914         * tests/test-atexit.sh: New file.
70915         * tests/test-atexit.c: New file.
70916
70917 2007-03-10  Bruno Haible  <bruno@clisp.org>
70918
70919         * tests/test-binary-io.sh: Use temporary filenames that are not so
70920         likely to clash with those of other tests (in a parallel make).
70921         * tests/test-binary-io.c: Likewise.
70922
70923 2007-03-10  Bruno Haible  <bruno@clisp.org>
70924
70925         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
70926         fallback; use #error instead.
70927         Suggested by Simon Josefsson.
70928
70929 2007-03-10  Bruno Haible  <bruno@clisp.org>
70930
70931         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
70932         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
70933         first and the last.
70934
70935 2007-03-10  Bruno Haible  <bruno@clisp.org>
70936
70937         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
70938
70939 2007-03-10  Bruno Haible  <bruno@clisp.org>
70940
70941         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
70942         "make distcheck".
70943         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
70944         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
70945         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
70946
70947 2007-03-10  Bruno Haible  <bruno@clisp.org>
70948
70949         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
70950         variable.
70951         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
70952         variable.
70953
70954 2007-03-09  Eric Blake  <ebb9@byu.net>
70955         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
70956
70957         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
70958         types are not being provided by gnulib.
70959         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
70960         types are supported.
70961
70962 2007-03-10  Bruno Haible  <bruno@clisp.org>
70963
70964         * lib/stdio_.h (__attribute__): New macro.
70965         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
70966         vsprintf): Specify __attribute__ __format__ for GCC.
70967         Suggested by Eric Blake.
70968
70969 2007-03-09  Bruno Haible  <bruno@clisp.org>
70970
70971         * modules/printf-posix-tests: New file.
70972         * tests/test-printf-posix.sh: New file.
70973         * tests/test-printf-posix.c: New file.
70974
70975         * modules/printf-posix: New file.
70976         * lib/printf.c: New file.
70977         * m4/printf-posix-rpl.m4: New file.
70978         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
70979         REPLACE_PRINTF.
70980         * lib/stdio_.h (printf): New declaration.
70981         (format, __format__, ____printf____, ____scanf____, ____strftime____,
70982         ____strfmon____): New macros.
70983         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
70984         REPLACE_PRINTF.
70985
70986 2007-03-09  Bruno Haible  <bruno@clisp.org>
70987
70988         * tests/test-vasnprintf-posix2.sh: New file.
70989         * tests/test-vasnprintf-posix2.c: New file.
70990         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
70991         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
70992         (Makefile.am): Activate test-vasnprintf-posix2.sh.
70993
70994         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
70995         a locale dependent decimal point, rather than always '.'.
70996
70997 2007-03-09  Eric Blake  <ebb9@byu.net>
70998
70999         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
71000         spite of platforms like Tandem/NSK that define it to -1.
71001
71002 2007-03-08  Bruno Haible  <bruno@clisp.org>
71003
71004         * modules/vprintf-posix-tests: New file.
71005         * tests/test-vprintf-posix.sh: New file.
71006         * tests/test-vprintf-posix.c: New file.
71007         * tests/test-printf-posix.h: New file.
71008
71009         * modules/vprintf-posix: New file.
71010         * lib/vprintf.c: New file.
71011         * m4/vprintf-posix.m4: New file.
71012         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
71013         REPLACE_VPRINTF.
71014         * lib/stdio_.h (vprintf): New declaration.
71015         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
71016         REPLACE_VPRINTF.
71017
71018 2007-03-08  Bruno Haible  <bruno@clisp.org>
71019
71020         * modules/fprintf-posix-tests: New file.
71021         * tests/test-fprintf-posix.sh: New file.
71022         * tests/test-fprintf-posix.c: New file.
71023
71024         * modules/fprintf-posix: New file.
71025         * lib/fprintf.c: New file.
71026         * m4/fprintf-posix.m4: New file.
71027         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
71028         REPLACE_FPRINTF.
71029         * lib/stdio_.h (fprintf): New declaration.
71030         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
71031         REPLACE_FPRINTF.
71032
71033 2007-03-08  Bruno Haible  <bruno@clisp.org>
71034
71035         * modules/vfprintf-posix-tests: New file.
71036         * tests/test-vfprintf-posix.sh: New file.
71037         * tests/test-vfprintf-posix.c: New file.
71038         * tests/test-fprintf-posix.h: New file.
71039         * tests/test-fprintf-posix.out: New file.
71040
71041         * modules/vfprintf-posix: New file.
71042         * lib/vfprintf.c: New file.
71043         * m4/vfprintf-posix.m4: New file.
71044         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
71045         REPLACE_VFPRINTF.
71046         * lib/stdio_.h (vfprintf): New declaration.
71047         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
71048         REPLACE_VFPRINTF.
71049
71050 2007-03-08  Bruno Haible  <bruno@clisp.org>
71051
71052         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
71053
71054 2007-03-08  Bruno Haible  <bruno@clisp.org>
71055
71056         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
71057         instead of 'expr' invocations.
71058         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
71059         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
71060         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
71061         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
71062         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
71063         Suggested by Paul Eggert.
71064
71065 2007-03-08  Bruno Haible  <bruno@clisp.org>
71066
71067         * modules/fseterr-tests: New file.
71068         * tests/test-fseterr.c: New file.
71069
71070         * modules/fseterr: New file.
71071         * lib/fseterr.h: New file.
71072         * lib/fseterr.c: New file.
71073
71074 2007-03-08  Bruno Haible  <bruno@clisp.org>
71075
71076         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
71077         * lib/getopt_.h: Likewise.
71078         * lib/mbswidth.h: Likewise.
71079         * lib/setenv.h: Likewise.
71080         * lib/vasnprintf.h: Likewise.
71081         * lib/vasprintf.h: Likewise.
71082         * lib/verror.h: Likewise.
71083         * lib/xsetenv.h: Likewise.
71084         * lib/xvasprintf.h: Likewise.
71085
71086 2007-03-08  Jim Meyering  <jim@meyering.net>
71087
71088         * users.txt: Add parted.
71089
71090         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
71091
71092 2007-03-07  Bruno Haible  <bruno@clisp.org>
71093
71094         * m4/printf.m4: Make the shell script snippets copy&pastable.
71095
71096 2007-03-02  Bruno Haible  <bruno@clisp.org>
71097
71098         * lib/netinet_in_.h: New file.
71099         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
71100         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
71101         * modules/netinet_in (Files): Add lib/netinet_in_.h.
71102         (Depends-on): Add absolute-header.
71103         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
71104         into netinet/in.h.
71105
71106 2007-03-03  Bruno Haible  <bruno@clisp.org>
71107
71108         * lib/sys_select_.h: New file.
71109         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
71110         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
71111         * modules/sys_select (Files): Add lib/sys_select_.h.
71112         (Depends-on): Add absolute-header.
71113         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
71114         into sys/select.h.
71115
71116 2007-03-02  Bruno Haible  <bruno@clisp.org>
71117
71118         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
71119         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
71120         values.
71121         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
71122         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
71123         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
71124         * modules/sys_socket (Depends-on): Add absolute-header.
71125         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
71126         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
71127         (Include): Remove requirement of inclusion of <sys/types.h>.
71128
71129 2007-03-02  Bruno Haible  <bruno@clisp.org>
71130
71131         * lib/byteswap_.h (bswap_32): Fix formula.
71132
71133 2007-03-06  Bruno Haible  <bruno@clisp.org>
71134
71135         * modules/sprintf-posix-tests: New file.
71136         * tests/test-sprintf-posix.c: New file.
71137
71138         * modules/sprintf-posix: New file.
71139         * lib/sprintf.c: New file.
71140         * m4/sprintf-posix.m4: New file.
71141         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
71142         REPLACE_SPRINTF.
71143         * lib/stdio_.h (sprintf): New declaration.
71144         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
71145         REPLACE_SPRINTF.
71146
71147 2007-03-06  Bruno Haible  <bruno@clisp.org>
71148
71149         * modules/vsprintf-posix-tests: New file.
71150         * tests/test-vsprintf-posix.c: New file.
71151         * tests/test-sprintf-posix.h: New file.
71152
71153         * modules/vsprintf-posix: New file.
71154         * lib/vsprintf.c: New file.
71155         * m4/vsprintf-posix.m4: New file.
71156         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
71157         REPLACE_VSPRINTF.
71158         * lib/stdio_.h (vsprintf): New declaration.
71159         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
71160         REPLACE_VSPRINTF.
71161
71162 2007-03-06  Bruno Haible  <bruno@clisp.org>
71163
71164         * modules/vsnprintf (Depend-on): Remove minmax.
71165
71166 2007-03-06  Bruno Haible  <bruno@clisp.org>
71167
71168         * modules/snprintf-posix-tests: New file.
71169         * tests/test-snprintf-posix.c: New file.
71170
71171         * modules/snprintf-posix: New file.
71172         * m4/snprintf-posix.m4: New file.
71173         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
71174         gl_FUNC_SNPRINTF.
71175         (gl_FUNC_SNPRINTF): Invoke it.
71176         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
71177         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
71178         is set.
71179         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
71180
71181 2007-03-06  Bruno Haible  <bruno@clisp.org>
71182
71183         * modules/vsnprintf-posix-tests: New file.
71184         * tests/test-vsnprintf-posix.c: New file.
71185         * tests/test-snprintf-posix.h: New file.
71186
71187         * modules/vsnprintf-posix: New file.
71188         * m4/vsnprintf-posix.m4: New file.
71189         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
71190         gl_FUNC_VSNPRINTF.
71191         (gl_FUNC_VSNPRINTF): Invoke it.
71192         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
71193         * lib/stdio_.h (vsnprintf): Define as a replacement if
71194         REPLACE_VSNPRINTF is set.
71195         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
71196
71197 2007-03-06  Bruno Haible  <bruno@clisp.org>
71198
71199         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
71200         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
71201
71202 2007-03-06  Bruno Haible  <bruno@clisp.org>
71203
71204         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
71205         (asinl): Declare also if HAVE_DECL_ASINL is set.
71206         (atanl): Declare also if HAVE_DECL_ATANL is set.
71207         (ceill): Declare also if HAVE_DECL_CEILL is set.
71208         (cosl): Declare also if HAVE_DECL_COSL is set.
71209         (expl): Declare also if HAVE_DECL_EXPL is set.
71210         (floorl): Declare also if HAVE_DECL_FLOORL is set.
71211         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
71212         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
71213         (logl): Declare also if HAVE_DECL_LOGL is set.
71214         (sinl): Declare also if HAVE_DECL_SINL is set.
71215         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
71216         (tanl): Declare also if HAVE_DECL_TANL is set.
71217         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
71218         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
71219         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
71220         declaration of frexpl, ldexpl.
71221         * modules/printf-frexpl (Depends-on): Add math.
71222         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
71223
71224 2007-03-05  Bruno Haible  <bruno@clisp.org>
71225
71226         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
71227         frexpl and ldexpl are declared.
71228         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
71229
71230 2007-03-05  Bruno Haible  <bruno@clisp.org>
71231
71232         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
71233         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
71234
71235 2007-03-05  Bruno Haible  <bruno@clisp.org>
71236
71237         * lib/stdio_.h: Include <stddef.h>.
71238
71239 2007-03-05  Bruno Haible  <bruno@clisp.org>
71240
71241         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
71242
71243 2007-03-05  Bruno Haible  <bruno@clisp.org>
71244
71245         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
71246         NetBSD 4, from Ralf Wildenhues.
71247
71248 2007-03-04  Bruno Haible  <bruno@clisp.org>
71249
71250         * lib/vasprintf.h: Update #if logic for the case when the functions
71251         exist but are overridden.
71252
71253 2007-03-04  Bruno Haible  <bruno@clisp.org>
71254
71255         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
71256         implementations: glibc-2.4 and MacOS X 10.3.
71257         * tests/test-vasnprintf-posix.c (test_function): Test also the case
71258         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
71259         * tests/test-vasprintf-posix.c (test_function): Likewise.
71260
71261 2007-03-04  Bruno Haible  <bruno@clisp.org>
71262
71263         * modules/vasprintf-posix-tests: New file.
71264         * tests/test-vasprintf-posix.c: New file.
71265
71266         * modules/vasprintf-posix: New file.
71267         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
71268         defined.
71269         * m4/vasprintf-posix.m4: New file.
71270         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
71271         gl_FUNC_VASPRINTF.
71272         (gl_FUNC_VASPRINTF): Invoke it.
71273         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
71274         here.
71275         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
71276
71277 2007-03-04  Bruno Haible  <bruno@clisp.org>
71278
71279         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
71280         REPLACE_GETTIMEOFDAY.
71281         * modules/sys_time (Makefile.am): Likewise.
71282         * m4/sys_time_h.m4: Likewise.
71283         * m4/gettimeofday.m4: Likewise.
71284
71285 2007-03-04  Bruno Haible  <bruno@clisp.org>
71286
71287         * modules/vasnprintf-posix-tests: New file.
71288         * tests/test-vasnprintf-posix.c: New file.
71289
71290         * modules/vasnprintf-posix: New file.
71291         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
71292         printf-frexpl.h.
71293         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
71294         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
71295         REPLACE_VASNPRINTF is defined.
71296         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
71297         gl_FUNC_VASNPRINTF.
71298         (gl_FUNC_VASNPRINTF): Invoke it.
71299         * m4/vasnprintf-posix.m4: New file.
71300         * m4/printf.m4: New file.
71301
71302 2007-03-04  Bruno Haible  <bruno@clisp.org>
71303
71304         Compile progreloc.c only if --enable-relocatable is specified.
71305         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
71306         if --enable-relocatable was specified.
71307         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
71308         lib_SOURCES.
71309
71310 2007-03-04  Jim Meyering  <jim@meyering.net>
71311
71312         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
71313         Use it consistently, rather than enumerating errno constants.
71314
71315 2007-03-04  Bruno Haible  <bruno@clisp.org>
71316
71317         * modules/xvasprintf-tests: New file.
71318         * tests/test-xvasprintf.c: New file.
71319
71320         * modules/vasprintf-tests: New file.
71321         * tests/test-vasprintf.c: New file.
71322
71323         * modules/vasnprintf-tests: New file.
71324         * tests/test-vasnprintf.c: New file.
71325
71326         * modules/vsnprintf-tests: New file.
71327         * tests/test-vsnprintf.c: New file.
71328
71329         * modules/snprintf-tests: New file.
71330         * tests/test-snprintf.c: New file.
71331
71332 2007-03-04  Bruno Haible  <bruno@clisp.org>
71333
71334         Compile relocatable.c only if --enable-relocatable is specified.
71335         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
71336         gl_RELOCATABLE_LIBRARY.
71337         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
71338         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
71339         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
71340         gl_RELOCATABLE_LIBRARY.
71341         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
71342         (Makefile.am): Remove lib_SOURCES.
71343         * modules/relocatable-lib-lgpl (configure.ac): Invoke
71344         gl_RELOCATABLE_LIBRARY.
71345         (Makefile.am): Remove lib_SOURCES.
71346         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
71347         always.
71348         * modules/relocatable-prog-wrapper (configure.ac): Invoke
71349         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
71350
71351 2007-03-04  Bruno Haible  <bruno@clisp.org>
71352
71353         * modules/argmatch-tests: New file.
71354         * tests/test-argmatch.c: New file.
71355
71356         * tests/test-allocsa.c (main): Halve the number of loop runs.
71357
71358         * modules/alloca-opt-tests: New file.
71359         * tests/test-alloca-opt.c: New file.
71360
71361 2007-03-04  Jim Meyering  <jim@meyering.net>
71362
71363         Work around difference between Linux ACLs and Solaris 10 ZFS.
71364         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
71365         for EINVAL.
71366
71367 2007-03-03  Bruno Haible  <bruno@clisp.org>
71368
71369         * modules/relocatable-prog (Depends-on): Add back progreloc's
71370         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
71371
71372 2007-03-03  Bruno Haible  <bruno@clisp.org>
71373
71374         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
71375         * modules/relocatable-lib: New file.
71376
71377 2007-03-03  Bruno Haible  <bruno@clisp.org>
71378
71379         * modules/relocatable-prog: Renamed from modules/relocatable.
71380         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
71381
71382 2007-03-03  Bruno Haible  <bruno@clisp.org>
71383
71384         * modules/relocatable-script (Files): Add doc/relocatable.texi,
71385         m4/relocatable-lib.m4.
71386         (Depends-on): Remove 'relocatable'.
71387         (configure.ac): Add gl_RELOCATABLE_NOP.
71388
71389 2007-03-03  Bruno Haible  <bruno@clisp.org>
71390
71391         * modules/relocatable-prog-wrapper: New file.
71392         * modules/relocatable (Depends-on): Add it. Remove all other
71393         dependencies except progname.
71394         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
71395
71396         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
71397         (gl_FUNC_STRERROR): Nop.
71398         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
71399
71400         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
71401         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
71402
71403         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
71404         (gl_FUNC_READLINK): Update.
71405
71406         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
71407
71408 2007-03-03  Bruno Haible  <bruno@clisp.org>
71409
71410         * lib/xreadlink.c: Include <unistd.h> unconditionally.
71411         * modules/xreadlink (Depends-on): Add unistd.
71412         * modules/xreadlink-with-size (Depends-on): Likewise.
71413
71414 2007-03-03  Bruno Haible  <bruno@clisp.org>
71415
71416         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
71417         extracted from gt_FUNC_SETENV.
71418         (gt_FUNC_SETENV): Remove macro.
71419         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
71420         remove gt_FUNC_SETENV.
71421
71422 2007-03-03  Bruno Haible  <bruno@clisp.org>
71423
71424         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
71425         ENABLE_RELOCATABLE here.
71426         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
71427
71428 2007-03-03  Bruno Haible  <bruno@clisp.org>
71429
71430         * modules/rbtreehash-list-tests (Depends-on): Add progname.
71431         * tests/test-rbtreehash_list.c: Include progname.h.
71432         (main): Call set_program_name.
71433
71434         * modules/rbtree-oset-tests (Depends-on): Add progname.
71435         * tests/test-rbtree_oset.c: Include progname.h.
71436         (main): Call set_program_name.
71437
71438         * modules/rbtree-list-tests (Depends-on): Add progname.
71439         * tests/test-rbtree_list.c: Include progname.h.
71440         (main): Call set_program_name.
71441
71442         * modules/linked-list-tests (Depends-on): Add progname.
71443         * tests/test-linked_list.c: Include progname.h.
71444         (main): Call set_program_name.
71445
71446 2007-03-03  Bruno Haible  <bruno@clisp.org>
71447
71448         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
71449         All uses of __restrict changed to _Restrict_.
71450         * lib/glob_.h (__restrict): Remove macro.
71451
71452 2007-03-02  Bruno Haible  <bruno@clisp.org>
71453
71454         * modules/gettext (configure.ac): Require gettext infrastructure
71455         from version 0.16.1.
71456
71457 2007-03-02  Bruno Haible  <bruno@clisp.org>
71458
71459         * modules/linkedhash-list-tests (Depends-on): Add progname.
71460         * tests/test-linkedhash_list.c: Include progname.h.
71461         (main): Call set_program_name.
71462
71463         * modules/carray-list-tests (Depends-on): Add progname.
71464         * tests/test-carray_list.c: Include progname.h.
71465         (main): Call set_program_name.
71466
71467         * modules/avltreehash-list-tests (Depends-on): Add progname.
71468         * tests/test-avltreehash_list.c: Include progname.h.
71469         (main): Call set_program_name.
71470
71471         * modules/avltree-oset-tests (Depends-on): Add progname.
71472         * tests/test-avltree_oset.c: Include progname.h.
71473         (main): Call set_program_name.
71474
71475         * modules/avltree-list-tests (Depends-on): Add progname.
71476         * tests/test-avltree_list.c: Include progname.h.
71477         (main): Call set_program_name.
71478
71479         * modules/array-oset-tests (Depends-on): Add progname.
71480         * tests/test-array_oset.c: Include progname.h.
71481         (main): Call set_program_name.
71482
71483         * modules/array-list-tests (Depends-on): Add progname.
71484         * tests/test-array_list.c: Include progname.h.
71485         (main): Call set_program_name.
71486
71487         * modules/argp-tests (Depends-on): Add progname.
71488         * tests/test-argp.c: Include argp.h first. Include progname.h.
71489         (main): Call set_program_name.
71490
71491 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
71492
71493         * doc/gnulib-tool.texi (Initial import): Reword description of
71494         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
71495         limited effect even if defined after the first system include.
71496
71497 2007-03-01  Bruno Haible  <bruno@clisp.org>
71498
71499         * build-aux/config.libpath: Update to libtool-1.5.22.
71500         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
71501
71502 2007-03-01  Bruno Haible  <bruno@clisp.org>
71503
71504         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
71505         foo_CFLAGS.
71506         Reported by Ralf Wildenhues.
71507
71508 2007-03-01  Bruno Haible  <bruno@clisp.org>
71509
71510         * build-aux/install-reloc: Remove object files left over by some
71511         compilers.
71512         Reported by Ralf Wildenhues.
71513
71514 2007-03-01  Bruno Haible  <bruno@clisp.org>
71515
71516         * build-aux/install-reloc: Break long lines.
71517
71518 2007-03-01  Bruno Haible  <bruno@clisp.org>
71519
71520         * doc/relocatable.texi: Document that it may not work on OpenBSD.
71521         Reported by Ralf Wildenhues.
71522
71523 2007-03-01  Bruno Haible  <bruno@clisp.org>
71524
71525         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
71526         include ordering constraints.
71527
71528 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
71529
71530         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
71531         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
71532         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
71533         as another example.
71534         * lib/time_.h: Fix misspelling.
71535         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
71536         Require gl_HEADER_TIME_H_DEFAULTS.
71537         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
71538         * m4/time_r.m4 (gl_TIME_R): Likewise.
71539         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
71540
71541 2007-03-01  Bruno Haible  <bruno@clisp.org>
71542
71543         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
71544         * m4/utimens.m4 (gl_UTIMENS): Likewise.
71545
71546 2007-03-01  Jim Meyering  <jim@meyering.net>
71547
71548         * modules/xreadlink (Maintainer): Add my name.
71549         * modules/xreadlink-with-size (Depends-on): Alphabetize.
71550
71551 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
71552             Bruno Haible  <bruno@clisp.org>
71553
71554         * build-aux/install-reloc: Compile also c-ctype.c.
71555         * build-aux/relocatable.sh.in: New file.
71556         * doc/relocatable.texi: New file.
71557         * doc/relocatable-maint.texi: New file.
71558         * doc/gnulib.texi: Include relocatable-maint.texi.
71559         * lib/progreloc.c: Include unistd.h unconditionally.
71560         * lib/relocwrapper.c: Include unistd.h unconditionally.
71561         Include c-ctype.h.
71562         (add_dotbin): Use c_tolower.
71563         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
71564         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
71565         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
71566         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
71567         to m4/relocatable-lib.m4.
71568         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
71569         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
71570         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
71571         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
71572         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
71573         * modules/relocatable: New file.
71574         * modules/relocatable-lib: New file.
71575         * modules/relocatable-script: New file.
71576
71577 2007-02-28  Bruno Haible  <bruno@clisp.org>
71578
71579         Import --enable-relocatable infrastructure.
71580         * build-aux/config.libpath: New file, from GNU gettext.
71581         * build-aux/install-reloc: New file, from GNU gettext.
71582         * build-aux/reloc-ldflags: New file, from GNU gettext.
71583         * lib/relocatable.h: New file, from GNU gettext.
71584         * lib/relocatable.c: New file, from GNU gettext.
71585         * lib/relocwrapper.c: New file, from GNU gettext.
71586         * m4/relocatable.m4: New file, from GNU gettext.
71587
71588 2007-02-28  Bruno Haible  <bruno@clisp.org>
71589
71590         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
71591
71592         * modules/xreadlink: New file, from GNU gettext with modifications.
71593         * lib/xreadlink.c: New file, from GNU gettext.
71594         * lib/xreadlink.h: Add comments.
71595         (xreadlink): New declaration.
71596
71597         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
71598         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
71599         lib/xreadlink-with-size.c.
71600         (configure.ac): Remove gl_XREADLINK invocation.
71601         (Makefile.am): Augment lib_SOURCES.
71602         * m4/xreadlink.m4: Remove file.
71603         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
71604         (xreadlink_with_size): Renamed from xreadink.
71605         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
71606         * modules/canonicalize (Depends-on): Replace xreadlink with
71607         xreadlink-with-size.
71608         * lib/canonicalize.c (canonicalize_filename_mode): Update.
71609
71610 2007-02-25  Jim Meyering  <jim@meyering.net>
71611
71612         * build-aux/announce-gen: When complaining about excess arguments,
71613         list them.
71614
71615 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
71616
71617         * README: Document signed integer overflow situation more
71618         accurately.
71619
71620 2007-02-25  Bruno Haible  <bruno@clisp.org>
71621
71622         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
71623         'a' or 'A' conversion.
71624
71625 2007-02-25  Bruno Haible  <bruno@clisp.org>
71626
71627         * modules/filename: Renamed from modules/pathname.
71628         (Files): Replace lib/pathname.h with lib/filename.h. Replace
71629         lib/concatpath.c with lib/concat-filename.c.
71630         (Makefile.am): Update.
71631         (Include): Replace pathname.h with filename.h.
71632         * lib/filename.h: Renamed from lib/pathname.h.
71633         (concatenated_filename): Renamed from concatenated_pathname.
71634         * lib/concat-filename.c: Renamed from lib/concatpath.c.
71635         (concatenated_filename): Renamed from concatenated_pathname.
71636         * lib/findprog.c: Include filename.h instead of pathname.h.
71637         (find_in_path): Update.
71638         * lib/javacomp.c: Include filename.h instead of pathname.h.
71639         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
71640         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
71641         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
71642         is_oldgcj_14_13_usable, is_javac_usable): Update.
71643         * lib/javaexec.c: Include filename.h instead of pathname.h.
71644         (execute_java_class): Update.
71645         * modules/findprog: Update.
71646         * modules/javacomp: Update.
71647         * modules/javaexec: Update.
71648         * MODULES.html.sh (File system functions): Add 'filename', remove
71649         'pathname'.
71650
71651 2007-02-25  Bruno Haible  <bruno@clisp.org>
71652
71653         * modules/printf-frexpl-tests: New file.
71654         * tests/test-printf-frexpl.c: New file.
71655
71656         * modules/printf-frexpl: New file.
71657         * lib/printf-frexpl.h: New file.
71658         * lib/printf-frexpl.c: New file.
71659         * m4/printf-frexpl.m4: New file.
71660
71661 2007-02-25  Bruno Haible  <bruno@clisp.org>
71662
71663         * modules/printf-frexp-tests: New file.
71664         * tests/test-printf-frexp.c: New file.
71665
71666         * modules/printf-frexp: New file.
71667         * lib/printf-frexp.h: New file.
71668         * lib/printf-frexp.c: New file.
71669         * m4/printf-frexp.m4: New file.
71670
71671 2007-02-25  Bruno Haible  <bruno@clisp.org>
71672
71673         Assume automake >= 1.10 for the tests.
71674         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
71675         * modules/arctwo-tests: Likewise.
71676         * modules/argp-tests: Likewise.
71677         * modules/avltree-list-tests: Likewise.
71678         * modules/avltree-oset-tests: Likewise.
71679         * modules/avltreehash-list-tests: Likewise.
71680         * modules/carray-list-tests: Likewise.
71681         * modules/crc-tests: Likewise.
71682         * modules/des-tests: Likewise.
71683         * modules/gc-arcfour-tests: Likewise.
71684         * modules/gc-arctwo-tests: Likewise.
71685         * modules/gc-des-tests: Likewise.
71686         * modules/gc-hmac-md5-tests: Likewise.
71687         * modules/gc-hmac-sha1-tests: Likewise.
71688         * modules/gc-md2-tests: Likewise.
71689         * modules/gc-md4-tests: Likewise.
71690         * modules/gc-md5-tests: Likewise.
71691         * modules/gc-pbkdf2-sha1-tests: Likewise.
71692         * modules/gc-rijndael-tests: Likewise.
71693         * modules/gc-sha1-tests: Likewise.
71694         * modules/gc-tests: Likewise.
71695         * modules/getaddrinfo-tests: Likewise.
71696         * modules/hmac-md5-tests: Likewise.
71697         * modules/hmac-sha1-tests: Likewise.
71698         * modules/linked-list-tests: Likewise.
71699         * modules/linkedhash-list-tests: Likewise.
71700         * modules/lock-tests: Likewise.
71701         * modules/md2-tests: Likewise.
71702         * modules/md4-tests: Likewise.
71703         * modules/md5-tests: Likewise.
71704         * modules/rbtree-list-tests: Likewise.
71705         * modules/rbtree-oset-tests: Likewise.
71706         * modules/rbtreehash-list-tests: Likewise.
71707         * modules/read-file-tests: Likewise.
71708         * modules/rijndael-tests: Likewise.
71709         * modules/stdint-tests: Likewise.
71710         * modules/tls-tests: Likewise.
71711
71712 2007-02-24  Bruno Haible  <bruno@clisp.org>
71713
71714         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
71715         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
71716         function; instead check whether isnan with a double argument links.
71717         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
71718         function; instead check whether isnan with a 'long double' argument
71719         links.
71720         Reported by Eric Blake <ebb9@byu.net>.
71721
71722 2007-02-24  Bruno Haible  <bruno@clisp.org>
71723
71724         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
71725         defined.
71726         * lib/isnanl.c: Remove all code. Just include isnan.c.
71727         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
71728
71729 2007-02-25  Jim Meyering  <jim@meyering.net>
71730
71731         Avoid conflicting types for 'unsetenv' on FreeBSD.
71732         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
71733         conflicting with FreeBSD's (5.0 and 6.1) function declaration
71734         in stdlib.h.
71735
71736 2007-02-24  Bruno Haible  <bruno@clisp.org>
71737
71738         * modules/isnanl-nolibm-tests: New file.
71739         * tests/test-isnanl.c: New file.
71740
71741         * modules/isnanl-nolibm: New file.
71742         * lib/isnanl.h: New file.
71743         * lib/isnanl.c: New file.
71744         * m4/isnanl.m4: New file.
71745
71746 2007-02-24  Bruno Haible  <bruno@clisp.org>
71747
71748         * modules/isnan-nolibm-tests: New file.
71749         * tests/test-isnan.c: New file.
71750
71751         * modules/isnan-nolibm: New file.
71752         * lib/isnan.h: New file.
71753         * lib/isnan.c: New file.
71754         * m4/isnan.m4: New file.
71755
71756 2007-02-24  Bruno Haible  <bruno@clisp.org>
71757
71758         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
71759         assume that an exponent fits in 20 bits.
71760
71761 2007-02-24  Jim Meyering  <jim@meyering.net>
71762
71763         * m4/regex.m4: Update the description of the configure-time option,
71764         --without-included-regex, to state accurately what the defaults are,
71765         and perhaps to give people an idea why using this option is risky.
71766
71767 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
71768
71769         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
71770         loops on small arguments.  This attempts to avoid the problem
71771         Bruno Haible reported for AIX 4.3.2 in
71772         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
71773
71774 2007-02-23  Bruno Haible  <bruno@clisp.org>
71775
71776         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
71777         Needed for help2man.
71778
71779 2007-02-23  Karl Berry  <karl@gnu.org>
71780
71781         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
71782         exists, foo.h should be cvs-ignored, not committed.
71783
71784 2007-02-23  Eric Blake  <ebb9@byu.net>
71785
71786         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
71787         * lib/stat-time.h (includes): Likewise.
71788         * lib/utimecmp.c (includes): Likewise.
71789         * lib/utimens.h (includes): Likewise.
71790         * lib/getdate.y (includes): Also include "timespec.h" for use
71791         internal to the module.
71792         * modules/utimens (Depends-on): Revert yesterday's patch.
71793         * modules/nanosleep (Depends-on): Add missing dependency.
71794
71795 2007-02-22  Bruno Haible  <bruno@clisp.org>
71796
71797         * lib/glob.c: Don't include getlogin_r.h.
71798
71799 2007-02-22  Jim Meyering  <jim@meyering.net>
71800
71801         * modules/utimens (Depends-on): Add timespec, required for
71802         utimens.h's inclusion of timespec.h.
71803
71804 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
71805
71806         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
71807         long unreadable paths in GNU/Linux.  Problem reported by Andreas
71808         Schwab in
71809         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
71810         I'll try to think of a better way to fix the Solaris problem.
71811
71812         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
71813         like glibc; on Solaris 10, it fails with errno == EINVAL.
71814         POSIX says the behavior is unspecified if the first argument is NULL,
71815         so play it safe and never pass NULL to the system getcwd.
71816
71817 2007-02-21  Jim Meyering  <jim@meyering.net>
71818
71819         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
71820         of gettimeofday.  It would conflict with the one now always
71821         provided via sys_time_.h.  Reported by Matthew Woehlke, as
71822         an IRIX 6.5 build failure.
71823
71824 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
71825
71826         Minor fixups to port to Solaris 10 with Sun C 5.8.
71827         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
71828         * modules/getcwd (Depends-on): Add dirfd.
71829         * lib/putenv.c (putenv): #undef it.
71830         (rpl_putenv): New decl.
71831         (malloc, free): Include <stdlib.h> rather than prototyping separately.
71832
71833 2007-02-20  Bruno Haible  <bruno@clisp.org>
71834
71835         * modules/stdio-tests: New file.
71836         * tests/test-stdio.c: New file.
71837
71838         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
71839         (Depends-on): Add stdio.
71840         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
71841         (Include): Use <stdio.h> instead of vsnprintf.h.
71842         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
71843         HAVE_DECL_VSNPRINTF.
71844         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
71845
71846         * modules/snprintf (Files): Remove lib/snprintf.h.
71847         (Depends-on): Add stdio.
71848         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
71849         (Include): Use <stdio.h> instead of snprintf.h.
71850         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
71851         HAVE_DECL_SNPRINTF.
71852         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
71853         * lib/getaddrinfo.c: Likewise.
71854
71855         * modules/stdio: New file.
71856         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
71857         * lib/snprintf.h: Remove file.
71858         * lib/vsnprintf.h: Remove file.
71859         * lib/.cppi-disable: Remove snprintf.h.
71860         * m4/stdio_h.m4: New file.
71861         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
71862
71863 2007-02-20  Jim Meyering  <jim@meyering.net>
71864
71865         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
71866         used by e.g., mingw.  From Bruno Haible.
71867
71868 2007-02-19  Bruno Haible  <bruno@clisp.org>
71869
71870         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
71871         warnings.
71872         Reported by Ben Pfaff <blp@cs.stanford.edu>.
71873
71874 2007-02-19  Bruno Haible  <bruno@clisp.org>
71875
71876         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
71877         from mingw users.
71878
71879 2007-02-19  Bruno Haible  <bruno@clisp.org>
71880
71881         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
71882         warnings.
71883         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
71884
71885 2007-02-19  Jim Meyering  <jim@meyering.net>
71886
71887         Don't use FD after a successful "fdopendir (fd)".
71888         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
71889         Reset it by calling dirfd on the just-obtained DIR*.
71890
71891         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
71892         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
71893
71894 2007-02-18  Bruno Haible  <bruno@clisp.org>
71895
71896         * lib/readlink.c: Include <unistd.h>.
71897         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
71898         HAVE_READLINK.
71899         * modules/readlink (Depends-on): Add unistd.
71900         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
71901         (Include): Add <unistd.h>.
71902
71903         * lib/getlogin_r.h: Remove file.
71904         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
71905         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
71906         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
71907         HAVE_DECL_GETLOGIN_R.
71908         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
71909         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
71910         (Include): Use <unistd.h> instead of getlogin_r.h.
71911
71912         * lib/getcwd.h: Remove file.
71913         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
71914         * lib/xgetcwd.c: Likewise.
71915         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
71916         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
71917         * modules/getcwd (Files): Remove lib/getcwd.h.
71918         (Depends-on): Add unistd.
71919         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
71920         (Include): Use <unistd.h> instad of getcwd.h.
71921
71922         * lib/ftruncate.c: Include <unistd.h> first.
71923         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
71924         Set HAVE_FTRUNCATE.
71925         * modules/ftruncate (Depends-on): Add unistd.
71926         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
71927
71928         * lib/fchdir.c: Include <unistd.h> first.
71929         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
71930         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
71931         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
71932         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
71933         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
71934
71935         * lib/dup2.c: Include <unistd.h> first.
71936         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
71937         HAVE_DUP2.
71938         * modules/dup2 (Depends-on): Add unistd.
71939         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
71940
71941         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
71942         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
71943         REPLACE_CHOWN. Don't define chown as a macro here.
71944         * modules/chown (Depends-on): Add unistd.
71945         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
71946
71947         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
71948         Add definition for GL_LINK_WARNING.
71949         (chown, dup2): New declarations.
71950         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
71951         link warning.
71952         (ftruncate): New declaration.
71953         (getcwd): New declaration, taken from old getcwd.h.
71954         (getlogin_r): New declaration, taken from old getlogin_r.h.
71955         (readlink): New declaration.
71956         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
71957         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
71958         (gl_PREREQ_UNISTD): Remove macro.
71959         (gl_UNISTD_MODULE_INDICATOR): New macro.
71960         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
71961         many new variables. Don't set UNISTD_H.
71962         * modules/unistd (Description): Change.
71963         (Depends-on): Add link-warning.
71964         (configure.ac): Update.
71965         (Makefile.am): Create unistd.h always. Substitute many new variables
71966         into it.
71967
71968 2007-02-18  Bruno Haible  <bruno@clisp.org>
71969
71970         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
71971         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
71972         HAVE_GETSUBOPT.
71973         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
71974         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
71975         * lib/getsubopt.h: Remove file.
71976         * modules/getsubopt (Files): Remove lib/getsubopt.h.
71977         (Depends-on): Add stdlib.
71978         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
71979         (Includes): Use <stdlib.h> instead of getsubopt.h.
71980         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
71981         Set HAVE_GETSUBOPT.
71982         * lib/getsubopt.c: Don't include getsubopt.h.
71983
71984 2007-02-18  Bruno Haible  <bruno@clisp.org>
71985
71986         * modules/fchdir (Depends-on): Add dup2.
71987
71988 2007-02-18  Bruno Haible  <bruno@clisp.org>
71989
71990         * lib/stdlib_.h: Handle glibc's special invocation convention
71991         specially.
71992
71993 2007-02-18  Bruno Haible  <bruno@clisp.org>
71994
71995         * modules/stdlib-tests: New file.
71996         * tests/test-stdlib.c: New file.
71997
71998         * modules/mkstemp (Files): Remove lib/mkstemp.h.
71999         (Depends-on): Add stdlib.
72000         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
72001         (Includes): Use <stdlib.h> instead of mkstemp.h.
72002         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
72003         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
72004         * lib/mkstemp.c: Don't include mkstemp.h.
72005         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
72006         * lib/stdlib--.h: Don't include mkstemp.h.
72007
72008         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
72009         (Depends-on): Add stdlib.
72010         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
72011         (Includes): Use <stdlib.h> instead of mkdtemp.h.
72012         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
72013         HAVE_MKDTEMP.
72014         * lib/mkdtemp.c: Don't include mkdtemp.h.
72015         * lib/clean-temp.c: Don't include mkdtemp.h.
72016
72017         * modules/exit (Files): Remove lib/exit.h.
72018         (Depends-on): Add stdlib.
72019         (Makefile.am): Remove lib_SOURCES.
72020         (Include): Use <stdlib.h> instead of exit.h.
72021         * lib/argmatch.c: Don't include exit.h.
72022         * lib/execute.c: Likewise.
72023         * lib/pagealign_alloc.c: Likewise.
72024         * lib/pipe.c: Likewise.
72025         * lib/wait-process.c: Likewise.
72026         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
72027         * lib/exitfail.c: Likewise.
72028         * lib/savewd.c: Likewise.
72029         * lib/xsetenv.c: Likewise.
72030
72031         * modules/stdlib: New file.
72032         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
72033         and extra comments about mkstemp().
72034         * lib/exit.h: Remove file.
72035         * lib/mkdtemp.h: Remove file.
72036         * lib/mkstemp.h: Remove file.
72037         * m4/stdlib_h.m4: New file.
72038         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
72039
72040 2007-02-18  Bruno Haible  <bruno@clisp.org>
72041
72042         * modules/math-tests: New file.
72043         * tests/test-math.c: New file.
72044
72045         * modules/math: New file.
72046         * modules/mathl (Files): Remove lib/mathl.h.
72047         (Depends-on): Add math.
72048         (Makefile.am): Don't mention mathl.h.
72049         (Include): Use <math.h> instead of mathl.h.
72050         * lib/math_.h: New file.
72051         * lib/mathl.h: Remove file.
72052         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
72053         mathl.h.
72054         * lib/asinl.c: Likewise.
72055         * lib/atanl.c: Likewise.
72056         * lib/ceill.c: Likewise.
72057         * lib/cosl.c: Likewise.
72058         * lib/expl.c: Likewise.
72059         * lib/floorl.c: Likewise.
72060         * lib/frexpl.c: Likewise.
72061         * lib/ldexpl.c: Likewise.
72062         * lib/logl.c: Likewise.
72063         * lib/sincosl.c: Likewise.
72064         * lib/sinl.c: Likewise.
72065         * lib/sqrtl.c: Likewise.
72066         * lib/tanl.c: Likewise.
72067         * lib/trigl.c: Likewise.
72068         * m4/math_h.m4: New file.
72069         * MODULES.html.sh (Mathematics): Add math.
72070
72071 2007-02-17  Bruno Haible  <bruno@clisp.org>
72072
72073         * modules/wctype-tests: New file.
72074         * tests/test-wctype.c: New file.
72075
72076         * modules/wchar-tests: New file.
72077         * tests/test-wchar.c: New file.
72078
72079         * modules/unistd-tests: New file.
72080         * tests/test-unistd.c: New file.
72081
72082         * modules/time-tests: New file.
72083         * tests/test-time.c: New file.
72084
72085         * modules/sysexits-tests: New file.
72086         * tests/test-sysexits.c: New file.
72087
72088         * modules/sys_time-tests: New file.
72089         * tests/test-sys_time.c: New file.
72090
72091         * modules/sys_stat-tests: New file.
72092         * tests/test-sys_stat.c: New file.
72093
72094         * modules/sys_socket-tests: New file.
72095         * tests/test-sys_socket.c: New file.
72096
72097         * modules/sys_select-tests: New file.
72098         * tests/test-sys_select.c: New file.
72099
72100         * modules/string-tests: New file.
72101         * tests/test-string.c: New file.
72102
72103         * modules/stdbool-tests: New file.
72104         * tests/test-stdbool.c: New file.
72105
72106         * modules/netinet_in-tests: New file.
72107         * tests/test-netinet_in.c: New file.
72108
72109         * modules/inttypes-tests: New file.
72110         * tests/test-inttypes.c: New file.
72111
72112         * modules/fcntl-tests: New file.
72113         * tests/test-fcntl.c: New file.
72114
72115         * modules/byteswap-tests: New file.
72116         * tests/test-byteswap.c: New file.
72117
72118         * modules/arpa_inet-tests: New file.
72119         * tests/test-arpa_inet.c: New file.
72120
72121 2007-02-17  Bruno Haible  <bruno@clisp.org>
72122
72123         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
72124         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
72125         if the corresponding module is not enabled. Emit link warnings if
72126         the function is used nevertheless.
72127         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
72128         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
72129         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
72130         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
72131         * modules/inttypes (Depends-on): Add link-warning.
72132         (Makefile.am): Copy the contents of build-aux/link-warning.h into
72133         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
72134         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
72135         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
72136         * modules/imaxdiv (configure.ac): Likewise.
72137         * modules/strtoimax (configure.ac): Likewise.
72138         * modules/strtoumax (configure.ac): Likewise.
72139
72140 2007-02-17  Bruno Haible  <bruno@clisp.org>
72141
72142         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
72143         gl_STRING_MODULE_INDICATOR_DEFAULTS.
72144         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
72145         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
72146
72147 2007-02-17  Bruno Haible  <bruno@clisp.org>
72148
72149         * modules/link-warning: New file.
72150         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
72151         * lib/string_.h (GL_LINK_WARNING): Remove definition.
72152         * modules/string (Depends-on): Add link-warning.
72153         (Makefile.am): Copy the contents of build-aux/link-warning.h into
72154         string.h.
72155         * MODULES.html.sh (Support for building libraries and executables): Add
72156         link-warning.
72157
72158 2007-02-17  Bruno Haible  <bruno@clisp.org>
72159
72160         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
72161         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
72162         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
72163         long lines.
72164
72165 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
72166             Bruno Haible  <bruno@clisp.org>
72167
72168         * modules/tmpfile: New file.
72169         * lib/tmpfile.c: New file.
72170         * m4/tmpfile.m4: New file.
72171         * MODULES.html.sh (func_all_modules): New section "Input/output".
72172
72173 2007-02-15  Bruno Haible  <bruno@clisp.org>
72174
72175         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
72176         (supports_delete_on_close): New function.
72177         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
72178
72179 2007-02-14  Bruno Haible  <bruno@clisp.org>
72180
72181         * modules/mbspcasecmp-tests: New file.
72182         * tests/test-mbspcasecmp.sh: New file.
72183         * tests/test-mbspcasecmp.c: New file.
72184
72185         New module mbspcasecmp.
72186         * modules/mbspcasecmp: New file.
72187         * lib/mbspcasecmp.c: New file.
72188         * lib/string_.h (strncasecmp): Change warning message.
72189         (mbspcasecmp): New declaration.
72190         * m4/mbspcasecmp.m4: New file.
72191         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
72192         GNULIB_MBSPCASECMP.
72193         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
72194         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
72195
72196 2007-02-14  Bruno Haible  <bruno@clisp.org>
72197
72198         * modules/mbsncasecmp-tests: New file.
72199         * tests/test-mbsncasecmp.sh: New file.
72200         * tests/test-mbsncasecmp.c: New file.
72201
72202         New module mbsncasecmp.
72203         * modules/mbsncasecmp: New file.
72204         * lib/mbsncasecmp.c: New file.
72205         * lib/string_.h (mbsncasecmp): New declaration.
72206         * m4/mbsncasecmp.m4: New file.
72207         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
72208         GNULIB_MBSNCASECMP.
72209         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
72210         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
72211
72212 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
72213
72214         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
72215         Verify that it doesn't overlap with our flags.
72216         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
72217         do not have the desired effect in multibyte locales; instead, use
72218         mbscasecmp.
72219         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
72220         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
72221         we don't require GNU fnmatch ourselves (if our users require it, they
72222         should do so explicitly).
72223
72224         Fix regex code so it doesn't rely on strcasecmp.
72225         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
72226         Otherwise, include gnulib's langinfo.h.
72227         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
72228         undesirable behavior in non-C locales.  Instead, rely on localecharset.
72229         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
72230         * modules/regex (FILES): Remove m4/codeset.m4.
72231         (Depends-on): Add localcharset.  Remove strcase.
72232
72233 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72234
72235         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
72236         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
72237
72238 2007-02-13  Bruno Haible  <bruno@clisp.org>
72239
72240         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
72241         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72242
72243 2007-02-12  Bruno Haible  <bruno@clisp.org>
72244
72245         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
72246         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
72247         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
72248         time warning rather than a link error.
72249
72250 2007-02-12  Bruno Haible  <bruno@clisp.org>
72251
72252         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
72253         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
72254         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72255
72256 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
72257
72258         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
72259         args, not 2.
72260
72261 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
72262
72263         New module 'time', so that apps can include <time.h> as per
72264         POSIX and GNU instead of separate include files like time_r.h
72265         and timegm.h.  This implementation tries out a simpler approach
72266         for replacing decls in standard include files (as compared to
72267         the string module), somewhat as an experiment.
72268
72269         * config/srclist.txt: Comment out mktime.c for now.
72270         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
72271         since it doesn't apply any more.  Use generic wording instead.
72272         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
72273         'time'.
72274         * lib/time_.h, m4/time_h.m4, modules/time: New files.
72275         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
72276         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
72277         Don't include <sys/types.h>; no longer needed since we assume C89.
72278         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
72279         * lib/strftime.c: Likewise.
72280         * lib/time_r.c: Likewise.
72281         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
72282         * lib/nanosleep.c: Include <time.h> first, to check interface.
72283         * lib/strptime.c: Likewise.
72284         * lib/time_r.c: Likewise.
72285         * lib/timegm.c: Likewise.
72286         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
72287         needed.
72288         * lib/timegm.c: Don't include timegm.h; no longer needed.
72289         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
72290         time.h now handles any problems in that area.
72291         (struct timespec, nanosleep): Remove; time.h now arranges for these.
72292         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
72293         that time.h defines struct timespec.
72294         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
72295         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
72296         handles that.
72297         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
72298         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
72299         needed.  Set REPLACE_LOCALTIME.
72300         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
72301         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
72302         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
72303         nanosleep; time_h.m4 now does that.  Don't require
72304         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
72305         module handles this now.
72306         * modules/getdate (Depends-on): Remove timespec.  Add time.
72307         * modules/nanosleep (Depends-on): Likewise.
72308         * modules/stat-time (Depends-on): Likewise.
72309         * modules/nanosleep (Include): Include time.h, not timespec.h.
72310         * modules/strptime (Files): Remove lib/strptime.h.
72311         (Depends-on): Add extensions, time.
72312         (Include): Include time.h, not strptime.h.
72313         * modules/time_r (Files): Remove lib/time_r.h.
72314         (Depends-on): Add time.
72315         (Include): Include time.h, not time_r.h.
72316         * modules/timegm: Likewise.
72317         * modules/timespec (Description): Now does timespec-related decls
72318         of our own, instead of struct timespec itself.
72319         (Depends-on): Add time; remove extensions.
72320         (Maintainer): Add self.
72321         * modules/utimecmp (Depends-on): Add time; remove timespec.
72322         * modules/utimens (Depends-on): Likewise.
72323         * modules/xnanosleep (Depends-on): Likewise.
72324
72325 2007-02-11  Bruno Haible  <bruno@clisp.org>
72326
72327         * lib/c-strstr.c: Include allocsa.h.
72328         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
72329         * lib/c-strcasestr.c: Include allocsa.h.
72330         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
72331         * lib/strcasestr.c: Include allocsa.h.
72332         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
72333         * lib/mbsstr.c: Include allocsa.h.
72334         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
72335         allocsa/freesa instead of malloc/free.
72336         * lib/mbscasestr.c: Include allocsa.h.
72337         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
72338         allocsa/freesa instead of malloc/free.
72339         * modules/c-strstr (Depends-on): Add allocsa.
72340         * modules/c-strcasestr (Depends-on): Likewise.
72341         * modules/strcasestr (Depends-on): Likewise.
72342         * modules/mbsstr (Depends-on): Likewise.
72343         * modules/mbscasestr (Depends-on): Likewise.
72344
72345 2007-02-11  Bruno Haible  <bruno@clisp.org>
72346
72347         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
72348
72349         * modules/mbsspn-tests: New file.
72350         * tests/test-mbsspn.sh: New file.
72351         * tests/test-mbsspn.c: New file.
72352
72353 2007-02-11  Bruno Haible  <bruno@clisp.org>
72354
72355         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
72356
72357         * modules/mbspbrk-tests: New file.
72358         * tests/test-mbspbrk.sh: New file.
72359         * tests/test-mbspbrk.c: New file.
72360
72361 2007-02-11  Bruno Haible  <bruno@clisp.org>
72362
72363         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
72364         unneeded cast.
72365
72366         * modules/mbscspn-tests: New file.
72367         * tests/test-mbscspn.sh: New file.
72368         * tests/test-mbscspn.c: New file.
72369
72370 2007-02-11  Bruno Haible  <bruno@clisp.org>
72371
72372         * modules/mbscasecmp-tests: New file.
72373         * tests/test-mbscasecmp.sh: New file.
72374         * tests/test-mbscasecmp.c: New file.
72375
72376 2007-02-11  Bruno Haible  <bruno@clisp.org>
72377
72378         Ensure O(n) worst-case complexity of mbscasestr.
72379         * lib/mbscasestr.c: Include stdbool.h.
72380         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
72381         functions.
72382         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
72383         the bookkeeping indicates that it's worth it.
72384         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
72385
72386         * modules/mbscasestr-tests: New file.
72387         * tests/test-mbscasestr1.c: New file.
72388         * tests/test-mbscasestr2.sh: New file.
72389         * tests/test-mbscasestr2.c: New file.
72390         * tests/test-mbscasestr3.sh: New file.
72391         * tests/test-mbscasestr3.c: New file.
72392         * tests/test-mbscasestr4.sh: New file.
72393         * tests/test-mbscasestr4.c: New file.
72394         * m4/locale-tr.m4: New file.
72395
72396 2007-02-11  Bruno Haible  <bruno@clisp.org>
72397
72398         Ensure O(n) worst-case complexity of mbsstr.
72399         * lib/mbsstr.c: Include stdbool.h.
72400         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
72401         functions.
72402         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
72403         bookkeeping indicates that it's worth it.
72404         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
72405
72406         * modules/mbsstr-tests: New file.
72407         * tests/test-mbsstr1.c: New file.
72408         * tests/test-mbsstr2.sh: New file.
72409         * tests/test-mbsstr2.c: New file.
72410         * tests/test-mbsstr3.sh: New file.
72411         * tests/test-mbsstr3.c: New file.
72412         * m4/locale-fr.m4: New file.
72413
72414 2007-02-11  Bruno Haible  <bruno@clisp.org>
72415
72416         * lib/mbsrchr.c (mbsrchr): Fix bug.
72417
72418         * modules/mbsrchr-tests: New file.
72419         * tests/test-mbsrchr.sh: New file.
72420         * tests/test-mbsrchr.c: New file.
72421
72422 2007-02-11  Bruno Haible  <bruno@clisp.org>
72423
72424         * lib/mbschr.c (mbschr): Fix bug.
72425
72426         * modules/mbschr-tests: New file.
72427         * tests/test-mbschr.sh: New file.
72428         * tests/test-mbschr.c: New file.
72429         * m4/locale-zh.m4: New file.
72430
72431 2007-02-11  Bruno Haible  <bruno@clisp.org>
72432
72433         Support for copying multibyte string iterators.
72434         * lib/mbiter.h: Include <string.h>.
72435         (mbiter_multi_copy): New function.
72436         (mbi_copy): New macro.
72437         * lib/mbuiter.h: Include <string.h>.
72438         (mbuiter_multi_copy): New function.
72439         (mbui_copy): New macro.
72440
72441 2007-02-11  Bruno Haible  <bruno@clisp.org>
72442
72443         New module mbslen.
72444         * modules/mbslen: New file.
72445         * lib/mbslen.c: New file.
72446         * lib/string_.h (mbslen): New declaration.
72447         * m4/mbslen.m4: New file.
72448         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
72449         GNULIB_MBSLEN.
72450         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
72451         * MODULES.html.sh (Internationalization functions): Add mbslen.
72452
72453 2007-02-11  Bruno Haible  <bruno@clisp.org>
72454
72455         Ensure O(n) worst-case complexity of strcasestr substitute.
72456         * lib/strcasestr.c: Include stdbool.h.
72457         (knuth_morris_pratt): New function.
72458         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
72459         bookkeeping indicates that it's worth it.
72460         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
72461
72462         * modules/strcasestr-tests: New file.
72463         * tests/test-strcasestr.c: New file.
72464
72465 2007-02-11  Bruno Haible  <bruno@clisp.org>
72466
72467         Ensure O(n) worst-case complexity of c_strcasestr.
72468         * lib/c-strcasestr.c: Include stdbool.h, string.h.
72469         (knuth_morris_pratt): New function.
72470         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
72471         the bookkeeping indicates that it's worth it.
72472         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
72473
72474         * modules/c-strcasestr-tests: New file.
72475         * tests/test-c-strcasestr.c: New file.
72476
72477 2007-02-11  Bruno Haible  <bruno@clisp.org>
72478
72479         Ensure O(n) worst-case complexity of c_strstr.
72480         * lib/c-strstr.c: Include stdbool.h, string.h.
72481         (knuth_morris_pratt): New function.
72482         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
72483         bookkeeping indicates that it's worth it.
72484         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
72485
72486         * lib/c-strstr.c: Complete rewrite for maintainability.
72487
72488         * modules/c-strstr-tests: New file.
72489         * tests/test-c-strstr.c: New file.
72490
72491 2007-02-11  Bruno Haible  <bruno@clisp.org>
72492
72493         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
72494         5.2.1 and earlier, whereby \055 was treated just like the range
72495         delimiter '-'.
72496         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
72497
72498 2007-02-08  Bruno Haible  <bruno@clisp.org>
72499
72500         * modules/regex (Depends-on): Add stdbool.
72501         Reported by Dalibor Topic <robilad@kaffe.org>.
72502
72503 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
72504
72505         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
72506         Prefer returning from main to exiting from it.
72507         Remove unnecessary parens after sizeof.
72508
72509 2007-02-05  Bruno Haible  <bruno@clisp.org>
72510
72511         New module mbssep.
72512         * modules/mbssep: New file.
72513         * lib/mbssep.c: New file.
72514         * lib/string_.h (strsep): Add a conditional link warning.
72515         (mbssep): New declaration.
72516         * m4/mbssep.m4: New file.
72517         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
72518         GNULIB_MBSSEP.
72519         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
72520         * MODULES.html.sh (Internationalization functions): Add mbssep.
72521
72522 2007-02-05  Bruno Haible  <bruno@clisp.org>
72523
72524         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
72525         Optimize search in case of 1 delimiter.
72526
72527 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
72528
72529         * lib/acl.h: Include sys/types.h before sys/acl.h.
72530
72531 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
72532
72533         Merge upstream fix for glibc bugzilla #3957:
72534
72535         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
72536
72537         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
72538         bit for RE_HAT_LISTS_NOT_NEWLINE.
72539         (build_charclass_op): Remove bogus comment.
72540
72541 2007-02-05  Simon Josefsson  <simon@josefsson.org>
72542
72543         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
72544
72545 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
72546
72547         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
72548         * lib/memmem.c [!defined _LIBC]: Include config.h.
72549
72550 2007-02-04  Bruno Haible  <bruno@clisp.org>
72551
72552         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
72553         warning message.
72554
72555 2007-02-04  Bruno Haible  <bruno@clisp.org>
72556
72557         New module mbstok_r.
72558         * modules/mbstok_r: New file.
72559         * lib/mbstok_r.c: New file.
72560         * lib/string_.h (strtok_r): Change argument names to match the
72561         comments. Add a conditional link warning.
72562         (mbstok_r): New declaration.
72563         * m4/mbstok_r.m4: New file.
72564         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
72565         GNULIB_MBSTOK_R.
72566         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
72567         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
72568
72569 2007-02-04  Bruno Haible  <bruno@clisp.org>
72570
72571         New module mbsspn.
72572         * modules/mbsspn: New file.
72573         * lib/mbsspn.c: New file.
72574         * lib/string_.h (strspn): Add a conditional link warning.
72575         (mbsspn): New declaration.
72576         * m4/mbsspn.m4: New file.
72577         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
72578         GNULIB_MBSSPN.
72579         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
72580         * MODULES.html.sh (Internationalization functions): Add mbsspn.
72581
72582 2007-02-04  Bruno Haible  <bruno@clisp.org>
72583
72584         New module mbspbrk.
72585         * modules/mbspbrk: New file.
72586         * lib/mbspbrk.c: New file.
72587         * lib/string_.h (strpbrk): Add a conditional link warning.
72588         (mbspbrk): New declaration.
72589         * m4/mbspbrk.m4: New file.
72590         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
72591         GNULIB_MBSPBRK.
72592         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
72593         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
72594
72595 2007-02-04  Bruno Haible  <bruno@clisp.org>
72596
72597         New module mbscspn.
72598         * modules/mbscspn: New file.
72599         * lib/mbscspn.c: New file.
72600         * lib/string_.h (strcspn): Add a conditional link warning.
72601         (mbscspn): New declaration.
72602         * m4/mbscspn.m4: New file.
72603         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
72604         GNULIB_MBSCSPN.
72605         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
72606         * MODULES.html.sh (Internationalization functions): Add mbscspn.
72607
72608 2007-02-04  Bruno Haible  <bruno@clisp.org>
72609
72610         New module mbscasestr, reduced goal of strcasestr.
72611         * modules/mbscasestr: New file.
72612         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
72613         (mbscasestr): Renamed from strcasestr.
72614         * lib/strcasestr.c: Don't include mbuiter.h.
72615         (strcasestr): Remove support for multibyte locales.
72616         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
72617         Change the conditional link warning.
72618         (mbscasestr): New declaration.
72619         * m4/mbscasestr.m4: New file.
72620         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
72621         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
72622         REPLACE_STRCASESTR.
72623         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
72624         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
72625         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
72626         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
72627         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
72628         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
72629         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
72630         (Depends-on): Remove mbuiter.
72631         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
72632
72633 2007-02-04  Bruno Haible  <bruno@clisp.org>
72634
72635         Simplify handling of strncasecmp.
72636         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
72637         the conditional link warning.
72638         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
72639         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
72640         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
72641         * modules/strcase (configure.ac): Don't invoke
72642         gl_STRING_MODULE_INDICATOR.
72643         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
72644
72645 2007-02-04  Bruno Haible  <bruno@clisp.org>
72646
72647         New module mbscasecmp, reduced goal of strcasecmp.
72648         * modules/mbscasecmp: New file.
72649         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
72650         (mbscasecmp): Renamed from strcasecmp.
72651         * lib/strcasecmp.c: Don't include mbuiter.h.
72652         (strcasecmp): Remove support for multibyte locales.
72653         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
72654         Change the conditional link warning.
72655         (mbscasecmp): New declaration.
72656         * m4/mbscasecmp.m4: New file.
72657         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
72658         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
72659         REPLACE_STRCASECMP.
72660         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
72661         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
72662         GNULIB_MBSCASECMP.
72663         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
72664         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
72665         * modules/strcase (Files): Remove m4/mbrtowc.m4.
72666         (Depends-on): Remove mbuiter.
72667         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
72668
72669 2007-02-04  Bruno Haible  <bruno@clisp.org>
72670
72671         New module mbsstr. Remove module strstr.
72672         * modules/mbsstr: New file.
72673         * modules/strstr: Remove file.
72674         * lib/mbsstr.c: Renamed from lib/strstr.c.
72675         (mbsstr): Renamed from strstr.
72676         * lib/string_.h (strstr): Remove declaration. Change the conditional
72677         link warning.
72678         (mbsstr): New declaration.
72679         * m4/mbsstr.m4: New file.
72680         * m4/strstr.m4: Remove file.
72681         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
72682         REPLACE_STRSTR.
72683         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
72684         Don't initialize GNULIB_STRSTR.
72685         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
72686         substitute GNULIB_STRSTR and REPLACE_STRSTR.
72687         * MODULES.html.sh (Internationalization functions): Add mbsstr.
72688         (Support for systems lacking ANSI C 89): Remove strstr.
72689
72690 2007-02-04  Bruno Haible  <bruno@clisp.org>
72691
72692         New module mbsrchr.
72693         * modules/mbsrchr: New file.
72694         * lib/mbsrchr.c: New file.
72695         * lib/string_.h (strrchr): Add a conditional link warning.
72696         (mbsrchr): New declaration.
72697         * m4/mbsrchr.m4: New file.
72698         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
72699         GNULIB_MBSRCHR.
72700         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
72701         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
72702
72703 2007-02-04  Bruno Haible  <bruno@clisp.org>
72704
72705         New module mbschr.
72706         * modules/mbschr: New file.
72707         * lib/mbschr.c: New file.
72708         * lib/string_.h (strchr): Add a conditional link warning.
72709         (mbschr): New declaration.
72710         * m4/mbschr.m4: New file.
72711         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
72712         GNULIB_MBSCHR.
72713         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
72714         * MODULES.html.sh (Internationalization functions): Add mbschr.
72715
72716 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
72717
72718         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
72719
72720         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
72721
72722 2007-02-04  Bruno Haible  <bruno@clisp.org>
72723
72724         New module description section 'configure.ac-early'.
72725         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
72726         (func_get_autoconf_early_snippet): New function.
72727         (func_import, func_create_testdir): Use it. Remove special cases for
72728         modules 'extensions' and 'lock'.
72729         * modules/extensions (configure.ac-early): Require
72730         gl_USE_SYSTEM_EXTENSIONS.
72731         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
72732
72733 2007-02-04  Bruno Haible  <bruno@clisp.org>
72734
72735         Make use of gcj-4.3's -fsource and -ftarget option.
72736         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
72737         and if so try the options -fsource and -ftarget.
72738         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
72739         source_version, ftarget_option, target_version arguments.
72740         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
72741         (is_envjavac_oldgcj_14_14_usable): Renamed from
72742         is_envjavac_gcj_14_14_usable.
72743         (is_envjavac_oldgcj_14_13_usable): Renamed from
72744         is_envjavac_gcj_14_13_usable.
72745         (is_gcj_present): Update.
72746         (is_gcj_43, is_gcj43_usable): New functions.
72747         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
72748         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
72749         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
72750         try the options -fsource and -ftarget.
72751
72752 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
72753
72754         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
72755         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
72756         larger value.
72757
72758 2007-02-03  Jim Meyering  <jim@meyering.net>
72759
72760         Give tools a better chance to allocate space for very large buffers.
72761         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
72762
72763         Make pwd and readlink work also when run with an unreadable parent dir
72764         on systems with openat support.
72765         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
72766         provided getcwd function, even when we have openat support.
72767         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
72768
72769 2007-02-02  Bruno Haible  <bruno@clisp.org>
72770
72771         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
72772         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
72773         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
72774         portability problems if one of these functions is only used on specific
72775         platforms.
72776         Reported by Paul Eggert.
72777
72778 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
72779
72780         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
72781         is causing more trouble than it's curing.
72782         * lib/regex_internal.h (__mempcpy): Remove.
72783         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
72784         (and make the code a tad smaller to boot).
72785         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
72786
72787 2007-02-02  Jim Meyering  <jim@meyering.net>
72788
72789         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
72790         section, not in the Makefile.am: one.
72791
72792 2007-02-02  Eric Blake  <ebb9@byu.net>
72793
72794         * lib/strchrnul.c: Always include config.h first.
72795
72796         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
72797         gnulib strstr is not necessary here.
72798
72799 2007-02-02  Simon Josefsson  <simon@josefsson.org>
72800
72801         * m4/socklen.m4: Fix typo.
72802
72803 2007-02-02  Eric Blake  <ebb9@byu.net>
72804
72805         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
72806         * modules/netinet_in (Makefile.am): Likewise.
72807
72808 2007-02-01  Bruno Haible  <bruno@clisp.org>
72809
72810         * lib/string_.h (GL_LINK_WARNING): New macro.
72811         (strcasecmp, strstr, strcasestr): If provided by the system,
72812         conditionally define as a macro that leads to a warning instead of to
72813         an error.
72814         (strncasecmp): Conditionally define as a macro that leads to a warning.
72815
72816 2007-02-01  Karl Berry  <karl@gnu.org>
72817
72818         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
72819
72820 2007-02-01  Bruno Haible  <bruno@clisp.org>
72821
72822         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
72823         renamings.
72824
72825 2007-02-01  Eric Blake  <ebb9@byu.net>
72826
72827         * modules/regex (Depends-on): Revert dependence on mempcpy.
72828         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
72829         module's definition of mempcpy.
72830         Reported by Paul Eggert.
72831
72832 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
72833
72834         * lib/string_.h: If the gnulib module XYZ is not present, undefine
72835         the symbol XYZ before redefining it.  This fixes a problem with
72836         programs that don't use XYZ, when compiled on systems that define
72837         XYZ to something else.
72838
72839 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
72840
72841         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
72842         occurs when "mkdir -m foo" creates a setgid directory that is (1)
72843         writeable to group or other and (2) is intended to have a special
72844         mode bit that is set or cleared.  In such a case, the directory
72845         should be neither group- nor other-writeable until the special
72846         mode bits are right.
72847
72848 2007-01-31  Eric Blake  <ebb9@byu.net>
72849
72850         * modules/mountlist (Depends-on): Add strstr.
72851
72852         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
72853         bug.
72854         * modules/string (Makefile.am): Remove redundant replacement.
72855         * modules/regex (Depends-on): Add mempcpy.
72856
72857 2007-01-31  Bruno Haible  <bruno@clisp.org>
72858
72859         New module description field 'Link'.
72860         * gnulib-tool (func_usage): Document --extract-link-directive.
72861         (sed_extract_prog): Recognize 'Link' directive.
72862         (func_get_link_directive): New function.
72863         (func_import): Show summary of link directives.
72864         Handle --extract-link-directive option.
72865         * modules/acl (Link): New section.
72866         * modules/clock-time (Link): New section.
72867         * modules/euidaccess (Link): New section.
72868         * modules/gettext (Link): New section.
72869         * modules/iconv (Link): New section.
72870         * modules/lock (Link): New section.
72871         * modules/nanosleep (Link): New section.
72872         * modules/readline (Link): New section.
72873
72874 2007-01-27  Bruno Haible  <bruno@clisp.org>
72875
72876         Enforce the use of gnulib modules for unportable <string.h> functions.
72877         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
72878         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
72879         (gl_HEADER_STRING_H_BODY): Require it.
72880         * lib/string_.h: If the gnulib module XYZ is not present, redefine
72881         the symbol XYZ to one that gives a link error.
72882         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
72883         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
72884         * modules/mempcpy (configure.ac): Likewise.
72885         * modules/memrchr (configure.ac): Likewise.
72886         * modules/stpcpy (configure.ac): Likewise.
72887         * modules/stpncpy (configure.ac): Likewise.
72888         * modules/strcase (configure.ac): Likewise.
72889         * modules/strcasestr (configure.ac): Likewise.
72890         * modules/strchrnul (configure.ac): Likewise.
72891         * modules/strdup (configure.ac): Likewise.
72892         * modules/strndup (configure.ac): Likewise.
72893         * modules/strnlen (configure.ac): Likewise.
72894         * modules/strpbrk (configure.ac): Likewise.
72895         * modules/strsep (configure.ac): Likewise.
72896         * modules/strstr (configure.ac): Likewise.
72897         * modules/strtok_r (configure.ac): Likewise.
72898
72899 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
72900
72901         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
72902
72903 2007-01-30  Jim Meyering  <jim@meyering.net>
72904
72905         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
72906
72907 2007-01-29  Bruno Haible  <bruno@clisp.org>
72908
72909         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
72910         * lib/execute.c: Likewise.
72911         * lib/pipe.c: Likewise.
72912         * lib/printf-args.h: Likewise.
72913         * lib/printf-args.c: Likewise.
72914         * lib/printf-parse.c: Likewise.
72915         * lib/vasnprintf.c: Likewise.
72916
72917 2007-01-29  Eric Blake  <ebb9@byu.net>
72918
72919         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
72920         declaration.
72921
72922 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
72923
72924         * lib/strptime.h (strptime): Use 'restrict' for args where
72925         POSIX requires this.
72926         * lib/strptime.c (strptime): Likewise.
72927         Change license notice from LGPL to GPL, since gnulib-tool will
72928         change this as needed.
72929         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
72930         defined.
72931         Include "strptime.h" first, to check interface.
72932         Do not #undef _LIBC and _NL_CURRENT.
72933         Do not include <stdlib.h>; no longer needed.
72934         Include "time_r.h" and declare ptime_locale_status
72935         only if _LIBC is not defined.
72936         (__P): Remove unused macro.
72937         (match_string): Bring back glibc version, but use it only if _LIBC
72938         is defined.
72939         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
72940         Remove unnecessary assertion and abort() call.
72941         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
72942         * m4/strptime.m4: Fix serial number comment.
72943         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
72944         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
72945         (Depends-on): Add time_r.
72946
72947 2007-01-29  Bruno Haible  <bruno@clisp.org>
72948
72949         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
72950         strptime.
72951         * modules/strptime (Depends-on): Add stdbool.
72952         * lib/strptime.h: Include <time.h> always. Add comments.
72953
72954 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
72955
72956         * modules/strptime: New file.
72957         * lib/strptime.h: New file.
72958         * lib/strptime.c: New file.
72959         * m4/strptime.m4: New file.
72960
72961 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
72962
72963         * MODULES.html.sh: New module mpsort.
72964         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
72965
72966         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
72967         a circularity problem with HP-UX ia64 reported by Bob Proulx in
72968         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
72969         All uses changed.
72970         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
72971         All uses changed.
72972         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
72973         to _Restrict_.
72974         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
72975         the parameter matches the prototype.
72976
72977 2007-01-28  Jim Meyering  <jim@meyering.net>
72978
72979         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
72980         sys/time.h here, reverting that part of the previous patch:
72981         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
72982
72983 2007-01-28  Bruno Haible  <bruno@clisp.org>
72984
72985         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
72986         value of $(SYS_TIME_H).
72987         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
72988         remove it conditionally, too. [added by Jim Meyering]
72989         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
72990         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
72991         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
72992         GETTIMEOFDAY_REPLACEMENT to 1.
72993
72994 2007-01-28  Bruno Haible  <bruno@clisp.org>
72995
72996         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
72997         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
72998         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
72999         Set UNISTD_H instead of UNISTD_H2.
73000         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
73001
73002 2007-01-28  Bruno Haible  <bruno@clisp.org>
73003
73004         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
73005         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
73006
73007 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73008
73009         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
73010         (func_create_testdir): Ensure C locale for `grep' and `tr'
73011         character ranges.
73012         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
73013         ACLOCAL_AMFLAGS parsing state machine.
73014
73015 2007-01-27  Bruno Haible  <bruno@clisp.org>
73016
73017         * modules/unistr/base: Update.
73018
73019 2007-01-27  Bruno Haible  <bruno@clisp.org>
73020
73021         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
73022         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
73023         * modules/unistr/u32-mbtouc-unsafe: Renamed from
73024         modules/unistr/u32-mbtouc.
73025         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
73026         * lib/unistr.h: Update.
73027         * lib/linebreak.c: Update.
73028         * modules/unistr/u32-mbtouc: Renamed from
73029         modules/unistr/u32-mbtouc-safe.
73030         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
73031         * lib/unistr.h: Update.
73032         * lib/unistr/u32-to-u8.c: Update.
73033         * lib/unistr/u32-to-u16.c: Update.
73034
73035 2007-01-27  Bruno Haible  <bruno@clisp.org>
73036
73037         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
73038         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
73039         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
73040         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
73041         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
73042         * modules/unistr/u16-mbtouc-unsafe: Renamed from
73043         modules/unistr/u16-mbtouc.
73044         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
73045         * lib/unistr.h: Update.
73046         * lib/linebreak.c: Update.
73047         * modules/linebreak: Update.
73048         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
73049         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
73050         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
73051         * modules/unistr/u16-mbtouc: Renamed from
73052         modules/unistr/u16-mbtouc-safe.
73053         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
73054         * lib/unistr.h: Update.
73055         * lib/unistr/u16-to-u8.c: Update.
73056         * modules/unistr/u16-to-u8: Update.
73057         * lib/unistr/u16-to-u32.c: Update.
73058         * modules/unistr/u16-to-u32: Update.
73059
73060 2007-01-27  Bruno Haible  <bruno@clisp.org>
73061
73062         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
73063         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
73064         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
73065         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
73066         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
73067         * modules/unistr/u8-mbtouc-unsafe: Renamed from
73068         modules/unistr/u8-mbtouc.
73069         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
73070         * lib/unistr.h: Update.
73071         * lib/striconveh.c: Update.
73072         * modules/striconveh: Update.
73073         * lib/linebreak.c: Update.
73074         * modules/linebreak: Update.
73075         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
73076         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
73077         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
73078         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
73079         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
73080         * lib/unistr.h: Update.
73081         * lib/striconveh.c: Update.
73082         * modules/striconveh: Update.
73083         * lib/unistr/u8-to-u16.c: Update.
73084         * modules/unistr/u8-to-u16: Update.
73085         * lib/unistr/u8-to-u32.c: Update.
73086         * modules/unistr/u8-to-u32: Update.
73087
73088 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73089
73090         Sync from Libtool.
73091         * lib/argz.c: Do not include strings.h nor memory.h, include
73092         string.h unconditionally.  Patch by Simon Josefsson.
73093
73094 2007-01-27  Bruno Haible  <bruno@clisp.org>
73095
73096         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
73097         from gl_HEADER_STRING_H_BODY.
73098         (gl_HEADER_STRING_H_BODY): Require it.
73099         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
73100         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
73101         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
73102         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
73103         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
73104         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
73105         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
73106         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
73107         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
73108         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
73109         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
73110         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
73111         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
73112         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
73113         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
73114
73115 2007-01-27  Bruno Haible  <bruno@clisp.org>
73116
73117         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
73118         check_PROGRAMS into noinst_PROGRAMS.
73119         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
73120         check_PROGRAMS in this case.
73121         (func_import): Set for_test to false.
73122         (func_create_testdir): Set for_test to true.
73123
73124 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
73125             Bruno Haible  <bruno@clisp.org>
73126
73127         * modules/strcasestr (Files): Remove lib/strcasestr.h.
73128         (Depends-on): Add string.
73129         (Includes): Use <string.h> instead of strcasestr.h.
73130         * modules/string (Makefile.am): Also substitute the value of
73131         REPLACE_STRCASESTR.
73132         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
73133         assume strcasestr is declared in <string.h> not <strings.h>. Also
73134         set REPLACE_STRCASESTR.
73135         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
73136         REPLACE_STRCASESTR.
73137         * lib/strcasestr.h: Remove file.
73138         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
73139         * lib/string_.h (strcasestr): New declaration.
73140
73141 2007-01-27  Bruno Haible  <bruno@clisp.org>
73142
73143         * lib/string_.h: Use 'extern'.
73144
73145 2007-01-27  Jim Meyering  <jim@meyering.net>
73146
73147         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
73148         of set-but-not-used local, "q".
73149
73150         * lib/mempcpy.c: Include <config.h> before <string.h>.
73151         This fixes a compilation error on HP-UX, due to the system's
73152         "restrict"-using mempcpy prototype.
73153
73154 2007-01-26  Bruno Haible  <bruno@clisp.org>
73155
73156         Small optimization.
73157         * lib/javacomp.c: Include c-strstr.h.
73158          (is_envjavac_gcj): Use c_strstr instead of strstr.
73159         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
73160
73161 2007-01-26  Bruno Haible  <bruno@clisp.org>
73162
73163         * MODULES.html.sh (Unicode string functions): Add the new modules.
73164
73165         * modules/uniconv/u32-strconv-to-locale: New file.
73166         * lib/uniconv/u32-strconv-to-locale.c: New file.
73167
73168         * modules/uniconv/u16-strconv-to-locale: New file.
73169         * lib/uniconv/u16-strconv-to-locale.c: New file.
73170
73171         * modules/uniconv/u8-strconv-to-locale: New file.
73172         * lib/uniconv/u8-strconv-to-locale.c: New file.
73173
73174         * modules/uniconv/u32-strconv-from-locale: New file.
73175         * lib/uniconv/u32-strconv-from-locale.c: New file.
73176
73177         * modules/uniconv/u16-strconv-from-locale: New file.
73178         * lib/uniconv/u16-strconv-from-locale.c: New file.
73179
73180         * modules/uniconv/u8-strconv-from-locale: New file.
73181         * lib/uniconv/u8-strconv-from-locale.c: New file.
73182
73183         * modules/uniconv/u32-strconv-to-enc: New file.
73184         * lib/uniconv/u32-strconv-to-enc.c: New file.
73185         * modules/uniconv/u32-strconv-to-enc-tests: New file.
73186         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
73187
73188         * modules/uniconv/u16-strconv-to-enc: New file.
73189         * lib/uniconv/u16-strconv-to-enc.c: New file.
73190         * lib/uniconv/u-strconv-to-enc.h: New file.
73191         * modules/uniconv/u16-strconv-to-enc-tests: New file.
73192         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
73193
73194         * modules/uniconv/u8-strconv-to-enc: New file.
73195         * lib/uniconv/u8-strconv-to-enc.c: New file.
73196         * modules/uniconv/u8-strconv-to-enc-tests: New file.
73197         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
73198
73199         * modules/uniconv/u32-strconv-from-enc: New file.
73200         * lib/uniconv/u32-strconv-from-enc.c: New file.
73201         * modules/uniconv/u32-strconv-from-enc-tests: New file.
73202         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
73203
73204         * modules/uniconv/u16-strconv-from-enc: New file.
73205         * lib/uniconv/u16-strconv-from-enc.c: New file.
73206         * modules/uniconv/u16-strconv-from-enc-tests: New file.
73207         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
73208
73209         * modules/uniconv/u8-strconv-from-enc: New file.
73210         * lib/uniconv/u8-strconv-from-enc.c: New file.
73211         * lib/uniconv/u-strconv-from-enc.h: New file.
73212         * modules/uniconv/u8-strconv-from-enc-tests: New file.
73213         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
73214
73215         * modules/uniconv/u32-conv-from-enc: New file.
73216         * lib/uniconv/u32-conv-from-enc.c: New file.
73217         * modules/uniconv/u32-conv-from-enc-tests: New file.
73218         * tests/uniconv/test-u32-conv-from-enc.c: New file.
73219
73220         * modules/uniconv/u16-conv-from-enc: New file.
73221         * lib/uniconv/u16-conv-from-enc.c: New file.
73222         * lib/uniconv/u-conv-from-enc.h: New file.
73223         * modules/uniconv/u16-conv-from-enc-tests: New file.
73224         * tests/uniconv/test-u16-conv-from-enc.c: New file.
73225
73226         * modules/uniconv/u8-conv-from-enc: New file.
73227         * lib/uniconv/u8-conv-from-enc.c: New file.
73228         * modules/uniconv/u8-conv-from-enc-tests: New file.
73229         * tests/uniconv/test-u8-conv-from-enc.c: New file.
73230
73231         * modules/uniconv/base: New file.
73232         * lib/uniconv.h: New file.
73233
73234 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
73235
73236         * doc/gnulib-tool.texi (Initial import): Update to match current
73237         behavior with strdup module.
73238         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
73239         * lib/memmem.h: Remove; all uses removed.  This is now done
73240         by <string.h>.
73241         * lib/mempcpy.h: Likewise.
73242         * lib/memrchr.h: Likewise.
73243         * lib/stpcpy.h: Likewise.
73244         * lib/stpncpy.h: Likewise.
73245         * lib/strcase.h: Likewise.
73246         * lib/strchrnul.h: Likewise.
73247         * lib/strdup.h: Likewise.
73248         * lib/strndup.h: Likewise.
73249         * lib/strnlen.h: Likewise.
73250         * lib/strpbrk.h: Likewise.
73251         * lib/strsep.h: Likewise.
73252         * lib/strstr.h: Likewise.
73253         * lib/strtok_r.h: Likewise.
73254         * lib/string_.h: New file.
73255         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
73256         Rely on <string.h> instead.
73257         * lib/canon-host.c: Likewise.
73258         * lib/chdir-long.c: Likewise.
73259         * lib/concatpath.c: Likewise.
73260         * lib/exclude.c: Likewise.
73261         * lib/fchdir.c: Likewise.
73262         * lib/getaddrinfo.c: Likewise.
73263         * lib/getcwd.c: Likewise.
73264         * lib/getsubopt.c: Likewise.
73265         * lib/glob.c: Likewise.
73266         * lib/hard-locale.c: Likewise.
73267         * lib/iconvme.c: Likewise.
73268         * lib/javacomp.c: Likewise.
73269         * lib/mempcpy.c: Likewise.
73270         * lib/memrchr.c: Likewise.
73271         * lib/regex_internal.h: Likewise.
73272         * lib/stpncpy.c: Likewise.
73273         * lib/strcasecmp.c: Likewise.
73274         * lib/strchrnul.c: Likewise.
73275         * lib/strdup.c: Likewise.
73276         * lib/striconv.c: Likewise.
73277         * lib/striconveh.c: Likewise.
73278         * lib/striconveha.c: Likewise.
73279         * lib/strncasecmp.c: Likewise.
73280         * lib/strndup.c: Likewise.
73281         * lib/strnlen.c: Likewise.
73282         * lib/strsep.c: Likewise.
73283         * lib/strstr.c: Likewise.
73284         * lib/strtok_r.c: Likewise.
73285         * lib/userspec.c: Likewise.
73286         * lib/w32spawn.h: Likewise.
73287         * lib/xstrndup.c: Likewise.
73288         * lib/mountlist.c (strstr): Remove decl.
73289         * m4/string_h.m4: New file.
73290         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
73291         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
73292         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
73293         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
73294         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
73295         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
73296         Set REPLACE_STRCASECMP if necessary.
73297         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
73298         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
73299         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
73300         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
73301         HAVE_DECL_STRDUP if necessary.
73302         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
73303         since gl_FUNC_STRNDUP does that now.
73304         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
73305         Check for decl here...
73306         (gl_PREREQ_STRNLEN): ... not here.
73307         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
73308         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
73309         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
73310         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
73311         necessary.
73312         * modules/string: New file.
73313         * modules/memmem (Files): Remove special-purpose include file.
73314         (Depends-on): Add string.
73315         (Include): Include <string.h>, not the removed file.
73316         * modules/mempcpy: Likewise.
73317         * modules/memrchr: Likewise.
73318         * modules/stpcpy: Likewise.
73319         * modules/stpncpy: Likewise.
73320         * modules/strcase: Likewise.
73321         * modules/strchrnul: Likewise.
73322         * modules/strdup: Likewise.
73323         * modules/strndup: Likewise.
73324         * modules/strnlen: Likewise.
73325         * modules/strpbrk: Likewise.
73326         * modules/strsep: Likewise.
73327         * modules/strstr: Likewise.
73328         * modules/strtok_r: Likewise.
73329         * tests/test-dirname.c: Don't include "strdup.h", since
73330         <string.h> now suffices.
73331         * tests/test-memmem.c: Don't include "memmem.h", since
73332         <string.h> now suffices.
73333
73334 2007-01-25  Bruno Haible  <bruno@clisp.org>
73335
73336         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
73337         *resultp is 0.
73338
73339         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
73340         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
73341         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
73342         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
73343
73344         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
73345         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
73346         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
73347         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
73348         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
73349         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
73350
73351 2007-01-24  Bruno Haible  <bruno@clisp.org>
73352
73353         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
73354         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
73355         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
73356         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
73357         gl_FUNC_FTS_CORE.
73358         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
73359         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
73360         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
73361         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
73362         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
73363         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
73364         gl_FUNC_FCHOWNAT.
73365         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
73366         gl_FUNC_STRFTIME.
73367         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
73368         Reported by Ralf Wildenhues.
73369
73370 2007-01-24  Bruno Haible  <bruno@clisp.org>
73371
73372         Drop AC_REQUIRE calls that are redundant with the module dependencies.
73373         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
73374         gl_GETADDRINFO.
73375         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
73376         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
73377         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
73378
73379 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
73380
73381         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
73382         Don't use 'exit'; just return from 'main'.
73383         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
73384
73385         * lib/fnmatch_.h: Readjust white space and comments to match
73386         glibc, to avoid spurious diffs.
73387
73388 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
73389
73390         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
73391         2004-12-01 change by Jakub Jelinek, since this code won't compile
73392         if !LIBC.  Problem reported by Bob Proulx.
73393
73394 2007-01-23  Bruno Haible  <bruno@clisp.org>
73395
73396         * lib/striconveh.c: Include c-strcaseeq.h.
73397         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
73398         * modules/striconveh (Depends-on): Add c-strcaseeq.
73399
73400 2007-01-23  Bruno Haible  <bruno@clisp.org>
73401
73402         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
73403
73404         * modules/c-strcaseeq: New file.
73405         * lib/c-strcaseeq.h: New file.
73406
73407         * modules/streq: New file.
73408         * lib/streq.h: New file.
73409
73410 2007-01-23  Bruno Haible  <bruno@clisp.org>
73411
73412         * modules/striconveha-tests: New file.
73413         * tests/test-striconveha.c: New file.
73414
73415         * lib/striconveha.h: Include <stdbool.h>.
73416         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
73417         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
73418         (mem_iconveha_notranslit): Renamed from mem_iconveha.
73419         (mem_iconveha): New function.
73420         (str_iconveha_notranslit): Renamed from str_iconveha.
73421         (str_iconveha): New function.
73422         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
73423         c-strcase.
73424
73425 2007-01-23  Bruno Haible  <bruno@clisp.org>
73426
73427         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
73428         encodings without forgiving before trying any encoding with handler.
73429         (str_iconveha): Try all encodings without forgiving before trying any
73430         encoding with handler.
73431
73432 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
73433
73434         Import the following changes from libc.
73435
73436         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
73437
73438         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
73439
73440         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
73441
73442         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
73443         normal_bracket label.
73444
73445         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
73446
73447         [BZ #361]
73448         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
73449         to normal_bracket after fetching the next character.
73450
73451 2007-01-22  Bruno Haible  <bruno@clisp.org>
73452
73453         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
73454         argument.
73455         * lib/striconveh.c (iconv_carefully_1): New function.
73456         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
73457         argument.
73458         (str_cd_iconveh): Update.
73459         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
73460         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
73461         * tests/test-striconveh.c (MAGIC): New macro.
73462         (new_offsets): New function.
73463         (main): Test call with and without offsets.
73464
73465 2007-01-22  Bruno Haible  <bruno@clisp.org>
73466
73467         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
73468         * modules/sys_select (Makefile.am): Likewise.
73469         * modules/sys_socket (Makefile.am): Likewise.
73470         * modules/sys_time (Makefile.am): Likewise.
73471
73472 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
73473
73474         * modules/gettimeofday (License): Change from GPL to LGPL, since
73475         gettimeofday is a library function.
73476
73477 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73478
73479         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
73480
73481 2007-01-21  Bruno Haible  <bruno@clisp.org>
73482
73483         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
73484
73485 2007-01-21  Bruno Haible  <bruno@clisp.org>
73486
73487         * modules/striconveha: New file.
73488         * lib/striconveha.h: New file.
73489         * lib/striconveha.c: New file.
73490         * MODULES.html.sh (Internationalization functions): Add striconveha.
73491         * lib/striconv.c (str_iconv): Optimize the case of an empty input
73492         string.
73493         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
73494
73495 2007-01-21  Bruno Haible  <bruno@clisp.org>
73496
73497         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
73498         * lib/striconveh.c (str_iconveh): Likewise.
73499
73500 2007-01-21  Bruno Haible  <bruno@clisp.org>
73501
73502         * lib/striconveh.h (mem_iconveh): New declaration.
73503         * lib/striconveh.c (mem_iconveh): New function.
73504         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
73505
73506 2007-01-21  Bruno Haible  <bruno@clisp.org>
73507
73508         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
73509
73510         * lib/striconveh.h (mem_cd_iconveh): Change specification.
73511         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
73512         original result buffer.
73513         (str_cd_iconveh): Update.
73514         * tests/test-striconveh.c (main): Update.
73515
73516         * lib/striconv.h (mem_cd_iconv): Change specification.
73517         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
73518         result buffer.
73519         (str_cd_iconv): Update.
73520         * tests/test-striconv.c (main): Update.
73521
73522 2007-01-21  Bruno Haible  <bruno@clisp.org>
73523
73524         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
73525
73526 2007-01-20  Jim Meyering  <jim@meyering.net>
73527
73528         * lib/userspec.c (parse_with_separator): If a user or group string
73529         starts with "+", skip the corresponding name-to-ID look-up, since
73530         such a look-up must fail: user and group names may not include "+".
73531
73532 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
73533
73534         * lib/poll.c: Include sys/time.h and time.h unconditionally,
73535         since we now assume the sys_time module.
73536         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
73537         check for sys/time.h; no longer needed.
73538         * modules/poll (Depends-on): Depend on sys_time.
73539
73540 2007-01-18  Bruno Haible  <bruno@clisp.org>
73541
73542         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
73543         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
73544
73545         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
73546         gettimeofday.
73547
73548         * tests/test-gettimeofday.c: Include <time.h>.
73549         (dummy): Remove variable.
73550
73551         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
73552         gl_HEADER_SYS_TIME_H.
73553         (gl_HEADER_SYS_TIME_H): New macro.
73554
73555         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
73556         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
73557         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
73558         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
73559         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
73560         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
73561         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
73562         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
73563         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
73564         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
73565         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
73566
73567         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
73568         last change; it caused a compilation error when cross-compiling to
73569         Cygwin.
73570
73571 2007-01-18  Jim Meyering  <jim@meyering.net>
73572
73573         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
73574         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
73575         than the race-prone "test -d sys || mkdir sys".
73576         (configure.ac): Use AC_PROG_MKDIR_P.
73577         * modules/sys_select: Likewise.
73578         * modules/sys_socket: Likewise.
73579         * modules/sys_time: Likewise.
73580
73581 2007-01-18  Eric Blake  <ebb9@byu.net>
73582
73583         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
73584         replace gettimeofday.
73585         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
73586         name, to avoid infinite recursion.
73587
73588 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
73589
73590         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
73591         module sys_time.
73592         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
73593         assume timespec.h defines struct timeval.
73594         * lib/settime.c: Likewise.
73595         * lib/utimens.c: Likewise.
73596         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
73597         since we now assume the gettimeofday module.
73598         * lib/tempname.c (__gen_tempname): Likewise.
73599         * lib/gettimeofday.h: Remove.
73600         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
73601         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
73602         Include <time.h>, for 'time()'.
73603         (localtime_buffer_addr): Also use this workaround if
73604         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
73605         to simplify the uses.  All uses changed.
73606         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
73607         that #undef is inside {}, and 'const' follows type name consistently.
73608         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
73609         (gettimeofday): Do not use the maximum possible value for
73610         tv->tv_usec, since that might break usages other than ls.c.
73611         Instead, we'll leave ls.c alone.  This undoes today's patch
73612         by Bruno.  Add a compile-time warning for 1s-clock resolution;
73613         we've never observed the problem but might as well keep the
73614         canary.
73615         * lib/nanosleep.c: Include timespec.h first, for interface check.
73616         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
73617         now assume the sys_time module.
73618         * lib/tempname.c: Likewise.
73619         * lib/timespec.h: Likewise.
73620         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
73621         needed.
73622         * lib/strftime.c: Likewise.
73623         * lib/timespec.h: Likewise.
73624         * lib/posixtm.c: Include posixtm.h first, for interface check.
73625         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
73626         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
73627         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
73628         * lib/sys_time_.h: New file.
73629         * lib/timespec.h (struct timespec): Use long int, not long.
73630         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
73631         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
73632         Remove obsolescent call to AC_HEADER_TIME.
73633         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
73634         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
73635         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
73636         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
73637         Likewise.
73638         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
73639         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
73640         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
73641         into the sys_time module.  Check for gettimeofday just once.
73642         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
73643         for gettimeofday signature to just check the signature.  Merely
73644         compile it, since linking doesn't test signature.  Improve test for
73645         whether gettimeofday.o is actually needed.
73646         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
73647         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
73648         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
73649         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
73650         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
73651         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
73652         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
73653         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
73654         than worrying about sys/time.h.
73655         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
73656         Don't bother worrying about TIME_WITH_SYS_TIME.
73657         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
73658         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
73659         * m4/sys_time_h.m4: New file.
73660         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
73661         Don't include sys/time.h.  Return from main rather than exiting.
73662         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
73663         all uses changed.
73664         * modules/gethrxtime (Depends-on): Add sys_time.
73665         * modules/gettime (Depends-on): Likewise.
73666         * modules/gettimeofday (Depends-on): Likewise.
73667         * modules/nanosleep (Depends-on): Likewise.
73668         * modules/settime (Depends-on): Likewise.
73669         * modules/tempname (Depends-on): Likewise.
73670         * modules/utimens (Depends-on): Likewise.
73671         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
73672         (Include): Change back to <sys/time.h>.
73673         (Maintainer): Add self.
73674         * modules/sys_time: New file.
73675         * modules/tempname (Depends-on): Add gettimeofday.
73676         * tests/test-gettimeofday.c: Include <sys/time.h>
73677         rather than gettimeofday.h.
73678
73679 2007-01-17  Bruno Haible  <bruno@clisp.org>
73680
73681         * gnulib-tool (func_get_license): Revert last patch. Instead, let
73682         the license default to GPL.
73683         (func_create_testdir): Don't complain if a module is LGPL and its
73684         tests module depends on GPLed modules.
73685
73686 2007-01-17  Bruno Haible  <bruno@clisp.org>
73687
73688         * lib/gettimeofday.c (gettimeofday): Add code for the case
73689         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
73690         maximum possible value for tv->tv_usec, rather than the minimum one.
73691
73692 2005-10-08  Martin Lambers  <marlam@marlam.de>
73693 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
73694 2007-01-16  Bruno Haible  <bruno@clisp.org>
73695
73696         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
73697         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
73698         gl_FUNC_GETTIMEOFDAY.
73699         (Include): Add gettimeofday.h.
73700         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
73701         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
73702         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
73703         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
73704         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
73705         * lib/gettimeofday.h: New file.
73706         * lib/gettimeofday.c: Include <sys/timeb.h>.
73707         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
73708         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
73709         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
73710         fall back on time().
73711
73712         * tests/test-gettimeofday.c: New file.
73713         * modules/gettimeofday-tests: New file.
73714
73715 2007-01-16  Eric Blake  <ebb9@byu.net>
73716
73717         * modules/fnmatch (Depends-on): Depend on wchar.
73718         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
73719         * m4/fnmatch.m4: Likewise.
73720         * modules/mbchar (Makefile.am): Assume <wchar.h>.
73721         * m4/mbchar.m4: Likewise.
73722         * modules/mbswidth (Depends-on): Depend on wchar.
73723         * lib/mbswidth.c: Assume <wchar.h>.
73724         * m4/mbswidth.m4: Likewise.
73725         * modules/quotearg (Depends-on): Depend on wchar.
73726         * lib/quotearg.c: Assume <wchar.h>.
73727         * m4/quotearg.m4: Likewise.
73728         * modules/regex (Depends-on): Depend on wchar.
73729         * lib/regex_internal.h: Assume <wchar.h>.
73730         * m4/regex.m4: Likewise.
73731         * modules/stdint (Depends-on): Depend on wchar.
73732         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
73733         * m4/stdint.m4: Likewise.
73734         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
73735         * modules/strftime (Depends-on): Depend on wchar.
73736         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
73737         * modules/strtol (Depends-on): Depend on wchar.
73738         * lib/strtol.c: Assume <wchar.h>.
73739         * modules/wcwidth (Depends-on): Depend on wchar.
73740         * lib/wcwidth.h: Assume <wchar.h>.
73741         * m4/wcwidth.m4: Likewise.
73742
73743 2007-01-16  Bruno Haible  <bruno@clisp.org>
73744
73745         * modules/csharpexec-script: New, created from...
73746         * modules/csharpexec: ... this.
73747
73748 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
73749
73750         * modules/javaexec-script: New, created from...
73751         * modules/javaexec: ... this.
73752
73753 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73754
73755         * modules/poll (Dependencies): Add sys_select.
73756
73757 2007-01-15  Jim Meyering  <jim@meyering.net>
73758
73759         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
73760         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
73761         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
73762         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
73763
73764 2007-01-15  Bruno Haible  <bruno@clisp.org>
73765
73766         * modules/striconveh: New file.
73767         * lib/striconveh.h: New file.
73768         * lib/striconveh.c: New file.
73769         * MODULES.html.sh (Internationalization functions): Add striconveh.
73770
73771         * modules/striconveh-tests: New file.
73772         * tests/test-striconveh.c: New file.
73773
73774 2007-01-15  Bruno Haible  <bruno@clisp.org>
73775
73776         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
73777         not from GNU libiconv or GNU libc.
73778
73779 2007-01-15  Bruno Haible  <bruno@clisp.org>
73780
73781         * doc/gnulib-intro.texi (Copyright): Explain the different license
73782         terms for module descriptions, autoconf macros, tests, documentation.
73783
73784 2007-01-14  Bruno Haible  <bruno@clisp.org>
73785
73786         * modules/striconv-tests: New file.
73787         * tests/test-striconv.c: New file.
73788
73789 2007-01-14  Bruno Haible  <bruno@clisp.org>
73790
73791         * modules/iconv-tests: New file.
73792         * tests/test-iconv.c: New file.
73793
73794 2007-01-14  Bruno Haible  <bruno@clisp.org>
73795
73796         * gnulib-tool (func_get_license): For test modules, use the license of
73797         the main module.
73798
73799 2007-01-14  Bruno Haible  <bruno@clisp.org>
73800
73801         * modules/iconv (Include): Clarify that <iconv.h> can only be included
73802         if iconv is found to exist.
73803
73804 2007-01-14  Bruno Haible  <bruno@clisp.org>
73805
73806         * modules/c-ctype-tests: New file.
73807         * tests/test-c-ctype.c: New file.
73808
73809 2007-01-14  Bruno Haible  <bruno@clisp.org>
73810
73811         * modules/binary-io-tests: New file.
73812         * tests/test-binary-io.sh: New file.
73813         * tests/test-binary-io.c: New file.
73814
73815 2007-01-14  Bruno Haible  <bruno@clisp.org>
73816
73817         * modules/array-oset-tests: New file.
73818         * tests/test-array_oset.c: New file.
73819
73820 2007-01-14  Bruno Haible  <bruno@clisp.org>
73821
73822         * modules/array-list-tests: New file.
73823         * tests/test-array_list.c: New file.
73824
73825 2007-01-14  Bruno Haible  <bruno@clisp.org>
73826
73827         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
73828         and make.
73829         Reported by Simon Josefsson in
73830         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
73831
73832 2007-01-14  Bruno Haible  <bruno@clisp.org>
73833
73834         * modules/allocsa-tests: New file.
73835         * tests/test-allocsa.c: New file.
73836
73837 2007-01-14  Bruno Haible  <bruno@clisp.org>
73838
73839         * modules/fchdir (Depends-on): Add absolute-header.
73840         * modules/unistd (Depends-on): Likewise.
73841
73842 2006-12-30  Bruno Haible  <bruno@clisp.org>
73843
73844         * modules/fchdir: New file.
73845         * modules/unistd (Files): Add lib/unistd_.h.
73846         (Makefile.am): Generate unistd.h from unistd_.h.
73847         * lib/fchdir.c: New file.
73848         * lib/dirent_.h: New file.
73849         * lib/unistd_.h: New file.
73850         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
73851         * m4/fchdir.m4: New file.
73852         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
73853         (gl_HEADER_UNISTD): Invoke it.
73854         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
73855         function.
73856         * lib/backupfile.c (opendir, closedir): Undefine.
73857         * lib/chown.c (open, close): Undefine.
73858         * lib/clean-temp.c (open, close): Undefine.
73859         * lib/copy-file.c (open, close): Undefine.
73860         * lib/execute.c (open, close): Undefine.
73861         * lib/fsusage.c (open, close): Undefine.
73862         * lib/gc-gnulib.c (open, close): Undefine.
73863         * lib/getcwd.c (opendir, closedir): Undefine.
73864         * lib/glob.c (opendir, closedir): Undefine.
73865         * lib/javacomp.c (open, close): Undefine.
73866         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
73867         * lib/openat-proc.c (open, close): Undefine.
73868         * lib/pagealign_alloc.c (open, close): Undefine.
73869         * lib/pipe.c (open, close): Undefine.
73870         * lib/progreloc.c (open, close): Undefine.
73871         * lib/savedir.c (opendir, closedir): Undefine.
73872         * lib/utime.c (open, close): Undefine.
73873         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
73874
73875 2007-01-10  Bruno Haible  <bruno@clisp.org>
73876
73877         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
73878
73879 2007-01-12  Eric Blake  <ebb9@byu.net>
73880
73881         Provide a robust <wchar.h>.  Further simplifications are now
73882         possible in other modules, but not included here.
73883         * modules/wchar: New module.
73884         * m4/wchar.m4: New file.
73885         * lib/wchar_.h: Likewise.
73886         * modules/mbchar (Depends-on): Depend on wchar, as the first use
73887         of the new module.
73888         * MODULES.html.sh (Extended multibyte and wide character utilities):
73889         New section.
73890
73891 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
73892
73893         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
73894         to a reasonable default for memory allocation.
73895         (xreadlink): Don't allocate a huge buffer, to work around a buggy
73896         file system that reports garbage st_size values for symlinks.
73897         Problem reported by Liyang Hu.
73898
73899 2007-01-11  Simon Josefsson  <simon@josefsson.org>
73900
73901         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
73902         Emacs .#* auto-save files).
73903
73904 2007-01-11  Bruno Haible  <bruno@clisp.org>
73905
73906         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
73907         directory.
73908
73909 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
73910
73911         Use @...@ consistently in lib/wctype_.h.
73912         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
73913         on it being set to 1 or 0.
73914         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
73915         go back to AC_SUBSTing it.
73916         * modules/wctype (Makefile.am): Undo previous change.
73917
73918 2007-01-10  Eric Blake  <ebb9@byu.net>
73919
73920         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
73921         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
73922         * modules/wctype (Makefile.am): Likewise.
73923         Reported by Chris McGuire.
73924
73925 2007-01-10  Jim Meyering  <jim@meyering.net>
73926
73927         fts.c: a small readability/maintainability improvement
73928         * lib/fts.c (fts_read): Make this code slightly more readable and
73929         maintainable by hoisting the "sp->fts_cur = p" assignments to
73930         immediately follow the statements that set P.  Derived from
73931         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
73932
73933 2007-01-10  Eric Blake  <ebb9@byu.net>
73934
73935         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
73936         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
73937         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
73938         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
73939         Reported by Chris McGuire.
73940
73941 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73942
73943         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
73944         in sed script.
73945
73946 2007-01-09  Bruno Haible  <bruno@clisp.org>
73947
73948         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
73949         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
73950         variables.
73951         (func_module): Use them.
73952
73953 2007-01-09  Bruno Haible  <bruno@clisp.org>
73954
73955         * modules/unistr/base: New file.
73956         * lib/unistr.h: New file.
73957
73958         * modules/unistr/u8-to-u16: New file.
73959         * lib/unistr/u8-to-u16.c: New file.
73960
73961         * modules/unistr/u8-to-u32: New file.
73962         * lib/unistr/u8-to-u32.c: New file.
73963
73964         * modules/unistr/u16-to-u8: New file.
73965         * lib/unistr/u16-to-u8.c: New file.
73966
73967         * modules/unistr/u16-to-u32: New file.
73968         * lib/unistr/u16-to-u32.c: New file.
73969
73970         * modules/unistr/u32-to-u8: New file.
73971         * lib/unistr/u32-to-u8.c: New file.
73972
73973         * modules/unistr/u32-to-u16: New file.
73974         * lib/unistr/u32-to-u16.c: New file.
73975
73976         * modules/unistr/u8-check: New file.
73977         * modules/unistr/u16-check: New file.
73978         * modules/unistr/u32-check: New file.
73979         * lib/unistr/u8-check.c: New file.
73980         * lib/unistr/u16-check.c: New file.
73981         * lib/unistr/u32-check.c: New file.
73982
73983         * modules/unistr/u8-chr: New file.
73984         * modules/unistr/u16-chr: New file.
73985         * modules/unistr/u32-chr: New file.
73986         * lib/unistr/u8-chr.c: New file.
73987         * lib/unistr/u16-chr.c: New file.
73988         * lib/unistr/u32-chr.c: New file.
73989
73990         * modules/unistr/u8-cmp: New file.
73991         * modules/unistr/u16-cmp: New file.
73992         * modules/unistr/u32-cmp: New file.
73993         * lib/unistr/u8-cmp.c: New file.
73994         * lib/unistr/u16-cmp.c: New file.
73995         * lib/unistr/u32-cmp.c: New file.
73996
73997         * modules/unistr/u8-cpy: New file.
73998         * modules/unistr/u16-cpy: New file.
73999         * modules/unistr/u32-cpy: New file.
74000         * lib/unistr/u8-cpy.c: New file.
74001         * lib/unistr/u16-cpy.c: New file.
74002         * lib/unistr/u32-cpy.c: New file.
74003         * lib/unistr/u-cpy.h: New file.
74004
74005         * modules/unistr/u8-cpy-alloc: New file.
74006         * modules/unistr/u16-cpy-alloc: New file.
74007         * modules/unistr/u32-cpy-alloc: New file.
74008         * lib/unistr/u8-cpy-alloc.c: New file.
74009         * lib/unistr/u16-cpy-alloc.c: New file.
74010         * lib/unistr/u32-cpy-alloc.c: New file.
74011         * lib/unistr/u-cpy-alloc.h: New file.
74012
74013         * modules/unistr/u8-endswith: New file.
74014         * modules/unistr/u16-endswith: New file.
74015         * modules/unistr/u32-endswith: New file.
74016         * lib/unistr/u8-endswith.c: New file.
74017         * lib/unistr/u16-endswith.c: New file.
74018         * lib/unistr/u32-endswith.c: New file.
74019         * lib/unistr/u-endswith.h: New file.
74020
74021         * modules/unistr/u8-mblen: New file.
74022         * modules/unistr/u16-mblen: New file.
74023         * modules/unistr/u32-mblen: New file.
74024         * lib/unistr/u8-mblen.c: New file.
74025         * lib/unistr/u16-mblen.c: New file.
74026         * lib/unistr/u32-mblen.c: New file.
74027
74028         * modules/unistr/u8-mbtouc: New file.
74029         * modules/unistr/u16-mbtouc: New file.
74030         * modules/unistr/u32-mbtouc: New file.
74031         * lib/unistr/u8-mbtouc.c: New file.
74032         * lib/unistr/u16-mbtouc.c: New file.
74033         * lib/unistr/u32-mbtouc.c: New file.
74034
74035         * modules/unistr/u8-mbtouc-safe: New file.
74036         * modules/unistr/u16-mbtouc-safe: New file.
74037         * modules/unistr/u32-mbtouc-safe: New file.
74038         * lib/unistr/u8-mbtouc-safe.c: New file.
74039         * lib/unistr/u16-mbtouc-safe.c: New file.
74040         * lib/unistr/u32-mbtouc-safe.c: New file.
74041
74042         * modules/unistr/u8-move: New file.
74043         * modules/unistr/u16-move: New file.
74044         * modules/unistr/u32-move: New file.
74045         * lib/unistr/u8-move.c: New file.
74046         * lib/unistr/u16-move.c: New file.
74047         * lib/unistr/u32-move.c: New file.
74048         * lib/unistr/u-move.h: New file.
74049
74050         * modules/unistr/u8-next: New file.
74051         * modules/unistr/u16-next: New file.
74052         * modules/unistr/u32-next: New file.
74053         * lib/unistr/u8-next.c: New file.
74054         * lib/unistr/u16-next.c: New file.
74055         * lib/unistr/u32-next.c: New file.
74056
74057         * modules/unistr/u8-prev: New file.
74058         * modules/unistr/u16-prev: New file.
74059         * modules/unistr/u32-prev: New file.
74060         * lib/unistr/u8-prev.c: New file.
74061         * lib/unistr/u16-prev.c: New file.
74062         * lib/unistr/u32-prev.c: New file.
74063
74064         * modules/unistr/u8-set: New file.
74065         * modules/unistr/u16-set: New file.
74066         * modules/unistr/u32-set: New file.
74067         * lib/unistr/u8-set.c: New file.
74068         * lib/unistr/u16-set.c: New file.
74069         * lib/unistr/u32-set.c: New file.
74070         * lib/unistr/u-set.h: New file.
74071
74072         * modules/unistr/u8-startswith: New file.
74073         * modules/unistr/u16-startswith: New file.
74074         * modules/unistr/u32-startswith: New file.
74075         * lib/unistr/u8-startswith.c: New file.
74076         * lib/unistr/u16-startswith.c: New file.
74077         * lib/unistr/u32-startswith.c: New file.
74078         * lib/unistr/u-startswith.h: New file.
74079
74080         * modules/unistr/u8-stpcpy: New file.
74081         * modules/unistr/u16-stpcpy: New file.
74082         * modules/unistr/u32-stpcpy: New file.
74083         * lib/unistr/u8-stpcpy.c: New file.
74084         * lib/unistr/u16-stpcpy.c: New file.
74085         * lib/unistr/u32-stpcpy.c: New file.
74086         * lib/unistr/u-stpcpy.h: New file.
74087
74088         * modules/unistr/u8-stpncpy: New file.
74089         * modules/unistr/u16-stpncpy: New file.
74090         * modules/unistr/u32-stpncpy: New file.
74091         * lib/unistr/u8-stpncpy.c: New file.
74092         * lib/unistr/u16-stpncpy.c: New file.
74093         * lib/unistr/u32-stpncpy.c: New file.
74094         * lib/unistr/u-stpncpy.h: New file.
74095
74096         * modules/unistr/u8-strcat: New file.
74097         * modules/unistr/u16-strcat: New file.
74098         * modules/unistr/u32-strcat: New file.
74099         * lib/unistr/u8-strcat.c: New file.
74100         * lib/unistr/u16-strcat.c: New file.
74101         * lib/unistr/u32-strcat.c: New file.
74102         * lib/unistr/u-strcat.h: New file.
74103
74104         * modules/unistr/u8-strchr: New file.
74105         * modules/unistr/u16-strchr: New file.
74106         * modules/unistr/u32-strchr: New file.
74107         * lib/unistr/u8-strchr.c: New file.
74108         * lib/unistr/u16-strchr.c: New file.
74109         * lib/unistr/u32-strchr.c: New file.
74110
74111         * modules/unistr/u8-strcmp: New file.
74112         * modules/unistr/u16-strcmp: New file.
74113         * modules/unistr/u32-strcmp: New file.
74114         * lib/unistr/u8-strcmp.c: New file.
74115         * lib/unistr/u16-strcmp.c: New file.
74116         * lib/unistr/u32-strcmp.c: New file.
74117
74118         * modules/unistr/u8-strcpy: New file.
74119         * modules/unistr/u16-strcpy: New file.
74120         * modules/unistr/u32-strcpy: New file.
74121         * lib/unistr/u8-strcpy.c: New file.
74122         * lib/unistr/u16-strcpy.c: New file.
74123         * lib/unistr/u32-strcpy.c: New file.
74124         * lib/unistr/u-strcpy.h: New file.
74125
74126         * modules/unistr/u8-strcspn: New file.
74127         * modules/unistr/u16-strcspn: New file.
74128         * modules/unistr/u32-strcspn: New file.
74129         * lib/unistr/u8-strcspn.c: New file.
74130         * lib/unistr/u16-strcspn.c: New file.
74131         * lib/unistr/u32-strcspn.c: New file.
74132         * lib/unistr/u-strcspn.h: New file.
74133
74134         * modules/unistr/u8-strdup: New file.
74135         * modules/unistr/u16-strdup: New file.
74136         * modules/unistr/u32-strdup: New file.
74137         * lib/unistr/u8-strdup.c: New file.
74138         * lib/unistr/u16-strdup.c: New file.
74139         * lib/unistr/u32-strdup.c: New file.
74140         * lib/unistr/u-strdup.h: New file.
74141
74142         * modules/unistr/u8-strlen: New file.
74143         * modules/unistr/u16-strlen: New file.
74144         * modules/unistr/u32-strlen: New file.
74145         * lib/unistr/u8-strlen.c: New file.
74146         * lib/unistr/u16-strlen.c: New file.
74147         * lib/unistr/u32-strlen.c: New file.
74148         * lib/unistr/u-strlen.h: New file.
74149
74150         * modules/unistr/u8-strmblen: New file.
74151         * modules/unistr/u16-strmblen: New file.
74152         * modules/unistr/u32-strmblen: New file.
74153         * lib/unistr/u8-strmblen.c: New file.
74154         * lib/unistr/u16-strmblen.c: New file.
74155         * lib/unistr/u32-strmblen.c: New file.
74156
74157         * modules/unistr/u8-strmbtouc: New file.
74158         * modules/unistr/u16-strmbtouc: New file.
74159         * modules/unistr/u32-strmbtouc: New file.
74160         * lib/unistr/u8-strmbtouc.c: New file.
74161         * lib/unistr/u16-strmbtouc.c: New file.
74162         * lib/unistr/u32-strmbtouc.c: New file.
74163
74164         * modules/unistr/u8-strncat: New file.
74165         * modules/unistr/u16-strncat: New file.
74166         * modules/unistr/u32-strncat: New file.
74167         * lib/unistr/u8-strncat.c: New file.
74168         * lib/unistr/u16-strncat.c: New file.
74169         * lib/unistr/u32-strncat.c: New file.
74170         * lib/unistr/u-strncat.h: New file.
74171
74172         * modules/unistr/u8-strncmp: New file.
74173         * modules/unistr/u16-strncmp: New file.
74174         * modules/unistr/u32-strncmp: New file.
74175         * lib/unistr/u8-strncmp.c: New file.
74176         * lib/unistr/u16-strncmp.c: New file.
74177         * lib/unistr/u32-strncmp.c: New file.
74178
74179         * modules/unistr/u8-strncpy: New file.
74180         * modules/unistr/u16-strncpy: New file.
74181         * modules/unistr/u32-strncpy: New file.
74182         * lib/unistr/u8-strncpy.c: New file.
74183         * lib/unistr/u16-strncpy.c: New file.
74184         * lib/unistr/u32-strncpy.c: New file.
74185         * lib/unistr/u-strncpy.h: New file.
74186
74187         * modules/unistr/u8-strnlen: New file.
74188         * modules/unistr/u16-strnlen: New file.
74189         * modules/unistr/u32-strnlen: New file.
74190         * lib/unistr/u8-strnlen.c: New file.
74191         * lib/unistr/u16-strnlen.c: New file.
74192         * lib/unistr/u32-strnlen.c: New file.
74193         * lib/unistr/u-strnlen.h: New file.
74194
74195         * modules/unistr/u8-strpbrk: New file.
74196         * modules/unistr/u16-strpbrk: New file.
74197         * modules/unistr/u32-strpbrk: New file.
74198         * lib/unistr/u8-strpbrk.c: New file.
74199         * lib/unistr/u16-strpbrk.c: New file.
74200         * lib/unistr/u32-strpbrk.c: New file.
74201         * lib/unistr/u-strpbrk.h: New file.
74202
74203         * modules/unistr/u8-strrchr: New file.
74204         * modules/unistr/u16-strrchr: New file.
74205         * modules/unistr/u32-strrchr: New file.
74206         * lib/unistr/u8-strrchr.c: New file.
74207         * lib/unistr/u16-strrchr.c: New file.
74208         * lib/unistr/u32-strrchr.c: New file.
74209
74210         * modules/unistr/u8-strspn: New file.
74211         * modules/unistr/u16-strspn: New file.
74212         * modules/unistr/u32-strspn: New file.
74213         * lib/unistr/u8-strspn.c: New file.
74214         * lib/unistr/u16-strspn.c: New file.
74215         * lib/unistr/u32-strspn.c: New file.
74216         * lib/unistr/u-strspn.h: New file.
74217
74218         * modules/unistr/u8-strstr: New file.
74219         * modules/unistr/u16-strstr: New file.
74220         * modules/unistr/u32-strstr: New file.
74221         * lib/unistr/u8-strstr.c: New file.
74222         * lib/unistr/u16-strstr.c: New file.
74223         * lib/unistr/u32-strstr.c: New file.
74224         * lib/unistr/u-strstr.h: New file.
74225
74226         * modules/unistr/u8-strtok: New file.
74227         * modules/unistr/u16-strtok: New file.
74228         * modules/unistr/u32-strtok: New file.
74229         * lib/unistr/u8-strtok.c: New file.
74230         * lib/unistr/u16-strtok.c: New file.
74231         * lib/unistr/u32-strtok.c: New file.
74232         * lib/unistr/u-strtok.h: New file.
74233
74234         * modules/unistr/u8-uctomb: New file.
74235         * modules/unistr/u16-uctomb: New file.
74236         * modules/unistr/u32-uctomb: New file.
74237         * lib/unistr/u8-uctomb.c: New file.
74238         * lib/unistr/u16-uctomb.c: New file.
74239         * lib/unistr/u32-uctomb.c: New file.
74240
74241         * MODULES.html.sh (Unicode string functions): Add the new modules.
74242
74243 2007-01-08  Bruno Haible  <bruno@clisp.org>
74244
74245         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
74246         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
74247         subdirectories.
74248
74249 2007-01-08  Karl Berry  <karl@gnu.org>
74250
74251         * doc/error.texi: mention that main() fns must set program_name
74252         when progname is used.
74253
74254 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
74255
74256         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
74257         WCTYPE_H is empty, for the benefit of builds from non-distclean
74258         directories.  Problem reported by Eric Blake in
74259         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
74260
74261 2007-01-08  Bruno Haible  <bruno@clisp.org>
74262
74263         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
74264         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
74265         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
74266         PROVIDE_CANONICALIZE_FILENAME_MODE.
74267         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
74268
74269 2007-01-08  Bruno Haible  <bruno@clisp.org>
74270
74271         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
74272         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
74273         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
74274         * lib/fts.c: Likewise.
74275         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
74276
74277 2006-12-25  Bruno Haible  <bruno@clisp.org>
74278
74279         * modules/utf8-ucs4-safe: New file.
74280         * lib/utf8-ucs4-safe.h: New file.
74281         * lib/unistr/utf8-ucs4-safe.c: New file.
74282
74283         * modules/utf16-ucs4-safe: New file.
74284         * lib/utf16-ucs4-safe.h: New file.
74285         * lib/unistr/utf16-ucs4-safe.c: New file.
74286
74287         * MODULES.html.sh (Unicode string functions): Add the new modules.
74288
74289 2007-01-08  Bruno Haible  <bruno@clisp.org>
74290
74291         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
74292         (Depends-on): Add unitypes.
74293         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
74294         (u8_mbtouc_aux): Move out to separate file.
74295         (u8_mbtouc): Use ucs4_t, uint8_t types.
74296         * lib/unistr/utf8-ucs4.c: New file.
74297
74298         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
74299         (Depends-on): Add unitypes.
74300         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
74301         (u16_mbtouc_aux): Move out to separate file.
74302         (u16_mbtouc): Use ucs4_t, uint16_t types.
74303         * lib/unistr/utf16-ucs4.c: New file.
74304
74305         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
74306         (Depends-on): Add unitypes.
74307         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
74308         (u8_uctomb_aux): Move out to separate file.
74309         (u8_uctomb): Use ucs4_t, uint8_t types.
74310         * lib/unistr/ucs4-utf8.c: New file.
74311
74312         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
74313         (Depends-on): Add unitypes.
74314         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
74315         (u16_uctomb_aux): Move out to separate file.
74316         (u16_uctomb): Use ucs4_t, uint16_t types.
74317         * lib/unistr/ucs4-utf16.c: New file.
74318
74319 2006-12-25  Bruno Haible  <bruno@clisp.org>
74320
74321         * modules/unitypes: New file.
74322         * lib/unitypes.h: New file.
74323         * MODULES.html.sh (func_all_modules): New section "Unicode string
74324         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
74325         this section. Add unitypes.
74326
74327 2007-01-08  Bruno Haible  <bruno@clisp.org>
74328
74329         Avoid variable names that conflict with those from libtool.
74330         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
74331         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
74332         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
74333         library_names_spec to acl_library_names_spec, hardcode_* to
74334         acl_hardcode_*.
74335         Reported by Ralf Wildenhues.
74336
74337 2007-01-08  Bruno Haible  <bruno@clisp.org>
74338
74339         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
74340         definition.
74341         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
74342         definition.
74343         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
74344         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
74345         definition.
74346         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
74347         definition.
74348         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
74349         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
74350         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
74351         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
74352         definition.
74353         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
74354         definition.
74355         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
74356         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
74357         GC_USE_<algorithm>.
74358         * lib/gc-libgcrypt.c: Likewise.
74359         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
74360         * modules/gc-arctwo (configure.ac): Likewise.
74361         * modules/gc-des (configure.ac): Likewise.
74362         * modules/gc-hmac-md5 (configure.ac): Likewise.
74363         * modules/gc-hmac-sha1 (configure.ac): Likewise.
74364         * modules/gc-md2 (configure.ac): Likewise.
74365         * modules/gc-md4 (configure.ac): Likewise.
74366         * modules/gc-md5 (configure.ac): Likewise.
74367         * modules/gc-random (configure.ac): Likewise.
74368         * modules/gc-rijndael (configure.ac): Likewise.
74369         * modules/gc-sha1 (configure.ac): Likewise.
74370
74371 2007-01-08  Bruno Haible  <bruno@clisp.org>
74372
74373         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
74374         macro definition.
74375         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
74376         definition.
74377         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
74378         definition.
74379         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
74380         * modules/fcntl-safer (configure.ac): Likewise.
74381         * modules/fopen-safer (configure.ac): Likewise.
74382         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
74383         GNULIB_FWRITEERROR macro definition.
74384
74385 2007-01-08  Bruno Haible  <bruno@clisp.org>
74386
74387         * m4/gnulib-common.m4: New file.
74388         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
74389         (func_get_filelist): Add m4/gnulib-common.m4.
74390
74391 2007-01-08  Bruno Haible  <bruno@clisp.org>
74392
74393         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
74394         command.
74395
74396 2007-01-08  Jim Meyering  <jim@meyering.net>
74397
74398         Use a more robust test for a "can't happen" condition.
74399         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
74400         narrowed the st_size value.  Presuming the "can't happen" condition
74401         is true, that narrowing could conceivably convert an invalid st_size
74402         value into a valid one.  Instead, use a change based on Matthew
74403         Woehlke's original patch.
74404
74405         Slight readability improvement: use an assert-like macro
74406         in place of literal "abort ()" uses.
74407         * lib/fts.c (fts_assert): Define.
74408         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
74409         Use this macro instead of a bare 'abort'.
74410
74411 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
74412
74413         Don't worry about using IRIX 5.3's wctype.h broken definitions;
74414         simply work around them.
74415         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
74416         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
74417         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
74418         declaring.
74419         Don't bother to define as macros, since the standard doesn't require it.
74420         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
74421         longer worry about IRIX 5.3.
74422         (HAVE_WCTYPE_CTMP_BUG): Remove.
74423
74424 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
74425
74426         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
74427         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
74428         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
74429         Problems reported by Georg Schwarz for IRIX 5.3.
74430
74431         * gnulib-tool (autoconf_minversion): Take the maximum version number
74432         found, not the minimum.  Problem reported by James Youngman.
74433
74434 2007-01-03  Karl Berry  <karl@gnu.org>
74435
74436         * doc/error.texi: new file, explaining interaction with progname.
74437         * doc/gnulib.texi: include it.  Update copyright.
74438
74439 2007-01-03  Simon Josefsson  <simon@josefsson.org>
74440
74441         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
74442         AC_CANONICAL_HOST, to improve autobuild outputs.
74443
74444 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
74445             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
74446
74447         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
74448         sockets, server sockets, and other file descriptors.  Count errors
74449         to compute the return value.  Reorder the code a bit to be easier
74450         to follow.  Don't set event bits that were not requested (except
74451         POLLERR and POLLHUP).
74452
74453 2007-01-01  Bruno Haible  <bruno@clisp.org>
74454
74455         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
74456
74457 2007-01-03  Jim Meyering  <jim@meyering.net>
74458
74459         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
74460
74461 2007-01-02  Bruno Haible  <bruno@clisp.org>
74462
74463         * modules/settime (Include): Require timespec.h.
74464         * modules/nanosleep (Include): Likewise.
74465
74466 2007-01-01  Bruno Haible  <bruno@clisp.org>
74467
74468         * gnulib-tool (func_emit_copyright_notice): Bump year.
74469         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
74470
74471 2007-01-01  Bruno Haible  <bruno@clisp.org>
74472
74473         Improve support for OpenBSD.
74474         * build-aux/config.rpath (libname_spec): Export.
74475         (library_names_spec): New variable. Export.
74476         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
74477         library_names_spec from the config.rpath output. Locate shared library
74478         through the name pattern in library_names_spec.
74479
74480 2007-01-01  Eric Blake  <ebb9@byu.net>
74481
74482         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
74483
74484 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
74485
74486         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
74487         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
74488         assume the C locale, and avoid an "eval" that could cause trouble.
74489         Problem with SORT reported by Bob Proulx.
74490
74491         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
74492         Define.  Trivial patch from Henning Nielsen Lund, originally
74493         sent to bug-grep@gnu.org today.
74494
74495 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
74496
74497         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
74498         struct stat.  Problem reported by Henning Nielsen Lund.
74499         * lib/acl.c: Include acl.h first, to check interface.  Don't
74500         bother to include sys/types.h and sys/stat.h again.
74501
74502 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
74503
74504         Import the following change from libc; problem reported by
74505         Sven Verdoolaege.
74506
74507         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
74508
74509         [BZ #1373]
74510         * lib/argp.h: Remove __NTH for __argp_usage inline function.
74511
74512 2006-12-28  Jim Meyering  <jim@meyering.net>
74513
74514         * build-aux/announce-gen: Do not assume that the package
74515         builds any of tar.gz, tar.bz2, and .xdelta files.
74516         Suggestion from Simon Josefsson.
74517
74518 2006-12-28  Simon Josefsson  <simon@josefsson.org>
74519
74520         * modules/announce-gen: New file.
74521
74522 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
74523
74524         * lib/mbchar.h: Just include <wctype.h>; the wctype module
74525         handles its gotchas now.
74526         * lib/mbswidth.c: Likewise.
74527         * lib/wcwidth.h: Likewise.
74528         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
74529         and iswcntrl; the wctype module does this stuff now.
74530         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
74531         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
74532         * modules/mbchar (Depends-on): Add wctype.
74533         * modules/mbswidth (Depends-on): Likewise.
74534         * modules/wcwidth (Depends-on): Likewise.
74535
74536 2006-12-27  Eric Blake  <ebb9@byu.net>
74537
74538         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
74539         module uses more than what <wctype.h> is required to provide.
74540
74541 2006-12-26  Eric Blake  <ebb9@byu.net>
74542
74543         * gnulib-tool (sed_extract_prog): Avoid space-tab.
74544
74545 2006-12-26  Eric Blake  <ebb9@byu.net>
74546
74547         * modules/absolute-header: New module.
74548         * modules/fcntl (Depends-on): Depend on it.
74549         * modules/inttypes (Depends-on): Likewise.
74550         * modules/stdint (Depends-on): Likewise.
74551         * modules/sys_stat (Depends-on): Likewise.
74552         * modules/wctype (Depends-on): Likewise.
74553         * MODULES.html.sh (Support for building libraries and
74554         executables): Document it.
74555
74556 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
74557
74558         * gnulib-tool (SED): Remove, undoing previous change.
74559         The problem was that it broke coreutils on Solaris, because
74560         "sed --posix" leaked into a makefile.
74561         (sed): New alias, if 'alias' and GNU sed.
74562
74563 2006-12-24  Jim Meyering  <jim@meyering.net>
74564
74565         Work around an fchownat bug in glibc-2.4:
74566         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
74567         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
74568         in spite of the -P option.
74569         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
74570         New macros.
74571         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
74572         * modules/openat (Files): Add lib/fchownat.c.
74573         * lib/openat.c (fchownat): Don't define here.  Move to...
74574         * lib/fchownat.c: ...this new file.
74575
74576 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
74577
74578         Fix bug reported by Bruno Haible in
74579         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
74580         where quotearg.c didn't compile on Mac OS X 10.2 because it
74581         lacks <wchar.h> and wint_t.
74582         * lib/wctype_.h (__wctype_wint_t): New type.
74583         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
74584         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
74585         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
74586         Arg is now of type __wctype_wint_t, not wint_t.
74587         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
74588         substitute HAVE_WINT_T.
74589         * modules/wctype (Files): Add m4/wint_t.m4.
74590         (wctype.h): Substitute HAVE_WINT_T.
74591
74592 2006-12-23  Bruno Haible  <bruno@clisp.org>
74593
74594         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
74595
74596 2006-12-23  Bruno Haible  <bruno@clisp.org>
74597
74598         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
74599         S_ISLNK.
74600         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
74601         mingw.
74602
74603 2006-12-22  Bruno Haible  <bruno@clisp.org>
74604
74605         * lib/copy-file.c: Include acl.h.
74606         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
74607         Close the file descriptors only after being done with copy_acl.
74608         * modules/copy-file (Depends-on): Add acl.
74609
74610 2006-12-22  Bruno Haible  <bruno@clisp.org>
74611
74612         * gnulib-tool (SED): New variable.
74613         Use $SED instead of sed everywhere.
74614
74615 2006-12-22  Bruno Haible  <bruno@clisp.org>
74616
74617         * modules/no-c++: New file.
74618         * m4/no-c++.m4: New file.
74619         * MODULES.html.sh (Support for building libraries and executables):
74620         Add no-c++.
74621
74622 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
74623
74624         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
74625         Include <limits.h>, and use its INT_MAX to rewrite the
74626         j loop so that it does not overflow 'int'.  Problem reported by
74627         Ralf Wildenhues in
74628         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
74629         Play it safe by shifting left by 1 rather than multiplying by 2,
74630         as GCC is less likely to optimize this away when the value
74631         is signed (when it assumes overflow leads to undefined behavior).
74632         Also, don't assume time_t uses two's complement.
74633
74634 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
74635
74636         * MODULES.html.sh: New module wctype.
74637         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
74638         * lib/fnmatch.c: Don't bother to include <wchar.h> before
74639         <wctype.h>, since the new wctype module should fix this.
74640         * lib/quotearg.c: Include <wctype.h> unconditionally, since
74641         the wctype module should arrange for it.
74642         * lib/regex_internal.h: Likewise.
74643         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
74644         since the wctype module should handle this now.
74645         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
74646         * modules/fnmatch (Depends-on): Add wctype.
74647         * modules/quotearg (Depends-on): Likewise.
74648         * modules/regex (Depends-on): Likewise.
74649
74650 2006-12-19  Bruno Haible  <bruno@clisp.org>
74651
74652         * lib/strdup.h [C++]: Wrap definitions in extern "C".
74653         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
74654
74655 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74656
74657         * modules/savewd (Depends-on): Fix dependency on fcntl.
74658
74659 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
74660
74661         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
74662         conforms to C99, rather than relying on the user's environment
74663         setting of STDINT_H.
74664
74665 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
74666         and Eric Blake  <ebb9@byu.net>
74667
74668         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
74669         This is more consistent with the other defines here.
74670         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
74671         Port to z/OS.  Problem reported by Paul Gilmartin.
74672         Change local vars to use gl_ prefix rather than ac_.
74673         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
74674         with other defines.
74675         * modules/double-slash-root: New module.
74676         * modules/dirname (Files): Remove m4/double-slash-root.m4.
74677         (Depends-on): Add double-slash-root.
74678         * MODULES.html.sh (File system functions): Mention new module.
74679
74680 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
74681
74682         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
74683         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
74684         This is for the benefit of gzip, which doesn't do i18n.
74685
74686 2006-12-12  Jim Meyering  <jim@meyering.net>
74687
74688         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
74689         Reported by Andreas Schwab <schwab@suse.de>.
74690
74691 2006-12-12  Bruno Haible  <bruno@clisp.org>
74692
74693         Merge these changes.
74694         2006-09-05  Bruno Haible  <bruno@clisp.org>
74695         * lib/iconvme.c (iconv_string): No need to save and restore errno when
74696         iconv_alloc succeeded.
74697         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
74698         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
74699         test for " && dest " at the end - dest is always != NULL there. Call
74700         iconv with 4xNULL arguments initially, to reset the state. Call iconv
74701         with 2xNULL arguments, also to flush the state storage. Handle the
74702         IRIX iconv behaviour. Realloc the final result, to throw away unused
74703         memory.
74704
74705 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
74706
74707         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
74708         and fchmodat unconditionally, since glibc 2.4 has them.
74709         Problem reported by Arkadiusz Miskiewicz.
74710
74711 2006-12-10  Bruno Haible  <bruno@clisp.org>
74712
74713         * gnulib-tool (func_import): Show the include files only for those
74714         modules that are copied and specified.
74715         Reported by Karl Berry.
74716
74717 2006-12-08  Jim Meyering  <jim@meyering.net>
74718
74719         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
74720         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
74721
74722         * build-aux/announce-gen: Add two new options, both optional:
74723         --bootstrap-tools=TOOL_LIST
74724               a comma-separated list of tools, e.g.,
74725               autoconf,automake,bison,gnulib
74726         --gnulib-snapshot-date=DATE
74727               if gnulib is in the bootstrap tool list,
74728               then report this as the snapshot date.
74729               If not specified, use the current date/time.
74730               If you specify a date here, be sure it's UTC.
74731
74732 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74733
74734         * tests/test-argp-2.sh: Fix test to match actual output.
74735         (func_compare): Fix sed script to be portable.
74736
74737 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
74738
74739         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
74740         workaround for this case.  It is not autoconfigured now; offhand
74741         it's hard to see how to autoconfigure it.
74742
74743 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
74744
74745         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
74746         a directory that is about to be chowned.  Such a directory's
74747         initial file permissions should permit the owner only and this
74748         should not be changed until after the chown, since the group and
74749         other bits would be incorrect if they granted permission before
74750         the chown.
74751
74752         Fix porting problem for iswctype reported by Georg Schwarz in:
74753         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
74754         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
74755         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
74756         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
74757         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
74758
74759 2006-12-03  Jim Meyering  <jim@meyering.net>
74760
74761         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
74762         p->fts_statp may not yet be defined.
74763         (fts_read): Instead, set it in the caller, once p->fts_statp is
74764         sure to be defined, and corresponds to a top-level directory.
74765         This bug made du -x fail.  Here's the coreutils test case:
74766         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
74767         Reported by Mike Frysinger.
74768
74769 2006-12-01  Jim Meyering  <jim@meyering.net>
74770
74771         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
74772         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
74773         Reported by Simon Josefsson.
74774
74775 2006-11-30  Jim Meyering  <jim@meyering.net>
74776
74777         * m4/warning.m4: Use the all-permissive copyright notice
74778         recommended by RMS (rather than LGPL).
74779         * m4/vararrays.m4: Likewise.
74780         * m4/flexmember.m4: Likewise.
74781
74782 2006-11-29  Bruno Haible  <bruno@clisp.org>
74783
74784         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
74785         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
74786         using +=.
74787         Reported by Simon Josefsson <simon@josefsson.org>.
74788
74789 2006-11-28  James Youngman <jay@gnu.org>
74790
74791         * README: Advise users that they might find the bug-gnulib@gnu.org
74792         and autotools-announce@gnu.org mailing lists useful.
74793
74794 2006-11-28  Bruno Haible  <bruno@clisp.org>
74795
74796         * m4/ptrdiff_max.m4: Remove file.
74797
74798 2006-11-21  Bruno Haible  <bruno@clisp.org>
74799
74800         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
74801         _AC_COMPUTE_INT.
74802         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
74803         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
74804         _AC_COMPUTE_INT.
74805         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
74806         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
74807         _AC_COMPUTE_INT.
74808         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
74809
74810 2006-11-28  Jim Meyering  <jim@meyering.net>
74811
74812         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
74813         warning from "gcc -Wshadow" about shadowing the builtin.
74814
74815 2006-11-27  Bruno Haible  <bruno@clisp.org>
74816
74817         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
74818         _AC_COMPUTE_INT.
74819         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
74820
74821 2006-11-27  Bruno Haible  <bruno@clisp.org>
74822             Paul Eggert  <eggert@cs.ucla.edu>
74823
74824         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
74825
74826 2006-11-26  Bruno Haible  <bruno@clisp.org>
74827
74828         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
74829         noinst_LTLIBRARIES.
74830
74831 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
74832             Bruno Haible  <bruno@clisp.org>
74833
74834         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
74835         if compiling with "gcc -ansi".
74836
74837 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
74838
74839         Fix some incompatibilities with gcc -ansi -pedantic.
74840         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
74841         if compiling pedantically with GCC, unless it's C99 or later.
74842         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
74843         it mishandles gcc -ansi -pedantic as well.
74844         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
74845         if gcc -pedantic.
74846         * lib/regexec.c (check_node_accept_bytes): Don't use auto
74847         initializers for struct if -pedantic, unless it's C99 or later.
74848
74849 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
74850
74851         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
74852         Don't close an fd more than once. Identical atimes indicate
74853         success, not failure.
74854
74855 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
74856
74857         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
74858
74859 2006-11-23  Jim Meyering  <jim@meyering.net>
74860
74861         * build-aux/announce-gen: New file.  From coreutils.
74862
74863 2006-11-22  Jim Meyering  <jim@meyering.net>
74864
74865         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
74866         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
74867         (fts_read): Use a temporary to narrow the overused st_size member
74868         before using it in a switch statement.  Reported by Matthew Woehlke.
74869
74870         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
74871         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
74872
74873 2006-11-20  Bruno Haible  <bruno@clisp.org>
74874
74875         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
74876         changequote instead of pairs of brackets.
74877         Reported by Andreas Schwab <schwab@suse.de>.
74878
74879 2006-11-21  Jim Meyering  <jim@meyering.net>
74880
74881         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
74882         so as to remain compatible with older compilers.
74883         Patch from Michael Deutschmann.
74884
74885 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
74886
74887         * MODULES.html.sh (File system functions): Add openat.
74888
74889         * lib/openat.h (rpl_fstatat): New macro, if
74890         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
74891         (fstatat): Define to rpl_fstatat under the same conditions,
74892         unless COMPILING_FSTATAT.
74893         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
74894         seems to have the bug.
74895         * lib/fstatat.c: New file.
74896         * modules/openat (Files): Add it.
74897
74898 2006-11-20  Bruno Haible  <bruno@clisp.org>
74899
74900         * Makefile: New file.
74901
74902 2006-11-20  Jim Meyering  <jim@meyering.net>
74903
74904         The beginnings of syntax-related checks for gnulib.
74905         * lib/Makefile: New file.
74906         * lib/t-idcache: New script.  Ensure that the two halves of
74907         idcache.c stay in sync.
74908
74909         * lib/idcache.c: Adjust comments in user- and group- portions to
74910         be more accurate, and to be consistent with one another.
74911
74912 2006-11-20  Jim Meyering  <jim@meyering.net>
74913
74914         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
74915         continue using the flexible array member (thus, this module performs
74916         half as many malloc calls), with the addition that...
74917         (getgroup, getuser): Consistently record a non-match via an empty
74918         "name" string, and map an empty string match to a NULL return value.
74919         * modules/idcache (Depends-on): Re-add flexmember.
74920
74921         * lib/idcache.c (getuser): Remove all uses of the register keyword.
74922         (getuidbyname, getgroup, getgidbyname): Likewise.
74923
74924         Use cleaner syntax: NULL rather than 0.
74925         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
74926
74927 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
74928
74929         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
74930         It mishandled the case where the group was missing.
74931         Problem reported by Greg Schafer.
74932         * modules/idcache: Likewise.
74933
74934 2006-11-18  Jim Meyering  <jim@meyering.net>
74935
74936         * check-module (%exempt_header): Add exception for some
74937         conditionally-included headers.
74938
74939         * modules/i-ring (Depends-on): Add verify.
74940         (License): Change to LGPL.
74941
74942 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
74943
74944         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
74945         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
74946         and inttostr.h.  Use snprintf rather than uinttostr, so that
74947         LGPLed code doesn't depend on GPLed.
74948
74949 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
74950
74951         * modules/inline (License): Change from GPL to LGPL.
74952
74953 2006-11-17  Jim Meyering  <jim@meyering.net>
74954
74955         * modules/d-type (License): Switch to LGPL.
74956
74957 2006-11-15  Bruno Haible  <bruno@clisp.org>
74958
74959         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
74960
74961 2006-11-15  Eric Blake  <ebb9@byu.net>
74962
74963         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
74964         the module dependency.
74965
74966 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74967             Bruno Haible  <bruno@clisp.org>
74968
74969         * gnulib-tool (func_create_testdir): Add license consistency check.
74970
74971 2006-11-15  Eric Blake  <ebb9@byu.net>
74972
74973         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
74974         random "(cached)" in configure output.
74975
74976 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74977
74978         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
74979         test for conforming inttypes.h is both announced and cached.
74980
74981         * MODULES.html.sh (seen_modules, seen_files): New variables.
74982         (func_module): Rewrite to use a few less gnulib-tool and sed
74983         invocations.  Avoid a couple of quadratic algorithms for ...
74984         (missed_modules, missed_files): ... these, with ...
74985         (func_append, func_tmpdir): ... these new functions, from
74986         gnulib-tool.  Analogously, install traps for cleanup.
74987
74988         * tests/test-gc.c (main): Remove unused variables.
74989         * tests/test-read-file.c: Include stdlib.h, for 'free'.
74990
74991 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
74992
74993         * modules/inttostr (License): Change to LGPL.
74994
74995 2006-11-14  Eric Blake  <ebb9@byu.net>
74996
74997         * modules/tempname (License): Change to LGPL.
74998
74999 2006-11-14  Eric Blake  <ebb9@byu.net>
75000
75001         * doc/functions.texi (Function Portability): *printf functions on
75002         Cygwin now understand all POSIX size specifiers.
75003
75004 2006-11-14  Bruno Haible  <bruno@clisp.org>
75005
75006         * modules/c-ctype (License): Change to LGPL.
75007
75008 2006-11-12  Bruno Haible  <bruno@clisp.org>
75009
75010         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
75011         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
75012         for GNOME libraries, for which the include files are installed in
75013         subdirectories of $prefix/include.
75014
75015 2006-11-12  Bruno Haible  <bruno@clisp.org>
75016
75017         * m4/lib-link.m4: Require at least autoconf-2.54.
75018         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
75019         name to underscores for the --with option.
75020
75021 2006-11-13  Bruno Haible  <bruno@clisp.org>
75022
75023         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
75024         the tests directory.
75025         Reported by Ralf Wildenhues.
75026
75027 2006-11-13  Bruno Haible  <bruno@clisp.org>
75028
75029         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
75030         (func_emit_initmacro_end): Undo the override here.
75031         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
75032         Works around the famous automake error in coreutils.
75033
75034 2006-11-13  Eric Blake  <ebb9@byu.net>
75035
75036         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
75037         element, not its node.
75038
75039 2006-11-12  Bruno Haible  <bruno@clisp.org>
75040
75041         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
75042         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
75043
75044 2006-11-12  Bruno Haible  <bruno@clisp.org>
75045
75046         * gnulib-tool: New option --local-symlink.
75047         (func_usage): Document it.
75048         (lsymbolic): New variable.
75049         (func_import, func_create_testdir): If --symlink was not specified,
75050         test whether --local-symlink was specified and the file comes from
75051         the local_gnulib_dir.
75052
75053 2006-11-12  Bruno Haible  <bruno@clisp.org>
75054
75055         * gnulib-tool (func_ln): New function.
75056         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
75057
75058 2006-11-12  Bruno Haible  <bruno@clisp.org>
75059
75060         Finish support for source files in subdirectories.
75061         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
75062         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
75063         AUTOMAKE_OPTIONS.
75064         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
75065
75066 2006-11-12  Bruno Haible  <bruno@clisp.org>
75067
75068         * gnulib-tool (func_get_automake_snippet): Synthesize also an
75069         EXTRA_lib_SOURCES augmentation.
75070         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
75071
75072 2006-11-12  Jim Meyering  <jim@meyering.net>
75073
75074         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
75075         file descriptors.  This also averts a failure on systems with
75076         native openat support when a traversed directory lacks "x" access.
75077         * lib/fts_.h: Include "i-ring.h"
75078         (struct FTS) [fts_fd_ring]: New member.
75079         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
75080         (FCHDIR): Add parentheses.
75081         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
75082         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
75083         When descending, rather than simply closing the previous
75084         fts_cwd_fd value, push that file descriptor onto the ring.
75085         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
75086         (fts_open): Initialize the new fd_ring member.
75087         (fts_close): Clear the ring.
75088         (fts_safe_changedir): When possible, use our new fd_ring to skip
75089         the diropen and fstat and dev/ino comparison that would normally
75090         accompany a virtual `chdir ("..")'.
75091
75092         * modules/fts (Depends-on): Add i-ring.
75093         * modules/i-ring: New module.
75094         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
75095         * m4/i-ring.m4: New file.
75096
75097 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75098
75099         * gnulib-tool (func_create_testdir): Fix replacement of
75100         `build-aux' in configure.ac.  Run autotools in gltests
75101         subdirectory.
75102         (func_create_testdir, func_create_megatestdir, test): There is
75103         no need for '--force' in most autotool invocations in a new
75104         tree.  Actually fail the whole test if any of the tools, or the
75105         configure or make stages fail.
75106
75107         Sync from Automake.
75108         * build-aux/gnupload: Revert last change.  Add pointer to upload
75109         instructions of the GNU Maintenance Instructions.
75110         Suggestion by Karl Berry.
75111
75112 2006-11-10  Jim Meyering  <jim@meyering.net>
75113
75114         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
75115
75116 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
75117
75118         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
75119         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
75120         (bind_textdomain_codeset) [! ENABLE_NLS]:
75121         Evaluate all the arguments.  That way, callers get compatible behavior
75122         if the arguments have side effects.  Also, it avoids some GCC
75123         diagnostics in some cases; Joel E. Denny reported problems when Bison
75124         was configured with --enable-gcc-warnigs.
75125
75126 2006-11-10  Jim Meyering  <jim@meyering.net>
75127
75128         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
75129         relevant options in CFLAGS (like -O, -fno-inline) are taken into
75130         account.
75131
75132 2006-11-10  Jim Meyering  <jim@meyering.net>
75133
75134         * modules/inline: New file/module.
75135         * modules/xalloc (Files): Remove m4/inline.m4.
75136         (Depends-on): Add inline, instead.
75137         * modules/oset: Likewise.
75138         * modules/list: Likewise.
75139
75140 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
75141
75142         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
75143         Problem reported by Matthew Woehlke.
75144
75145 2006-11-09  Bruno Haible  <bruno@clisp.org>
75146
75147         * lib/tempname.c (gen_tempname): Remove variant that invokes
75148         __gen_tempname.
75149         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
75150         __gen_tempname.
75151
75152 2006-11-08  Bruno Haible  <bruno@clisp.org>
75153
75154         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
75155         to 'yes' instead of 'cross-compiling'.
75156
75157 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
75158
75159         * lib/quotearg.h (quotearg_free): New decl.
75160         * lib/quotearg.c (quotearg_free): New function.
75161         (slot0, nslots, slotvec0, slotvec):
75162         Now file-scope so that quotearg_free can get at them.
75163
75164 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75165
75166         Sync from Automake.
75167         * build-aux/gnupload: Add missing 'gnu' to example URL.
75168         Report by Karl Berry.
75169
75170 2006-11-08  Bruno Haible  <bruno@clisp.org>
75171
75172         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
75173         Suggested by Paul Eggert.
75174
75175 2006-11-08  Jim Meyering  <jim@meyering.net>
75176
75177         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
75178         It's already included if !_LIBC.
75179         (fts_safe_changedir): Add a comment.
75180
75181 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
75182
75183         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
75184         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
75185         Matthew Woehlke.
75186
75187         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
75188         definitions up, to avoid colliding with change below.
75189         (static_inline) [HAVE_INLINE]: New macro.
75190         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
75191         Provide extern decls when !HAVE_INLINE.  Do not define unless
75192         static_inline is defined, either by us or by xmalloc.c.  Use
75193         static_inline rather than static inline.
75194         (XCALLOC): Optimize sizeof(T) = 1 case.
75195         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
75196
75197 2006-11-07  Bruno Haible  <bruno@clisp.org>
75198
75199         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
75200         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
75201         AC_C_INLINE.
75202         * modules/xalloc (Files): Add m4/inline.m4.
75203
75204 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75205
75206         * README: Fix typo.
75207         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
75208         (Miscellanous Notes): ...from this.
75209
75210 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
75211
75212         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
75213         Mention that offsetof should be used instead of sizeof.
75214         From Bruno Haible.
75215
75216 2006-11-07  Bruno Haible  <bruno@clisp.org>
75217
75218         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
75219
75220 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
75221
75222         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
75223         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
75224         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
75225         (gl_tree_add_before, gl_tree_add_after):
75226         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
75227         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
75228         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
75229         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
75230         (gl_linked_add_after, gl_linked_add_at): Likewise.
75231         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
75232         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
75233         (gl_tree_add_before, gl_tree_add_after): Likewise.
75234         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
75235         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
75236         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
75237
75238 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75239
75240         * lib/gl_oset.h: Use C comment style, not C++ comment style.
75241
75242 2006-11-06  Bruno Haible  <bruno@clisp.org>
75243
75244         * m4/inline.m4: New file.
75245         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
75246         * modules/list (Files): Add m4/inline.m4.
75247         * modules/oset (Files): Likewise.
75248
75249 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
75250
75251         * lib/idcache.c: Include <stddef.h>, for offsetof.
75252         (struct userid.name): Change from char * to a flexible array member.
75253         All uses changed.
75254         * modules/idcache (Depends-on): Add flexmember.
75255
75256         * MODULES.html.sh (Core language properties): New module flexmember.
75257         * modules/flexmember, m4/flexmember.m4: New files.
75258
75259         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
75260         inline functions that are identical with the old xnmalloc_inline,
75261         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
75262         that we can avoid some unnecessary integer multiplications and
75263         divisions in the common case where the element size is known at
75264         compile time.
75265         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
75266         needed.
75267         (xnboundedmalloc): Remove.
75268         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
75269         arguments, for consistency with rest of this header.
75270         (xcharalloc): Rewrite using XNMALLOC.
75271         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
75272         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
75273         versions have been moved to lib/xalloc.h and renamed to be the
75274         non-*_inline versions.
75275         (xmalloc, xrealloc): Implement without reference to the xnmalloc
75276         and xnrealloc functions, since those functions are now inline and
75277         now call us.
75278         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
75279         renaming described above.
75280         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
75281         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
75282         captures the dependency in AC_C_INLINE.
75283
75284         New module canonicalize-lgpl, proposed by Charles Wilson in
75285         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
75286         with a few small changes afterwards.
75287         * MODULES.html.sh (File system functions): New module
75288         canonicalize-lgpl.
75289         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
75290         and canonicalize_file_name.
75291         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
75292         * modules/canonicalize-lgpl: New files.
75293
75294 2006-11-05  Bruno Haible  <bruno@clisp.org>
75295
75296         * gnulib-tool (func_import, func_create_testdir): Create directories
75297         also for files in subdirectories of lib/.
75298
75299 2006-11-05  Bruno Haible  <bruno@clisp.org>
75300
75301         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
75302         ANSI C compliant.
75303
75304 2006-11-03  Bruno Haible  <bruno@clisp.org>
75305
75306         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
75307         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
75308         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
75309         (xnboundedmalloc): New inline function.
75310         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
75311         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
75312         xmalloc.
75313         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
75314         xmalloc.
75315         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
75316         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
75317         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
75318         xmalloc.
75319         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
75320         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
75321         xmalloc.
75322         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
75323         gl_tree_add_after): Use XMALLOC instead of xmalloc.
75324         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
75325         xmalloc.
75326         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
75327         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
75328         gl_tree_add_after): Use XMALLOC instead of xmalloc.
75329         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
75330         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
75331         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
75332         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
75333
75334 2006-11-03  Bruno Haible  <bruno@clisp.org>
75335
75336         * lib/c-ctype.h [C++]: Define functions without name mangling.
75337         * lib/fwriteerror.h [C++]: Likewise.
75338         * lib/gcd.h [C++]: Likewise.
75339         * lib/linebreak.h [C++]: Likewise.
75340
75341 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
75342
75343         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
75344         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
75345         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
75346         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
75347         Check for functions and headers just once.
75348         Check for declaration of canonicalize_file_name.
75349         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
75350
75351 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
75352
75353         * gnulib-tool (func_import): Fix typo in actioncmd.
75354
75355 2006-11-02  Bruno Haible  <bruno@clisp.org>
75356
75357         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
75358         newline sequence in the Makefile.am snippet as a space, like "make"
75359         does.
75360         Reported by Roger Persson <perrog@gmail.com>.
75361
75362 2006-11-01  Bruno Haible  <bruno@clisp.org>
75363
75364         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
75365         already declared in <string.h>.
75366         * lib/strcase.h (strncasecmp): Don't declare it if yes.
75367
75368 2006-11-01  Bruno Haible  <bruno@clisp.org>
75369
75370         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
75371         * lib/strcase.h: Include <string.h>.
75372         (strcasecmp): Define to rpl_strcasecmp here.
75373
75374 2006-11-01  Bruno Haible  <bruno@clisp.org>
75375
75376         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
75377
75378 2006-11-01  Eric Blake  <ebb9@byu.net>
75379
75380         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
75381
75382         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
75383
75384 2006-10-29  Bruno Haible  <bruno@clisp.org>
75385
75386         Make it compile in C++ mode.
75387         * lib/full-write.c (full_rw): Add a cast.
75388
75389 2006-11-01  Bruno Haible  <bruno@clisp.org>
75390
75391         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
75392         be POSIX compliant.
75393         Reported by Roger Persson <perrog@gmail.com>.
75394
75395 2006-11-01  Eric Blake  <ebb9@byu.net>
75396
75397         * lib/getopt_.h: Fix comments.
75398
75399 2006-10-31  Eric Blake  <ebb9@byu.net>
75400
75401         * modules/tmpdir (Depends-on): Add sys_stat.
75402         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
75403         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
75404         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
75405         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
75406         tempname.
75407
75408 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
75409
75410         Avoid some C++ diagnostics reported by Bruno Haible.
75411         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
75412         xmalloc.
75413         (quotearg_alloc): Use xcharalloc rather than xmalloc.
75414         (struct slotvec): Move to top level.
75415         (quotearg_n_options): Rewrite to avoid xmalloc.
75416         * lib/xalloc.h (xcharalloc): New function.
75417         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
75418         [defined __cplusplus]: Add function template that provides result
75419         type propagation.  This part of the change is from Bruno Haible.
75420
75421 2006-10-29  Bruno Haible  <bruno@clisp.org>
75422
75423         Make it compile in C++ mode.
75424         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
75425         * lib/strnlen1.c (strnlen1): Cast memchr result.
75426         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
75427         * lib/clean-temp.c (string_equals, string_hash): Add casts.
75428         (create_temp_dir): Rename local variable 'template'.
75429         (compile_csharp_using_sscli): Add cast.
75430         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
75431         * lib/findprog.c (find_in_path): Likewise.
75432         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
75433         * lib/wait-process.c (register_slave_subprocess): Likewise.
75434
75435 2006-10-22  Bruno Haible  <bruno@clisp.org>
75436
75437         * modules/tsearch: New file.
75438         * lib/tsearch.h: New file.
75439         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
75440         * m4/tsearch.m4: New file.
75441         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
75442
75443 2006-10-29  Eric Blake  <ebb9@byu.net>
75444
75445         * lib/arcfour.c: Assume config.h.
75446         * lib/arctwo.c: Likewise.
75447         * lib/base64.c: Likewise.
75448         * lib/check-version.c: Likewise.
75449         * lib/crc.c: Likewise.
75450         * lib/des.c: Likewise.
75451         * lib/gc-gnulib.c: Likewise.
75452         * lib/gc-libgcrypt.c: Likewise.
75453         * lib/gc-pbkdf2-sha1.c: Likewise.
75454         * lib/getaddrinfo.c: Likewise.
75455         * lib/getdelim.c: Likewise.
75456         * lib/getline.c: Likewise.
75457         * lib/hmac-md5.c: Likewise.
75458         * lib/hmac-sha1.c: Likewise.
75459         * lib/iconvme.c: Likewise.
75460         * lib/md2.c: Likewise.
75461         * lib/md4.c: Likewise.
75462         * lib/memxor.c: Likewise.
75463         * lib/read-file.c: Likewise.
75464         * lib/readline.c: Likewise.
75465         * lib/rijndael-alg-fst.c: Likewise.
75466         * lib/rijndael-api-fst.c: Likewise.
75467         * lib/xgetdomainname.c: Likewise.
75468
75469 2006-10-28  Eric Blake  <ebb9@byu.net>
75470
75471         * lib/xstrndup.c: Assume config.h.
75472
75473 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
75474
75475         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
75476         stat-macros.h is now for our own macros, whereas stat_h is for
75477         macros in the <sys/stat.h> name space.
75478         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
75479         (STAT_MACROS_H): Remove.
75480         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
75481         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
75482         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
75483         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
75484         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
75485         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
75486         Move these macros to ...
75487         * lib/stat_.h: here.  Don't include stat-macros.h.
75488         * lib/canonicalize.c: Don't include stat-macros.h.
75489         * lib/chown.c: Likewise.
75490         * lib/euidaccess.c: Likewise.
75491         * lib/file-type.c: Likewise.
75492         * lib/filemode.c: Likewise.
75493         * lib/glob.c: Likewise.
75494         * lib/isapipe.c: Likewise.
75495         * lib/lchown.c: Likewise.
75496         * lib/lstat.c: Likewise.
75497         * lib/mkdir-p.c: Likewise.
75498         * lib/rmdir.c: Likewise.
75499         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
75500         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
75501         unless mkdir isn't declared, to speed up 'configure'.
75502         Always create sys/stat.h, since it's unlikely any real sys/stat.h
75503         would define all the S_* symbols.
75504         * modules/canonicalize (Depends-on):
75505         Depend on sys_stat, not stat-macros.
75506         * modules/chown: Likewise.
75507         * modules/euidaccess: Likewise.
75508         * modules/filemode: Likewise.
75509         * modules/file-type: Likewise.
75510         * modules/glob: Likewise.
75511         * modules/isapipe: Likewise.
75512         * modules/lchown: Likewise.
75513         * modules/lstat: Likewise.
75514         * modules/mkancesdirs: Likewise.
75515         * modules/rmdir: Likewise.
75516         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
75517         * modules/modechange: Likewise.
75518         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
75519         (configure.ac): Remove gl_STAT_MACROS.
75520         * modules/sys_stat (Depends-on): Remove stat-macros.
75521
75522 2006-10-27  Bruno Haible  <bruno@clisp.org>
75523
75524         * m4/signed.m4: Remove file.
75525         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
75526         invocation.
75527         * modules/vasnprintf (Files): Remove m4/signed.m4.
75528
75529 2006-10-27  Bruno Haible  <bruno@clisp.org>
75530
75531         Update to GNU gettext 0.16.
75532         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
75533         m4/inttypes-h.m4, m4/signed.m4.
75534         * m4/gettext.m4: Update to GNU gettext 0.16.
75535         * m4/intl.m4: New file, from GNU gettext.
75536         * m4/intldir.m4: New file, from GNU gettext.
75537         * config/srclist.txt: Update
75538
75539 2006-10-27  Eric Blake  <ebb9@byu.net>
75540
75541         * MODULES.html.sh: Document tempname.
75542         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
75543         dependencies.
75544         (Files): Move lib/tempname.c...
75545         * modules/tempname: ...to this new module.
75546         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
75547         (gl_PREREQ_TEMPNAME): Move...
75548         * m4/tempname.m4: ...to this new file.
75549         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
75550         * modules/sys_stat (Depends-on): Add stat-macros.
75551         * lib/stat_.h (includes): Pick up stat macros.
75552         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
75553         if stat macros are broken.
75554         * lib/tempname.c (includes): No need to include "stat-macros.h".
75555         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
75556         (direxists, __path_search) [!_LIBC]: Don't compile these in
75557         gnulib; the tmpdir module covers that.
75558         * lib/tempname.h: New file.
75559
75560 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
75561
75562         * COPYING: Explain how gnulib-tool converts licence headers.
75563         Almost all wording by Eric Blake.
75564
75565 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
75566
75567         * lib/mbchar.h (is_basic_table): Make read-only.
75568         * lib/mbchar.c (is_basic_table): Likewise.
75569         Reported by John Darrington.
75570
75571 2006-10-25  Bruno Haible  <bruno@clisp.org>
75572
75573         * lib/progname.h (set_program_name): Undefine before defining.
75574
75575 2006-10-25  Bruno Haible  <bruno@clisp.org>
75576
75577         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
75578         false for non-gcc C++ compilers.
75579         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
75580
75581 2006-10-24  Bruno Haible  <bruno@clisp.org>
75582
75583         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
75584         iconv implementations like Irix iconv.
75585
75586 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
75587
75588         * modules/vararrays: New file.
75589         * m4/vararrays.m4: New file, taken from diffutils.
75590         * MODULES.html.sh: New module vararrays.
75591
75592 2006-10-24  Karl Berry  <karl@gnu.org>
75593
75594         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
75595         Don't call GNU Unix.
75596
75597 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75598
75599         * users.txt: Add Libtool.
75600
75601         Sync from Libtool:
75602
75603         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
75604
75605         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
75606         to gnulib's policy of including config.h unconditionally.
75607
75608 2006-10-24  Bruno Haible  <bruno@clisp.org>
75609
75610         * modules/wcwidth (Files): Add m4/wint_t.m4.
75611         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
75612         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
75613
75614 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
75615
75616         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
75617         to pacify GCC with some -W flags enabled.  Problem reported by
75618         Bruno Haible.
75619
75620 2006-10-24  Jim Meyering  <jim@meyering.net>
75621
75622         * MODULES.html.sh: Remove uinttostr.  It's not a module.
75623         Reported by Karl Berry.
75624
75625 2006-10-23  Bruno Haible  <bruno@clisp.org>
75626
75627         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
75628
75629 2006-10-24  Bruno Haible  <bruno@clisp.org>
75630
75631         * lib/gl_list.h: Use C comment style, not C++ comment style.
75632
75633 2006-10-23  Eric Blake  <ebb9@byu.net>
75634
75635         * lib/getaddrinfo.c (includes): Add missing include.
75636
75637 2006-10-23  Bruno Haible  <bruno@clisp.org>
75638             Paul Eggert  <eggert@cs.ucla.edu>
75639
75640         Ability to rename obstack_free.
75641         * lib/obstack.h (__obstack_free): New macro. Declare instead of
75642         obstack_free.
75643         (obstack_free): Invoke the __obstack_free macro.
75644         * lib/obstack.c (obstack_free): Use __obstack_free macro.
75645
75646 2006-10-23  Bruno Haible  <bruno@clisp.org>
75647             Paul Eggert  <eggert@cs.ucla.edu>
75648
75649         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
75650         __argc, __argv from the declaration. (They are defined as macros on
75651         mingw.)
75652
75653 2006-10-22  Bruno Haible  <bruno@clisp.org>
75654
75655         * doc/gnulib-intro.texi: New file.
75656         * doc/gnulib.texi: Include it.
75657
75658 2006-10-21  Bruno Haible  <bruno@clisp.org>
75659
75660         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
75661         "Introduction", "Miscellanous Notes", "Particular Modules".
75662
75663 2006-10-21  Bruno Haible  <bruno@clisp.org>
75664
75665         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
75666         Change mostlyclean-local rule to avoid sh syntax error from bash
75667         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
75668
75669 2006-10-23  Jim Meyering  <jim@meyering.net>
75670
75671         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
75672         in place of snprintf.
75673
75674         * modules/inttostr (Files): Add lib/uinttostr.c.
75675         * lib/uinttostr.c (inttostr): New file/function.
75676         * lib/inttostr.h (uinttostr): Declare.
75677         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
75678         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
75679         Add uinttostr.
75680         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
75681
75682 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
75683
75684         * lib/canonicalize.c (ELOOP): Define if not already defined.
75685         Problem reported by Bruno Haible in
75686         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
75687
75688 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
75689
75690         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
75691         Problem reported by Perry Smith and Ville Laurikari.
75692
75693         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
75694         uses.
75695
75696 2006-10-19  Bruno Haible  <bruno@clisp.org>
75697
75698         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
75699         for mingw.
75700
75701 2006-10-19  Bruno Haible  <bruno@clisp.org>
75702
75703         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
75704         Needed for mingw.
75705
75706 2006-10-19  Bruno Haible  <bruno@clisp.org>
75707
75708         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
75709
75710 2006-10-19  Bruno Haible  <bruno@clisp.org>
75711
75712         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
75713         it.
75714
75715 2006-10-19  Bruno Haible  <bruno@clisp.org>
75716
75717         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
75718         invocation.
75719
75720 2006-10-19  Bruno Haible  <bruno@clisp.org>
75721
75722         * gnulib-tool (func_create_testdir): Don't include ftruncate and
75723         mountlist by default.
75724
75725 2006-10-16  Bruno Haible  <bruno@clisp.org>
75726
75727         * lib/c-strstr.c: Include c-strstr.h.
75728
75729 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
75730
75731         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
75732         in a slash.
75733
75734 2006-10-18  Bruno Haible  <bruno@clisp.org>
75735
75736         * lib/lock.h [C++]: Wrap definitions in extern "C".
75737
75738 2006-10-18  Bruno Haible  <bruno@clisp.org>
75739
75740         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
75741         gl_LIBOBJS list.
75742
75743 2006-10-18  Bruno Haible  <bruno@clisp.org>
75744
75745         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
75746
75747 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
75748
75749         * lib/xstrtol.h: Include gettext.h.
75750         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
75751         Problem reported by Eric Blake.
75752         * modules/xstrtol (Depends-on): Add gettext-h.
75753
75754 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
75755
75756         * lib/strftime.c (advance): New macro.
75757         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
75758         incomplete type, so you can't add 0 to it.  Problem and patch
75759         reported by Eelco Dolstra for dietlibc.
75760
75761 2006-10-18  Jim Meyering  <jim@meyering.net>
75762
75763         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
75764         type for a local, and rename it: s/up/user_proc/.
75765
75766 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
75767
75768         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
75769         READ_UTMP_USER_PROCESS.
75770         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
75771
75772 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
75773
75774         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
75775         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
75776
75777 2006-10-17  Eric Blake  <ebb9@byu.net>
75778
75779         * lib/sigprocmask.c (sigprocmask): Fix typo.
75780
75781         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
75782
75783         * modules/clean-temp (Makefile.am): Don't add to make output...
75784         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
75785         config.h.
75786
75787 2006-10-17  Bruno Haible  <bruno@clisp.org>
75788
75789         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
75790         differently if DEFAULT_TEXT_DOMAIN is set.
75791
75792 2006-10-16  Bruno Haible  <bruno@clisp.org>
75793
75794         * lib/clean-temp.c: Include fwriteerror.h.
75795
75796 2006-10-16  Bruno Haible  <bruno@clisp.org>
75797
75798         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
75799
75800 2006-10-16  Bruno Haible  <bruno@clisp.org>
75801
75802         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
75803         * lib/sigprocmask.h: Include <sys/types.h>.
75804         (sigset_t): Use the system's definition if present.
75805
75806 2006-10-17  Eric Blake  <ebb9@byu.net>
75807
75808         * lib/xvasprintf.c (includes): Assume config.h.
75809         * lib/xasprintf.c (includes): Likewise.
75810
75811 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
75812
75813         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
75814         at least as wide as intmax_t.
75815
75816 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
75817
75818         (Imported from Automake.)
75819         * build-aux/gnupload: Update to version 1.1 of directive file.
75820
75821 2006-10-16  Eric Blake  <ebb9@byu.net>
75822
75823         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
75824         match Automake 1.10a.
75825
75826 2006-10-14  Bruno Haible  <bruno@clisp.org>
75827
75828         * modules/sigprocmask: New file.
75829         * lib/sigprocmask.h: New file.
75830         * lib/sigprocmask.c: New file.
75831         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
75832         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
75833         request sigprocmask.o.
75834         (gl_PREREQ_SIGPROCMASK): New macro.
75835         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
75836         (Depends-on): Add sigprocmask.
75837         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
75838         gt_SIGNALBLOCKING. Test for 'raise' only once.
75839         * lib/fatal-signal.c: Include sigprocmask.h.
75840         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
75841         unblock_fatal_signals): Define always.
75842         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
75843         sigprocmask.
75844
75845 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
75846
75847         Sync from Automake.
75848         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
75849         which incorrectly sets the mode of an existing destination
75850         directory.  In some cases the unpatched install-sh could do the
75851         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
75852         system.  We hope this is rare in practice, but it's clearly worth
75853         fixing.  Problem reported by Alex Unleashed in
75854         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
75855         Also, don't bother to check for -m bugs unless we're using -m;
75856         suggested by Stepan Kasal.
75857
75858 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75859
75860         Sync from Automake.
75861         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
75862         `-c' flag, so they appear at the same position as in %FASTDEP%
75863         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
75864         which ignores unknown options only after the first non-option.
75865         Bug report against M4 by Nelson H. F. Beebe.
75866
75867 2006-10-13  Jim Meyering  <jim@meyering.net>
75868
75869         Fix a bug in yesterday's change.
75870         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
75871         p->fts_statp->st_dev would be used uninitialized.
75872         Ensures that we always call fts_stat on the very first entry.
75873         Miklos Szeredi reported that find -xdev stopped working.
75874
75875 2006-10-12  Bruno Haible  <bruno@clisp.org>
75876
75877         * gnulib-tool (func_get_automake_snippet): Append an automatically
75878         computed EXTRA_DIST augmentation.
75879         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
75880         * modules/alloca-opt (Makefile.am): Likewise.
75881         * modules/allocsa (Makefile.am): Likewise.
75882         * modules/arcfour (Makefile.am): Likewise.
75883         * modules/arctwo (Makefile.am): Likewise.
75884         * modules/argmatch (Makefile.am): Likewise.
75885         * modules/argz (Makefile.am): Likewise.
75886         * modules/atexit (Makefile.am): Likewise.
75887         * modules/backupfile (Makefile.am): Likewise.
75888         * modules/byteswap (Makefile.am): Likewise.
75889         * modules/c-strtod (Makefile.am): Likewise.
75890         * modules/c-strtold (Makefile.am): Likewise.
75891         * modules/calloc (Makefile.am): Likewise.
75892         * modules/canon-host (Makefile.am): Likewise.
75893         * modules/canonicalize (Makefile.am): Likewise.
75894         * modules/chdir-long (Makefile.am): Likewise.
75895         * modules/chdir-safer (Makefile.am): Likewise.
75896         * modules/check-version (Makefile.am): Likewise.
75897         * modules/chown (Makefile.am): Likewise.
75898         * modules/cloexec (Makefile.am): Likewise.
75899         * modules/close-stream (Makefile.am): Likewise.
75900         * modules/closeout (Makefile.am): Likewise.
75901         * modules/crc (Makefile.am): Likewise.
75902         * modules/csharpexec (Makefile.am): Likewise.
75903         * modules/cycle-check (Makefile.am): Likewise.
75904         * modules/des (Makefile.am): Likewise.
75905         * modules/dev-ino (Makefile.am): Likewise.
75906         * modules/dirfd (Makefile.am): Likewise.
75907         * modules/dirname (Makefile.am): Likewise.
75908         * modules/dup2 (Makefile.am): Likewise.
75909         * modules/eealloc (Makefile.am): Likewise.
75910         * modules/error (Makefile.am): Likewise.
75911         * modules/euidaccess (Makefile.am): Likewise.
75912         * modules/exclude (Makefile.am): Likewise.
75913         * modules/exitfail (Makefile.am): Likewise.
75914         * modules/fcntl-safer (Makefile.am): Likewise.
75915         * modules/fcntl (Makefile.am): Likewise.
75916         * modules/file-type (Makefile.am): Likewise.
75917         * modules/fileblocks (Makefile.am): Likewise.
75918         * modules/filemode (Makefile.am): Likewise.
75919         * modules/filenamecat (Makefile.am): Likewise.
75920         * modules/fnmatch (Makefile.am): Likewise.
75921         * modules/fopen-safer (Makefile.am): Likewise.
75922         * modules/fpending (Makefile.am): Likewise.
75923         * modules/fprintftime (Makefile.am): Likewise.
75924         * modules/free (Makefile.am): Likewise.
75925         * modules/fsusage (Makefile.am): Likewise.
75926         * modules/ftruncate (Makefile.am): Likewise.
75927         * modules/fts (Makefile.am): Likewise.
75928         * modules/gc-arcfour (Makefile.am): Likewise.
75929         * modules/gc-des (Makefile.am): Likewise.
75930         * modules/gc-hmac-md5 (Makefile.am): Likewise.
75931         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
75932         * modules/gc-md4 (Makefile.am): Likewise.
75933         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
75934         * modules/gc-sha1 (Makefile.am): Likewise.
75935         * modules/gc (Makefile.am): Likewise.
75936         * modules/getaddrinfo (Makefile.am): Likewise.
75937         * modules/getcwd (Makefile.am): Likewise.
75938         * modules/getdelim (Makefile.am): Likewise.
75939         * modules/getdomainname (Makefile.am): Likewise.
75940         * modules/getgroups (Makefile.am): Likewise.
75941         * modules/gethostname (Makefile.am): Likewise.
75942         * modules/gethrxtime (Makefile.am): Likewise.
75943         * modules/getline (Makefile.am): Likewise.
75944         * modules/getloadavg (Makefile.am): Likewise.
75945         * modules/getlogin_r (Makefile.am): Likewise.
75946         * modules/getndelim2 (Makefile.am): Likewise.
75947         * modules/getopt (Makefile.am): Likewise.
75948         * modules/getpagesize (Makefile.am): Likewise.
75949         * modules/getpass-gnu (Makefile.am): Likewise.
75950         * modules/getpass (Makefile.am): Likewise.
75951         * modules/getsubopt (Makefile.am): Likewise.
75952         * modules/gettime (Makefile.am): Likewise.
75953         * modules/gettimeofday (Makefile.am): Likewise.
75954         * modules/getugroups (Makefile.am): Likewise.
75955         * modules/getusershell (Makefile.am): Likewise.
75956         * modules/glob (Makefile.am): Likewise.
75957         * modules/group-member (Makefile.am): Likewise.
75958         * modules/hard-locale (Makefile.am): Likewise.
75959         * modules/hash (Makefile.am): Likewise.
75960         * modules/hmac-md5 (Makefile.am): Likewise.
75961         * modules/hmac-sha1 (Makefile.am): Likewise.
75962         * modules/human (Makefile.am): Likewise.
75963         * modules/idcache (Makefile.am): Likewise.
75964         * modules/imaxabs (Makefile.am): Likewise.
75965         * modules/imaxdiv (Makefile.am): Likewise.
75966         * modules/inet_ntop (Makefile.am): Likewise.
75967         * modules/inet_pton (Makefile.am): Likewise.
75968         * modules/intprops (Makefile.am): Likewise.
75969         * modules/inttostr (Makefile.am): Likewise.
75970         * modules/inttypes (Makefile.am): Likewise.
75971         * modules/isapipe (Makefile.am): Likewise.
75972         * modules/javaversion (Makefile.am): Likewise.
75973         * modules/lchmod (Makefile.am): Likewise.
75974         * modules/lchown (Makefile.am): Likewise.
75975         * modules/localcharset (Makefile.am): Likewise.
75976         * modules/long-options (Makefile.am): Likewise.
75977         * modules/lstat (Makefile.am): Likewise.
75978         * modules/malloc (Makefile.am): Likewise.
75979         * modules/mathl (Makefile.am): Likewise.
75980         * modules/mbchar (Makefile.am): Likewise.
75981         * modules/md2 (Makefile.am): Likewise.
75982         * modules/md4 (Makefile.am): Likewise.
75983         * modules/md5 (Makefile.am): Likewise.
75984         * modules/memcasecmp (Makefile.am): Likewise.
75985         * modules/memchr (Makefile.am): Likewise.
75986         * modules/memcmp (Makefile.am): Likewise.
75987         * modules/memcoll (Makefile.am): Likewise.
75988         * modules/memcpy (Makefile.am): Likewise.
75989         * modules/memmem (Makefile.am): Likewise.
75990         * modules/memmove (Makefile.am): Likewise.
75991         * modules/mempcpy (Makefile.am): Likewise.
75992         * modules/memrchr (Makefile.am): Likewise.
75993         * modules/memset (Makefile.am): Likewise.
75994         * modules/memxor (Makefile.am): Likewise.
75995         * modules/mkancesdirs (Makefile.am): Likewise.
75996         * modules/mkdir-p (Makefile.am): Likewise.
75997         * modules/mkdir (Makefile.am): Likewise.
75998         * modules/mkdtemp (Makefile.am): Likewise.
75999         * modules/mkstemp (Makefile.am): Likewise.
76000         * modules/mktime (Makefile.am): Likewise.
76001         * modules/modechange (Makefile.am): Likewise.
76002         * modules/mountlist (Makefile.am): Likewise.
76003         * modules/nanosleep (Makefile.am): Likewise.
76004         * modules/obstack (Makefile.am): Likewise.
76005         * modules/openat (Makefile.am): Likewise.
76006         * modules/pagealign_alloc (Makefile.am): Likewise.
76007         * modules/pathmax (Makefile.am): Likewise.
76008         * modules/physmem (Makefile.am): Likewise.
76009         * modules/poll (Makefile.am): Likewise.
76010         * modules/posixtm (Makefile.am): Likewise.
76011         * modules/posixver (Makefile.am): Likewise.
76012         * modules/putenv (Makefile.am): Likewise.
76013         * modules/quote (Makefile.am): Likewise.
76014         * modules/quotearg (Makefile.am): Likewise.
76015         * modules/raise (Makefile.am): Likewise.
76016         * modules/read-file (Makefile.am): Likewise.
76017         * modules/readline (Makefile.am): Likewise.
76018         * modules/readlink (Makefile.am): Likewise.
76019         * modules/readtokens (Makefile.am): Likewise.
76020         * modules/readutmp (Makefile.am): Likewise.
76021         * modules/realloc (Makefile.am): Likewise.
76022         * modules/regex (Makefile.am): Likewise.
76023         * modules/rename-dest-slash (Makefile.am): Likewise.
76024         * modules/rename (Makefile.am): Likewise.
76025         * modules/rijndael (Makefile.am): Likewise.
76026         * modules/rmdir (Makefile.am): Likewise.
76027         * modules/rpmatch (Makefile.am): Likewise.
76028         * modules/safe-read (Makefile.am): Likewise.
76029         * modules/safe-write (Makefile.am): Likewise.
76030         * modules/same-inode (Makefile.am): Likewise.
76031         * modules/same (Makefile.am): Likewise.
76032         * modules/save-cwd (Makefile.am): Likewise.
76033         * modules/savedir (Makefile.am): Likewise.
76034         * modules/setenv (Makefile.am): Likewise.
76035         * modules/settime (Makefile.am): Likewise.
76036         * modules/sha1 (Makefile.am): Likewise.
76037         * modules/sig2str (Makefile.am): Likewise.
76038         * modules/snprintf (Makefile.am): Likewise.
76039         * modules/stat-macros (Makefile.am): Likewise.
76040         * modules/stat-time (Makefile.am): Likewise.
76041         * modules/stdbool (Makefile.am): Likewise.
76042         * modules/stdint (Makefile.am): Likewise.
76043         * modules/stdlib-safer (Makefile.am): Likewise.
76044         * modules/stpcpy (Makefile.am): Likewise.
76045         * modules/stpncpy (Makefile.am): Likewise.
76046         * modules/strcase (Makefile.am): Likewise.
76047         * modules/strcasestr (Makefile.am): Likewise.
76048         * modules/strchrnul (Makefile.am): Likewise.
76049         * modules/strcspn (Makefile.am): Likewise.
76050         * modules/strdup (Makefile.am): Likewise.
76051         * modules/strerror (Makefile.am): Likewise.
76052         * modules/strftime (Makefile.am): Likewise.
76053         * modules/strndup (Makefile.am): Likewise.
76054         * modules/strnlen (Makefile.am): Likewise.
76055         * modules/strpbrk (Makefile.am): Likewise.
76056         * modules/strsep (Makefile.am): Likewise.
76057         * modules/strstr (Makefile.am): Likewise.
76058         * modules/strtod (Makefile.am): Likewise.
76059         * modules/strtoimax (Makefile.am): Likewise.
76060         * modules/strtok_r (Makefile.am): Likewise.
76061         * modules/strtol (Makefile.am): Likewise.
76062         * modules/strtoll (Makefile.am): Likewise.
76063         * modules/strtoul (Makefile.am): Likewise.
76064         * modules/strtoull (Makefile.am): Likewise.
76065         * modules/strtoumax (Makefile.am): Likewise.
76066         * modules/strverscmp (Makefile.am): Likewise.
76067         * modules/sys_socket (Makefile.am): Likewise.
76068         * modules/sys_stat (Makefile.am): Likewise.
76069         * modules/sysexits (Makefile.am): Likewise.
76070         * modules/time_r (Makefile.am): Likewise.
76071         * modules/timegm (Makefile.am): Likewise.
76072         * modules/timespec (Makefile.am): Likewise.
76073         * modules/tmpfile-safer (Makefile.am): Likewise.
76074         * modules/trim (Makefile.am): Likewise.
76075         * modules/unistd-safer (Makefile.am): Likewise.
76076         * modules/unlinkdir (Makefile.am): Likewise.
76077         * modules/unlocked-io (Makefile.am): Likewise.
76078         * modules/userspec (Makefile.am): Likewise.
76079         * modules/utime (Makefile.am): Likewise.
76080         * modules/utimecmp (Makefile.am): Likewise.
76081         * modules/utimens (Makefile.am): Likewise.
76082         * modules/vasnprintf (Makefile.am): Likewise.
76083         * modules/vasprintf (Makefile.am): Likewise.
76084         * modules/vsnprintf (Makefile.am): Likewise.
76085         * modules/xalloc (Makefile.am): Likewise.
76086         * modules/xgetcwd (Makefile.am): Likewise.
76087         * modules/xnanosleep (Makefile.am): Likewise.
76088         * modules/xreadlink (Makefile.am): Likewise.
76089         * modules/xstrtod (Makefile.am): Likewise.
76090         * modules/xstrtol (Makefile.am): Likewise.
76091         * modules/xstrtold (Makefile.am): Likewise.
76092         * modules/yesno (Makefile.am): Likewise.
76093         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
76094
76095 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
76096
76097         * modules/error (Makefile.am): Distribute files through
76098         EXTRA_DIST, not lib_SOURCES.
76099
76100 2006-10-12  Eric Blake  <ebb9@byu.net>
76101
76102         * modules/error (Makefile.am): Distribute files in /lib.
76103         * modules/obstack (Makefile.am): Likewise.
76104
76105 2006-10-12  Bruno Haible  <bruno@clisp.org>
76106
76107         * modules/acl (Makefile.am): Distribute all files in lib/ through
76108         EXTRA_DIST.
76109         * modules/arcfour (Makefile.am): Likewise.
76110         * modules/arctwo (Makefile.am): Likewise.
76111         * modules/argmatch (Makefile.am): Likewise.
76112         * modules/argz (Makefile.am): Likewise.
76113         * modules/atexit (Makefile.am): Likewise.
76114         * modules/backupfile (Makefile.am): Likewise.
76115         * modules/c-strtod (Makefile.am): Likewise.
76116         * modules/c-strtold (Makefile.am): Likewise.
76117         * modules/calloc (Makefile.am): Likewise.
76118         * modules/canon-host (Makefile.am): Likewise.
76119         * modules/canonicalize (Makefile.am): Likewise.
76120         * modules/chdir-long (Makefile.am): Likewise.
76121         * modules/chdir-safer (Makefile.am): Likewise.
76122         * modules/check-version (Makefile.am): Likewise.
76123         * modules/chown (Makefile.am): Likewise.
76124         * modules/cloexec (Makefile.am): Likewise.
76125         * modules/close-stream (Makefile.am): Likewise.
76126         * modules/closeout (Makefile.am): Likewise.
76127         * modules/crc (Makefile.am): Likewise.
76128         * modules/cycle-check (Makefile.am): Likewise.
76129         * modules/des (Makefile.am): Likewise.
76130         * modules/dirfd (Makefile.am): Likewise.
76131         * modules/dirname (Makefile.am): Likewise.
76132         * modules/dup2 (Makefile.am): Likewise.
76133         * modules/euidaccess (Makefile.am): Likewise.
76134         * modules/exclude (Makefile.am): Likewise.
76135         * modules/exitfail (Makefile.am): Likewise.
76136         * modules/fcntl-safer (Makefile.am): Likewise.
76137         * modules/file-type (Makefile.am): Likewise.
76138         * modules/fileblocks (Makefile.am): Likewise.
76139         * modules/filemode (Makefile.am): Likewise.
76140         * modules/filenamecat (Makefile.am): Likewise.
76141         * modules/fnmatch (Makefile.am): Likewise.
76142         * modules/fopen-safer (Makefile.am): Likewise.
76143         * modules/fpending (Makefile.am): Likewise.
76144         * modules/fprintftime (Makefile.am): Likewise.
76145         * modules/free (Makefile.am): Likewise.
76146         * modules/fsusage (Makefile.am): Likewise.
76147         * modules/ftruncate (Makefile.am): Likewise.
76148         * modules/fts (Makefile.am): Likewise.
76149         * modules/gc (Makefile.am): Likewise.
76150         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
76151         * modules/getaddrinfo (Makefile.am): Likewise.
76152         * modules/getcwd (Makefile.am): Likewise.
76153         * modules/getdelim (Makefile.am): Likewise.
76154         * modules/getdomainname (Makefile.am): Likewise.
76155         * modules/getgroups (Makefile.am): Likewise.
76156         * modules/gethostname (Makefile.am): Likewise.
76157         * modules/gethrxtime (Makefile.am): Likewise.
76158         * modules/getline (Makefile.am): Likewise.
76159         * modules/getloadavg (Makefile.am): Likewise.
76160         * modules/getlogin_r (Makefile.am): Likewise.
76161         * modules/getopt (Makefile.am): Likewise.
76162         * modules/getpass (Makefile.am): Likewise.
76163         * modules/getpass-gnu (Makefile.am): Likewise.
76164         * modules/getsubopt (Makefile.am): Likewise.
76165         * modules/gettime (Makefile.am): Likewise.
76166         * modules/gettimeofday (Makefile.am): Likewise.
76167         * modules/getugroups (Makefile.am): Likewise.
76168         * modules/getusershell (Makefile.am): Likewise.
76169         * modules/glob (Makefile.am): Likewise.
76170         * modules/group-member (Makefile.am): Likewise.
76171         * modules/hard-locale (Makefile.am): Likewise.
76172         * modules/hash (Makefile.am): Likewise.
76173         * modules/hmac-md5 (Makefile.am): Likewise.
76174         * modules/hmac-sha1 (Makefile.am): Likewise.
76175         * modules/human (Makefile.am): Likewise.
76176         * modules/idcache (Makefile.am): Likewise.
76177         * modules/imaxabs (Makefile.am): Likewise.
76178         * modules/imaxdiv (Makefile.am): Likewise.
76179         * modules/inet_ntop (Makefile.am): Likewise.
76180         * modules/inet_pton (Makefile.am): Likewise.
76181         * modules/inttostr (Makefile.am): Likewise.
76182         * modules/isapipe (Makefile.am): Likewise.
76183         * modules/lchown (Makefile.am): Likewise.
76184         * modules/long-options (Makefile.am): Likewise.
76185         * modules/lstat (Makefile.am): Likewise.
76186         * modules/malloc (Makefile.am): Likewise.
76187         * modules/mathl (Makefile.am): Likewise.
76188         * modules/mbchar (Makefile.am): Likewise.
76189         * modules/md2 (Makefile.am): Likewise.
76190         * modules/md4 (Makefile.am): Likewise.
76191         * modules/md5 (Makefile.am): Likewise.
76192         * modules/memcasecmp (Makefile.am): Likewise.
76193         * modules/memchr (Makefile.am): Likewise.
76194         * modules/memcmp (Makefile.am): Likewise.
76195         * modules/memcoll (Makefile.am): Likewise.
76196         * modules/memcpy (Makefile.am): Likewise.
76197         * modules/memmem (Makefile.am): Likewise.
76198         * modules/memmove (Makefile.am): Likewise.
76199         * modules/mempcpy (Makefile.am): Likewise.
76200         * modules/memrchr (Makefile.am): Likewise.
76201         * modules/memset (Makefile.am): Likewise.
76202         * modules/memxor (Makefile.am): Likewise.
76203         * modules/mkancesdirs (Makefile.am): Likewise.
76204         * modules/mkdir (Makefile.am): Likewise.
76205         * modules/mkdir-p (Makefile.am): Likewise.
76206         * modules/mkdtemp (Makefile.am): Likewise.
76207         * modules/mkstemp (Makefile.am): Likewise.
76208         * modules/mktime (Makefile.am): Likewise.
76209         * modules/modechange (Makefile.am): Likewise.
76210         * modules/mountlist (Makefile.am): Likewise.
76211         * modules/nanosleep (Makefile.am): Likewise.
76212         * modules/openat (Makefile.am): Likewise.
76213         * modules/pagealign_alloc (Makefile.am): Likewise.
76214         * modules/physmem (Makefile.am): Likewise.
76215         * modules/poll (Makefile.am): Likewise.
76216         * modules/posixtm (Makefile.am): Likewise.
76217         * modules/posixver (Makefile.am): Likewise.
76218         * modules/putenv (Makefile.am): Likewise.
76219         * modules/quote (Makefile.am): Likewise.
76220         * modules/quotearg (Makefile.am): Likewise.
76221         * modules/raise (Makefile.am): Likewise.
76222         * modules/read-file (Makefile.am): Likewise.
76223         * modules/readline (Makefile.am): Likewise.
76224         * modules/readlink (Makefile.am): Likewise.
76225         * modules/readtokens (Makefile.am): Likewise.
76226         * modules/readutmp (Makefile.am): Likewise.
76227         * modules/realloc (Makefile.am): Likewise.
76228         * modules/regex (Makefile.am): Likewise.
76229         * modules/rename (Makefile.am): Likewise.
76230         * modules/rename-dest-slash (Makefile.am): Likewise.
76231         * modules/rijndael (Makefile.am): Likewise.
76232         * modules/rmdir (Makefile.am): Likewise.
76233         * modules/rpmatch (Makefile.am): Likewise.
76234         * modules/safe-read (Makefile.am): Likewise.
76235         * modules/safe-write (Makefile.am): Likewise.
76236         * modules/same (Makefile.am): Likewise.
76237         * modules/save-cwd (Makefile.am): Likewise.
76238         * modules/savedir (Makefile.am): Likewise.
76239         * modules/setenv (Makefile.am): Likewise.
76240         * modules/settime (Makefile.am): Likewise.
76241         * modules/sha1 (Makefile.am): Likewise.
76242         * modules/sig2str (Makefile.am): Likewise.
76243         * modules/snprintf (Makefile.am): Likewise.
76244         * modules/stdlib-safer (Makefile.am): Likewise.
76245         * modules/stpcpy (Makefile.am): Likewise.
76246         * modules/stpncpy (Makefile.am): Likewise.
76247         * modules/strcase (Makefile.am): Likewise.
76248         * modules/strcasestr (Makefile.am): Likewise.
76249         * modules/strchrnul (Makefile.am): Likewise.
76250         * modules/strcspn (Makefile.am): Likewise.
76251         * modules/strdup (Makefile.am): Likewise.
76252         * modules/strerror (Makefile.am): Likewise.
76253         * modules/strftime (Makefile.am): Likewise.
76254         * modules/strndup (Makefile.am): Likewise.
76255         * modules/strnlen (Makefile.am): Likewise.
76256         * modules/strpbrk (Makefile.am): Likewise.
76257         * modules/strsep (Makefile.am): Likewise.
76258         * modules/strstr (Makefile.am): Likewise.
76259         * modules/strtod (Makefile.am): Likewise.
76260         * modules/strtoimax (Makefile.am): Likewise.
76261         * modules/strtok_r (Makefile.am): Likewise.
76262         * modules/strtol (Makefile.am): Likewise.
76263         * modules/strtoll (Makefile.am): Likewise.
76264         * modules/strtoul (Makefile.am): Likewise.
76265         * modules/strtoull (Makefile.am): Likewise.
76266         * modules/strtoumax (Makefile.am): Likewise.
76267         * modules/strverscmp (Makefile.am): Likewise.
76268         * modules/time_r (Makefile.am): Likewise.
76269         * modules/timegm (Makefile.am): Likewise.
76270         * modules/tmpfile-safer (Makefile.am): Likewise.
76271         * modules/unistd-safer (Makefile.am): Likewise.
76272         * modules/unlinkdir (Makefile.am): Likewise.
76273         * modules/userspec (Makefile.am): Likewise.
76274         * modules/utime (Makefile.am): Likewise.
76275         * modules/utimecmp (Makefile.am): Likewise.
76276         * modules/utimens (Makefile.am): Likewise.
76277         * modules/vasnprintf (Makefile.am): Likewise.
76278         * modules/vasprintf (Makefile.am): Likewise.
76279         * modules/vsnprintf (Makefile.am): Likewise.
76280         * modules/xalloc (Makefile.am): Likewise.
76281         * modules/xgetcwd (Makefile.am): Likewise.
76282         * modules/xnanosleep (Makefile.am): Likewise.
76283         * modules/xreadlink (Makefile.am): Likewise.
76284         * modules/xstrtod (Makefile.am): Likewise.
76285         * modules/xstrtol (Makefile.am): Likewise.
76286         * modules/xstrtold (Makefile.am): Likewise.
76287         * modules/yesno (Makefile.am): Likewise.
76288
76289 2006-10-12  Jim Meyering  <jim@meyering.net>
76290
76291         * m4/getloadavg.m4: Revert the change below.
76292
76293         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
76294         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
76295         fail with a symlink, which is what coreutils' ./bootstrap now
76296         creates by default.
76297
76298 2006-10-12  Bruno Haible  <bruno@clisp.org>
76299
76300         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
76301         mingw.
76302         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
76303         MSVC and mingw explicitly.
76304
76305 2006-10-11  Simon Josefsson  <jas@extundo.com>
76306             Bruno Haible  <bruno@clisp.org>
76307
76308         Add support for multiple gnulib-tool invocations in the scope of a
76309         single configure.ac file.
76310         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
76311         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
76312         with the same contents as the _LIBADD variable.
76313         (func_emit_initmacro_start, func_emit_initmacro_end,
76314         func_emit_initmacro_done): New functions.
76315         (func_import, func_create_testdir): Invoke them. Allow the identifiers
76316         gl_LIBOBJS and gl_LTLIBOBJS.
76317
76318 2006-10-11  Bruno Haible  <bruno@clisp.org>
76319
76320         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
76321         (func_create_testdir): Don't create po/Makefile.am, don't invoke
76322         autoreconf. Instead, invoke autopoint explicitly but move back the
76323         *.m4 files from gnulib.
76324
76325 2006-10-11  Bruno Haible  <bruno@clisp.org>
76326
76327         * gnulib-tool (func_usage): Make module names after --create-testdir
76328         optional.
76329         (func_create_testdir): If no module was specified, use nearly all
76330         modules.
76331
76332 2006-10-12  Jim Meyering  <jim@meyering.net>
76333
76334         Big performance improvement for fts-based tools that use FTS_NOSTAT.
76335         Avoid spurious inode-mismatch problems on non-POSIX file systems.
76336         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
76337         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
76338         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
76339         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
76340         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
76341         (fts_set_stat_required): New function.
76342         (fts_open): Defer the calls to fts_stat, if possible or requested.
76343         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
76344         into fts_stat itself.
76345         (fts_read): Perform any required (deferred) fts_stat call.
76346         (fts_build): Likewise, for the directory we're about to open and read.
76347         In the readdir loop, carefully decide whether each entry will require
76348         an eventual call to fts_stat, using dirent.d_type info if available.
76349         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
76350         a command line argument into this function.  Update all callers.
76351         Map a return value of FTS_DOT to FTS_D for a command line argument.
76352         * modules/fts (Depends-on): Add d-type.  Alphabetize.
76353         Thanks to Miklos Szeredi for his tenacity and for the initial
76354         bug report about "find" failing on a FUSE-based file system.
76355
76356         * lib/fts.c (fts_open): Use consistent indentation.
76357
76358 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
76359
76360         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
76361         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
76362         reported by Jim Meyering.  All uses of cache variables renamed
76363         to match Autoconf's.
76364         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
76365         the other one.
76366
76367         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
76368         Fix misspelling in diagnostic.
76369
76370 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
76371
76372         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
76373         defined.  Problem reported by Matthew Woehlke.
76374
76375         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
76376         Add support for Tandem NonStop R series.
76377         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
76378         Use new macro.
76379
76380         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
76381         (has_trailing_slash): Omit size arg; all callers changed.
76382         Omit 'inline', since it doesn't help performance and we'd
76383         need to configure it.
76384         Don't count //, ///, etc. as having a trailing slash.
76385         As a side effect, this removes a C99ism reported by Matthew Woehlke.
76386         (rpl_rename_dest_slash): On failure, use rename's errno rather
76387         than (in some cases) an incorrect or junk errno.
76388         Simplify code by removing need to compute length; this does
76389         cause it to make two passes instead of one over the file name,
76390         but it's worth it.
76391
76392         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
76393         change, since Autoconf's version may no longer be appropriate now
76394         that we are using CVS Autoconf's version.  Add support for Tandem.
76395
76396 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
76397             Bruno Haible  <bruno@clisp.org>
76398
76399         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
76400         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
76401         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
76402         gl_AC_TYPE_LONG_LONG.
76403
76404         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
76405         instead of HAVE_LONG_LONG.
76406         * lib/printf-args.c (printf_fetchargs): Likewise.
76407         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
76408         * lib/vasnprintf.c (VASNPRINTF): Likewise.
76409         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
76410         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
76411         gl_AC_TYPE_LONG_LONG.
76412
76413 2006-10-11  Bruno Haible  <bruno@clisp.org>
76414
76415         * m4/longlong.m4: Add comments.
76416         * m4/ulonglong.m4: Likewise.
76417
76418 2006-10-10  Bruno Haible  <bruno@clisp.org>
76419
76420         Make it possible to #define stpcpy, strdup to aliases.
76421         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
76422         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
76423
76424 2006-10-10  Bruno Haible  <bruno@clisp.org>
76425
76426         Make it possible to #define gcd to an alias.
76427         * lib/gcd.c: Include config.h.
76428
76429 2006-10-10  Bruno Haible  <bruno@clisp.org>
76430
76431         Make it possible to #define c_isascii to an alias.
76432         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
76433         defined. Undefine the macros before defining them, to avoid gcc
76434         warnings.
76435         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
76436         define NO_C_CTYPE_MACROS early.
76437
76438 2006-10-10  Bruno Haible  <bruno@clisp.org>
76439
76440         Make it possible to #define set_program_name to an alias.
76441         * lib/progname.c: Don't undefine set_program_name; instead, undefine
76442         ENABLE_RELOCATABLE early.
76443
76444 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
76445
76446         Port to Tandem NSK OSS, which has 64-bit signed int but at most
76447         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
76448         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
76449         More generally, don't assume that 64-bit signed int is available
76450         if unsigned int is, and vice versa.
76451         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
76452         unsigned symbols, not on their signed counterparts.
76453         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
76454         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
76455         (UINT64_C, UINTMAX_C):
76456         Likewise.
76457         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
76458         unsigned counterparts.
76459         (Have_long_long, Unsigned): New macros.
76460         (Int): Renamed from INT.
76461         (strtoimax): Use the new macros.
76462         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
76463         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
76464         * modules/inttypes (inttypes.h): Substitute
76465         HAVE_UNSIGNED_LONG_LONG_INT.
76466         * modules/stdint (stdint.h): Likewise.
76467         (Files): Add m4/ulonglong.m4.
76468
76469 2006-10-10  Bruno Haible  <bruno@clisp.org>
76470
76471         Fix a gcc -Wshadow warning.
76472         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
76473         to 'bucket'.
76474         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
76475         gl_linked_indexof_from_to): Likewise.
76476         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
76477         Likewise.
76478         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
76479         Likewise.
76480         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
76481         Reported by Eric Blake.
76482
76483 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
76484
76485         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
76486         for NetBSD.  Problem reported by Bruno Haible.
76487
76488 2006-10-09  Jim Meyering  <jim@meyering.net>
76489
76490         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
76491         Patch from Bruno Haible.
76492
76493 2006-10-09  Jim Meyering  <jim@meyering.net>
76494
76495         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
76496         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
76497         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
76498
76499 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
76500
76501         Don't include <config.h> twice; this doesn't work in some cases,
76502         e.g., when config.h has "#define intmax_t long long int" and
76503         we include <config.h>, <inttypes.h>, <config.h> in that order.
76504         Problem reported by Matthew Woehlke in:
76505         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
76506         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
76507         * lib/fts-cycle.c: Don't include config.h.
76508         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
76509         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
76510         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
76511         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
76512         inttypes.h.
76513         * lib/xstrtoumax.c: Likewise.
76514         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
76515         __strtol and the like, so that this module is more like its siblings.
76516         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
76517         Remove; no longer needed now that we assume gnulib inttypes.h.
76518
76519 2006-10-08  Bruno Haible  <bruno@clisp.org>
76520
76521         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
76522         option.
76523
76524 2006-10-07  Jim Meyering  <jim@meyering.net>
76525
76526         * modules/inttypes (inttypes.h): Revert what seems to have been
76527         an inadvertent part of today's change: use "|", not "/" in the
76528         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
76529
76530 2006-10-07  Bruno Haible  <bruno@clisp.org>
76531
76532         * modules/sublist: New file.
76533
76534 2006-10-07  Bruno Haible  <bruno@clisp.org>
76535
76536         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
76537         * modules/argz (argz.h): Likewise.
76538         * modules/arpa_inet (arpa/inet.h): Likewise.
76539         * modules/byteswap (byteswap.h): Likewise.
76540         * modules/configmake (configmake.h): Likewise.
76541         * modules/fcntl (fcntl.h): Likewise.
76542         * modules/fnmatch (fnmatch.h): Likewise.
76543         * modules/getopt (getopt.h): Likewise.
76544         * modules/glob (glob.h): Likewise.
76545         * modules/inttypes (inttypes.h): Likewise.
76546         * modules/netinet_in (netinet/in.h): Likewise.
76547         * modules/poll (poll.h): Likewise.
76548         * modules/stdbool (stdbool.h): Likewise.
76549         * modules/stdint (stdint.h): Likewise.
76550         * modules/sys_select (sys/select.h): Likewise.
76551         * modules/sys_socket (sys/socket.h): Likewise.
76552         * modules/sys_stat (sys/stat.h): Likewise.
76553         * modules/sysexits (sysexits.h): Likewise.
76554         * modules/unistd (unistd.h): Likewise.
76555         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
76556         Add a "DO NOT EDIT" comment to the generated file.
76557         (func_import): Likewise for gnulib-comp.m4.
76558
76559 2006-10-07  Bruno Haible  <bruno@clisp.org>
76560
76561         * lib/gl_sublist.h: New file.
76562         * lib/gl_sublist.c: New file.
76563
76564 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
76565
76566         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
76567         name (relative to the original working directory) and the file
76568         name component (relative to the temporary working directory).  All
76569         callers changed.
76570         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
76571         * lib/mkdir-p.c (make_dir_parents): Likewise.
76572         * lib/mkdir-p.h (make_dir_parents): Likewise.
76573
76574 2006-10-06  Eric Blake  <ebb9@byu.net>
76575
76576         Define several macros for use by the clean-temp module.
76577         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
76578         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
76579         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
76580
76581         * lib/clean-temp.h (close_stream_temp): New declaration.
76582         * lib/clean-temp.c (includes): Pull in headers according to what
76583         other modules are in use.
76584         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
76585
76586 2006-10-06  Bruno Haible  <bruno@clisp.org>
76587
76588         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
76589         instead of fopen, fwriteerror.
76590
76591 2006-10-06  Bruno Haible  <bruno@clisp.org>
76592
76593         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
76594         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
76595         int.
76596         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
76597         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
76598         Return an error indicator.
76599         Suggested by Eric Blake.
76600
76601 2006-10-06  Bruno Haible  <bruno@clisp.org>
76602
76603         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
76604         Reported by Eric Blake.
76605
76606 2006-10-06  Bruno Haible  <bruno@clisp.org>
76607
76608         * modules/closeout (Description): Mention stderr too.
76609
76610 2006-10-06  Bruno Haible  <bruno@clisp.org>
76611         and Paul Eggert  <eggert@cs.ucla.edu>
76612
76613         * lib/closeout.c (close_stdout): Also close stderr.
76614         * lib/closeout.h: Update comment.
76615
76616 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
76617
76618         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
76619         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
76620         * lib/dirchownmod.c: Include lchown.h.
76621         * lib/lchown.c: Don't include files that lchown.h now includes.
76622         Don't declare chown, since lchown.h now does that.
76623         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
76624         (lchown): Define to rpl_chown if lchown is declared but
76625         does not exist.  Declare using a prototype if lchown is not
76626         declared.  Add a copyright notice.
76627         * lib/mkstemp.h: Include <unistd.h>.
76628         * lib/openat.c: Include lchown.h.
76629
76630         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
76631         we now test for that separately.
76632         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
76633         rather than O_NOFOLLOW, when testing whether it's possible to
76634         avoid a race condition reliably.
76635         * lib/savewd.c (savewd_chdir): Likewise.
76636
76637         Remove macros that are no longer needed now that stdint.h is
76638         reliable.
76639         * lib/fsusage.c (UINTMAX_MAX): Remove.
76640         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
76641         * lib/utimecmp.c (SIZE_MAX): Remove.
76642
76643         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
76644
76645         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
76646         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
76647         O_NOATIME works.
76648
76649 2006-10-05  Bruno Haible  <bruno@clisp.org>
76650
76651         * lib/gl_list.h (gl_sortedlist_search_from_to,
76652         gl_sortedlist_indexof_from_to): New declarations.
76653         (gl_list_implementation): New fields sortedlist_search_from_to,
76654         sortedlist_indexof_from_to.
76655         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
76656         inline functions.
76657         * lib/gl_list.c (gl_sortedlist_search_from_to,
76658         gl_sortedlist_indexof_from_to): New functions.
76659         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
76660         function.
76661         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
76662         (gl_array_sortedlist_search_from_to): New function.
76663         (gl_array_list_implementation): Update.
76664         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
76665         function.
76666         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
76667         (gl_carray_sortedlist_search_from_to): New function.
76668         (gl_carray_list_implementation): Update.
76669         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
76670         gl_linked_sortedlist_indexof_from_to): New functions.
76671         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
76672         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
76673         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
76674         gl_tree_sortedlist_indexof_from_to): New functions.
76675         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
76676         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
76677         Update.
76678         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
76679         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
76680         Update.
76681
76682 2006-10-05  Bruno Haible  <bruno@clisp.org>
76683
76684         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
76685         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
76686         (struct gl_list_implementation): Add fields search_from_to,
76687         indexof_from_to. Remove fields search, indexof.
76688         (gl_list_search): Use the search_from_to method.
76689         (gl_list_search_from, gl_list_search_from_to): New functions.
76690         (gl_list_indexof): Use the indexof_from_to method.
76691         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
76692         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
76693         (gl_list_search_from, gl_list_search_from_to): New functions.
76694         (gl_list_indexof): Use the indexof_from_to method.
76695         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
76696         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
76697         gl_array_indexof. Add start_index, end_index arguments.
76698         (gl_array_search_from_to): Renamed from gl_array_search. Add
76699         start_index, end_index arguments.
76700         (gl_array_remove, gl_array_list_implementation): Update.
76701         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
76702         gl_carray_indexof. Add start_index, end_index arguments.
76703         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
76704         start_index, end_index arguments.
76705         (gl_carray_remove, gl_carray_list_implementation): Update.
76706         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
76707         gl_linked_search. Add start_index, end_index arguments.
76708         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
76709         start_index, end_index arguments.
76710         (gl_linked_remove): Update.
76711         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
76712         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
76713         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
76714         field to 'size_t'.
76715         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
76716         gl_tree_search. Add start_index, end_index arguments.
76717         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
76718         start_index, end_index arguments.
76719         (gl_tree_remove): Update.
76720         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
76721         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
76722         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
76723         function.
76724         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
76725         gl_tree_search. Add start_index, end_index arguments.
76726         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
76727         start_index, end_index arguments.
76728         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
76729         Update.
76730         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
76731
76732 2006-10-05  Bruno Haible  <bruno@clisp.org>
76733
76734         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
76735
76736         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
76737         fwriteerror_temp): New declarations.
76738         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
76739         (descriptors): New variable.
76740         (cleanup): First, close the descriptors.
76741         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
76742         fclose_temp, fwriteerror_temp): New functions.
76743
76744 2006-10-04  Jim Meyering  <jim@meyering.net>
76745
76746         * lib/fts.c (fts_open): Tiny comment change.
76747
76748 2006-10-04  Bruno Haible  <bruno@clisp.org>
76749
76750         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
76751         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
76752         gl_LOCK_BODY.
76753         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
76754         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
76755         gl_LOCK_EARLY_BODY.
76756         (gl_LOCK): Require gl_LOCK_BODY.
76757
76758 2006-10-04  Bruno Haible  <bruno@clisp.org>
76759
76760         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
76761         (gl_oset_search_atleast): New declaration.
76762         (struct gl_oset_implementation): Add field 'search_atleast'.
76763         (gl_oset_search_atleast): New inline function.
76764         * lib/gl_oset.c (gl_oset_search_atleast): New function.
76765         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
76766         (gl_array_oset_implementation): Update.
76767         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
76768         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
76769         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
76770
76771 2006-10-04  Bruno Haible  <bruno@clisp.org>
76772
76773         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
76774
76775 2006-10-03  Bruno Haible  <bruno@clisp.org>
76776
76777         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
76778         from gl_avltreehash_list_implementation.
76779
76780 2006-10-03  Bruno Haible  <bruno@clisp.org>
76781
76782         * lib/gl_oset.c (gl_oset_add): Fix return type.
76783
76784 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
76785
76786         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
76787
76788 2006-10-02  Eric Blake  <ebb9@byu.net>
76789
76790         * modules/strnlen (Depends-on): Add extensions.
76791
76792 2006-10-02  Eric Blake  <ebb9@byu.net>
76793
76794         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
76795         definition in 2.60+.
76796
76797 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
76798
76799         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
76800         checks.
76801
76802 2006-10-02  Bruno Haible  <bruno@clisp.org>
76803
76804         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
76805         to the AUTOMAKE_OPTIONS.
76806         Reported by Jim Meyering.
76807
76808 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
76809
76810         Work around bug in Solaris 10 /proc file system:
76811         /proc/self/fd/NNN/.. isn't the parent directory of
76812         the directory whose file descriptor is NNN.  This needs to
76813         be worked around at run time, not compile time, since a
76814         program might be built on Solaris 8, where things work, and
76815         run on Solaris 10.
76816         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
76817         to use the following interface instead:
76818         (OPENAT_BUFFER_SIZE): New macro.
76819         (openat_proc_name): New function.
76820         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
76821         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
76822         Likewise.
76823         * lib/openat-proc.c: New file.
76824         * modules/openat (Files): Add lib/openat-proc.c.
76825         (Depends-on): Add same-inode, stdbool.
76826         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
76827
76828 2006-09-29  Bruno Haible  <bruno@clisp.org>
76829
76830         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
76831         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
76832         argument. Set stdout_closed before testing for ferror, not after.
76833         (fwriteerror, fwriteerror_no_ebadf): New functions.
76834
76835 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76836
76837         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
76838
76839 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
76840
76841         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
76842         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
76843
76844 2006-09-28  Jim Meyering  <jim@meyering.net>
76845
76846         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
76847         Include <unistd.h>.
76848
76849 2006-09-28  Bruno Haible  <bruno@clisp.org>
76850
76851         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
76852         * modules/linkedhash-list (Depends-on): Likewise.
76853         * modules/rbtreehash-list (Depends-on): Likewise.
76854
76855 2006-09-28  Bruno Haible  <bruno@clisp.org>
76856
76857         * lib/strndup.h: Simplify the redefinition of strndup.
76858         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
76859         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
76860
76861 2006-09-28  Bruno Haible  <bruno@clisp.org>
76862
76863         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
76864         * lib/gl_linkedhash_list.c: Likewise.
76865         * lib/gl_rbtreehash_list.c: Likewise.
76866
76867 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
76868
76869         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
76870         getaddrinfo.
76871
76872         * lib/__fpending.h: Don't include <stdio_ext.h> unless
76873         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
76874         it causes <stdio_ext.h> to cause a compile-time error.
76875         Problem reported by Nelson H. F. Beebe.
76876         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
76877         of HAVE_DECL___PENDING.
76878
76879         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
76880         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
76881         declaration.
76882
76883 2006-09-27  Jim Meyering  <jim@meyering.net>
76884
76885         This file could end up with a definition for a function
76886         named __strndup, rather than rpl_strndup on a system with
76887         incomplete weak_alias support.
76888         * lib/strndup.c (strndup): Rename from __strndup.
76889         Remove #defines that used to map __strndup to strndup.
76890         Don't use K&R prototypes.
76891         Remove LIBC-related code, since this file is not sync'd with glibc.
76892         * lib/strndup.h: Revamp, accordingly.
76893         * m4/strndup.m4: Modernize.
76894
76895 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
76896
76897         * modules/savewd (Depends-on): Add 'raise'.
76898         * lib/savewd.c: Include <signal.h>, for 'raise'.
76899
76900 2006-09-26  Jim Meyering  <jim@meyering.net>
76901
76902         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
76903         when we detect Darwin 8.7.0's acl_get_file bug.
76904         Rearrange to perform the new (below) run-test while $LIBS
76905         contains any acl-related library.  Set USE_ACL at the end.
76906         (gl_ACL_GET_FILE): New function.
76907
76908 2006-09-26  Eric Blake  <ebb9@byu.net>
76909
76910         * lib/verror.c: Include <config.h> unconditionally.
76911
76912 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
76913
76914         * modules/clock-time (Maintainer): Add self.
76915         * modules/getlogin_r (Depends-on): Add extensions.
76916
76917 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76918
76919         * modules/clock-time: New module.
76920         * modules/nanosleep (Depends-on): Add clock-time.
76921         * modules/gethrxtime (Depends-on): Likewise.
76922         * modules/gettime (Depends-on): Likewise.
76923         * modules/settime (Depends-on): Likewise.
76924
76925         * modules/fts-lgpl: Depend on openat.
76926         * modules/mkancesdirs: Depend on savewd.
76927         * modules/mkdir-p: Likewise.
76928
76929 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76930
76931         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
76932
76933         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
76934         `gl_have_arbitrary_file_name_length_limit' to
76935         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
76936         actually works between configure runs.
76937
76938 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76939             Bruno Haible  <bruno@clisp.org>
76940
76941         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
76942
76943 2006-09-25  Jim Meyering  <jim@meyering.net>
76944
76945         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
76946         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
76947
76948 2006-09-25  Eric Blake  <ebb9@byu.net>
76949
76950         * gnulib-tool (func_import, func_create_testdir): Fix typos in
76951         exec's in 2006-09-18 patch when shuffling fds.
76952
76953 2006-09-25  Bruno Haible  <bruno@clisp.org>
76954
76955         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
76956         Reported by Jim Meyering.
76957
76958 2006-09-24  Jim Meyering  <jim@meyering.net>
76959
76960         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
76961         compare a pointer against a literal "0".  That caused failures with
76962         at least HP-UX's hpcc.
76963
76964 2006-09-22  Simon Josefsson  <jas@extundo.com>
76965
76966         * modules/gc-sha1:
76967         * modules/gc-md4:
76968         * modules/gc-hmac-sha1:
76969         * modules/gc-hmac-md5:
76970         * modules/gc-des:
76971         * modules/gc-arcfour: Distribute more files.
76972
76973 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76974
76975         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
76976         (gl_linked_iterator_from_to): Initialize struct completely.
76977         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
76978         (gl_tree_iterator_from_to): Likewise
76979         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
76980         * lib/gl_array_list.c [lint] (gl_array_iterator)
76981         (gl_array_iterator_from_to): Likewise.
76982         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
76983         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
76984         (gl_carray_iterator_from_to): Likewise.
76985
76986         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
76987         * lib/md4.c (md4_process_block): Remove unused variable.
76988         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
76989         parentheses for clarity.
76990
76991 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76992
76993         * modules/bison-i18n (Depends-on): Add gettext.
76994
76995 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76996
76997         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
76998         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
76999         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
77000         also add missing comma that caused broken test.
77001         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
77002         stdlib.h, for `abort'.
77003         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
77004         variables.
77005         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
77006         include unistd.h if present, for `rmdir'.
77007         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
77008         variables.
77009         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
77010         in the process include standard headers for prototypes.
77011         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
77012         gets declared on GNU/Linux.
77013         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
77014         unistd.h, for `rmdir'.
77015         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
77016
77017         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
77018         always true.
77019         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
77020
77021         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
77022
77023 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77024
77025         * gnulib-tool (func_version): Create output all at once.  This
77026         may help avoid triggering unnecessary SIGPIPEs, and at any
77027         rate it doesn't hurt.
77028
77029 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77030             Bruno Haible  <bruno@clisp.org>
77031
77032         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
77033         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
77034         * m4/signed.m4 (bh_C_SIGNED): Likewise.
77035
77036         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
77037         (gl_FUNC_VASPRINTF): Invoke it.
77038
77039 2006-09-22  Bruno Haible  <bruno@clisp.org>
77040
77041         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
77042         getloadavg.c as first argument.
77043
77044 2006-09-22  Bruno Haible  <bruno@clisp.org>
77045
77046         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
77047         at the beginning of the gl_INIT macro.
77048         * modules/getloadavg (configure.ac): Pass $gl_source_base to
77049         gl_GETLOADAVG.
77050
77051 2006-09-22  Bruno Haible  <bruno@clisp.org>
77052
77053         * gnulib-tool (func_create_megatestdir): Don't include the config-h
77054         module.
77055         Suggested by Ralf Wildenhues.
77056
77057 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
77058
77059         Import this patch from libc:
77060
77061         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
77062
77063         * lib/regex_internal.c (re_string_reconstruct): Handle
77064         offset < pstr->valid_raw_len && pstr->offsets_needed case.
77065         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
77066         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
77067         re_string_context_at.
77068
77069         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
77070         now requires it.
77071         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
77072         gl_REGEX now does it for us.
77073         (gl_REGEX): Add test taken from
77074         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
77075
77076         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
77077         Check that large offsets work.  Modernize Autoconf usages.
77078         Prefer "yes" to mean a good thing rather than a bad.
77079         Don't put "#define mkstemp" in config.h, as this might interfere
77080         with standard system headers that "#define mkstemp mkstemp64".
77081
77082         * modules/mkstemp (Depends-on): Add extensions, so that
77083         mkstemp is visible on some platforms.
77084         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
77085         (Include): Change to "mkstemp.h" from <stdlib.h>.
77086         (Files): Add mkstemp.h.
77087
77088         * lib/mkstemp.h: New file, since some standard headers
77089         #define mkstemp.
77090         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
77091         Include "mkstemp.h".
77092         Make the _LIBC code resemble glibc original more,
77093         e.g., use K&R style.
77094         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
77095         (mkstemp): Remove, since mkstemp.h does this for us.
77096         * lib/stdlib--.h: Include mkstemp.h.
77097
77098         Import this patch from libc:
77099
77100         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
77101
77102         * lib/tempname.c (__gen_tempname): Change attempts_min
77103         into a macro.  Use preprocessor to decide how to initialize
77104         attempts [Coverity CID 67].
77105
77106 2006-09-20  Bruno Haible  <bruno@clisp.org>
77107
77108         * lib/mkdtemp.c: Import from libc.
77109         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
77110                 * sysdeps/posix/tempname.c (__gen_tempname): Change
77111                 attempts_min into a macro.  Use preprocessor to decide how to
77112                 initialize attempts [Coverity CID 67].
77113         2001-11-27  Paul Eggert  <eggert@twinsun.com>
77114                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
77115                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
77116
77117 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77118
77119         * gnulib-tool (func_exit): New function, to allow to pass the
77120         exit status portably through the trap.  Use everywhere.
77121         (--help, --version): Signal a write error.
77122         (trap): catch SIGPIPE, for write errors.
77123         Exit at the end of the trap, with the correct exit status.
77124
77125 2006-09-19  Karl Berry  <karl@gnu.org>
77126
77127         * doc/gnulib.texi: note about the license texinfo files.
77128
77129 2006-09-19  Eric Blake  <ebb9@byu.net>
77130
77131         * gnulib-tool: Avoid space-tab.
77132
77133 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
77134
77135         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
77136         that prevented coreutils 6.1 from building.  Problem reported
77137         by Petter Reinholdtsen.
77138
77139 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
77140
77141         * gnulib-tool (avoidlist): Fix typo that broke options like
77142         --avoid=lock that are used by coreutils bootstrap.
77143
77144 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
77145
77146         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
77147         more systematically.
77148
77149 2006-09-18  Jim Meyering  <jim@meyering.net>
77150
77151         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
77152
77153 2006-09-18  Bruno Haible  <bruno@clisp.org>
77154
77155         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
77156
77157 2006-09-18  Bruno Haible  <bruno@clisp.org>
77158
77159         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
77160         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
77161         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
77162         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
77163         * m4/gettext.m4: Require autoconf >= 2.52.
77164         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
77165         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
77166         of gl_cv_header_inttypes_h.
77167
77168 2006-09-18  Bruno Haible  <bruno@clisp.org>
77169
77170         * lib/javaversion.c: Include configmake.h.
77171
77172 2006-09-18  Bruno Haible  <bruno@clisp.org>
77173
77174         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
77175         avoid that the while loops be executed in a subshell.
77176
77177 2006-09-18  Bruno Haible  <bruno@clisp.org>
77178
77179         * MODULES.html.sh (func_module): Break long lines.
77180         Suggested by Bruce Korb <bkorb@gnu.org>.
77181
77182 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77183
77184         Speed up by a factor of 1.12.
77185         * gnulib-tool (nl): New variable.
77186         (func_import): Rewrite include directive extraction to only read each
77187         directive once.
77188
77189 2006-09-17  Bruno Haible  <bruno@clisp.org>
77190
77191         * modules/javaversion (Makefile.am): Remove DEFS setting.
77192         (Depends-on): Add configmake, for PKGDATADIR definition.
77193
77194 2006-09-17  Bruno Haible  <bruno@clisp.org>
77195
77196         * gnulib-tool (func_create_testdir): Rewrite all files at once.
77197
77198 2006-09-17  Bruno Haible  <bruno@clisp.org>
77199
77200         * gnulib-tool (func_append): New function, stolen from libtool.m4.
77201         (func_modules_transitive_closure, func_modules_add_dummy,
77202         func_modules_to_filelist, func_import, func_create_testdir,
77203         func_create_megatestdir, ...): Use it wherever possible.
77204         Suggested by Ralf Wildenhues.
77205
77206 2006-09-16  Karl Berry  <karl@gnu.org>
77207
77208         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
77209         to avoid sectioning errors.
77210         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
77211         [ifinfo]: blank line after @center-ed titles.
77212         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
77213         Spell FSF address consistently with others.
77214         (These changes approved by rms.)
77215
77216 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77217
77218         Speed up by a factor of 1.61.
77219         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
77220         already checked module names again.
77221
77222 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77223
77224         Speed up by a factor of 1.13.
77225         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
77226         for new_files, and the input to func_add_or_update.
77227
77228 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77229
77230         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
77231         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
77232
77233 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
77234
77235         * modules/mkancesdirs (Depends-on): Add fcntl.
77236         * modules/savewd: New file.
77237         * MODULES.html.sh (File system functions): Add savewd.
77238
77239         * modules/configmake (Makefile.am): Add support for the
77240         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
77241
77242 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
77243
77244         * m4/savewd.m4: New file.
77245
77246 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
77247
77248         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
77249         (dirchownmod): New arg FD.  All callers changed.
77250         Use FD rather than opening the directory ourself, as opening is
77251         now the caller's responsibility.
77252         * lib/dirchownmod.h: Likewise.
77253         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
77254         hosts that require <sys/types.h> before <sys/stat.h>.  Include
77255         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
77256         (test_dir): Remove.
77257         (mkancesdirs): Return length of prefix of FILE that has already
77258         been made, or -2 if there is a child doing the work.  Redo
77259         algorithm so that it is O(N) rather than O(N**2).  Optimize away
77260         ".", and treat ".." specially since it might stray back into
77261         already-created areas.  Use a subprocess if necessary.  New arg
77262         WD; all users changed.  MAKE_DIR function should now return 1
77263         if it creates a directory that is not readable.  Return -2 if
77264         a child process is spun off.
77265         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
77266         Adjust signature to match code.
77267         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
77268         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
77269         all users changed.
77270         * lib/savewd.c, lib/savewd.h: New files.
77271
77272 2006-09-15  Jim Meyering  <jim@meyering.net>
77273
77274         * modules/rename-dest-slash: New module.
77275         * MODULES.html.sh (posix_compat): Add it here.
77276
77277         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
77278
77279 2006-09-15  Jim Meyering  <jim@meyering.net>
77280
77281         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
77282         file.
77283
77284         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
77285
77286 2006-09-15  Jim Meyering  <jim@meyering.net>
77287
77288         * lib/rename-dest-slash.c (has_trailing_slash): Use
77289         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
77290         (rpl_rename_dest_slash): Perform the cheaper trailing slash
77291         test before testing whether SRC is a directory.
77292         Suggestions from Bruno Haible.
77293
77294         Avoid a warning about an unused variable.
77295         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
77296         into the #ifdef block where it's used.
77297
77298         * lib/rename-dest-slash.c: New file.
77299
77300 2006-09-14  Bruno Haible  <bruno@clisp.org>
77301
77302         * lib/allocsa.c: Include <config.h> unconditionally.
77303         * lib/asnprintf.c: Likewise.
77304         * lib/asprintf.c: Likewise.
77305         * lib/c-strcasecmp.c: Likewise.
77306         * lib/c-strcasestr.c: Likewise.
77307         * lib/c-strncasecmp.c: Likewise.
77308         * lib/c-strstr.c: Likewise.
77309         * lib/classpath.c: Likewise.
77310         * lib/clean-temp.c: Likewise.
77311         * lib/concatpath.c: Likewise.
77312         * lib/copy-file.c: Likewise.
77313         * lib/csharpcomp.c: Likewise.
77314         * lib/csharpexec.c: Likewise.
77315         * lib/execute.c: Likewise.
77316         * lib/fatal-signal.c: Likewise.
77317         * lib/findprog.c: Likewise.
77318         * lib/fwriteerror.c: Likewise.
77319         * lib/gl_array_list.c: Likewise.
77320         * lib/gl_array_oset.c: Likewise.
77321         * lib/gl_avltree_list.c: Likewise.
77322         * lib/gl_avltree_oset.c: Likewise.
77323         * lib/gl_avltreehash_list.c: Likewise.
77324         * lib/gl_carray_list.c: Likewise.
77325         * lib/gl_linked_list.c: Likewise.
77326         * lib/gl_linkedhash_list.c: Likewise.
77327         * lib/gl_list.c: Likewise.
77328         * lib/gl_oset.c: Likewise.
77329         * lib/gl_rbtree_list.c: Likewise.
77330         * lib/gl_rbtree_oset.c: Likewise.
77331         * lib/gl_rbtreehash_list.c: Likewise.
77332         * lib/imaxabs.c: Likewise.
77333         * lib/imaxdiv.c: Likewise.
77334         * lib/javacomp.c: Likewise.
77335         * lib/javaexec.c: Likewise.
77336         * lib/javaversion.c: Likewise.
77337         * lib/linebreak.c: Likewise.
77338         * lib/localcharset.c: Likewise.
77339         * lib/lock.c: Likewise.
77340         * lib/mbchar.c: Likewise.
77341         * lib/mbswidth.c: Likewise.
77342         * lib/mkdtemp.c: Likewise.
77343         * lib/pipe.c: Likewise.
77344         * lib/printf-args.c: Likewise.
77345         * lib/printf-parse.c: Likewise.
77346         * lib/progname.c: Likewise.
77347         * lib/progreloc.c: Likewise.
77348         * lib/readlink.c: Likewise.
77349         * lib/sh-quote.c: Likewise.
77350         * lib/stpcpy.c: Likewise.
77351         * lib/stpncpy.c: Likewise.
77352         * lib/strcasecmp.c: Likewise.
77353         * lib/strcasestr.c: Likewise.
77354         * lib/strcspn.c: Likewise.
77355         * lib/striconv.c: Likewise.
77356         * lib/strncasecmp.c: Likewise.
77357         * lib/strnlen1.c: Likewise.
77358         * lib/strstr.c: Likewise.
77359         * lib/strtok_r.c: Likewise.
77360         * lib/tls.c: Likewise.
77361         * lib/tmpdir.c: Likewise.
77362         * lib/unicodeio.c: Likewise.
77363         * lib/unsetenv.c: Likewise.
77364         * lib/vasnprintf.c: Likewise.
77365         * lib/vasprintf.c: Likewise.
77366         * lib/wait-process.c: Likewise.
77367         * lib/xallocsa.c: Likewise.
77368         * lib/xsetenv.c: Likewise.
77369         * lib/xstriconv.c: Likewise.
77370
77371 2006-09-13  Simon Josefsson  <jas@extundo.com>
77372
77373         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
77374         that internally, suggested by Ralf Wildenhues
77375         <Ralf.Wildenhues@gmx.de>.
77376
77377 2006-09-13  Simon Josefsson  <jas@extundo.com>
77378
77379         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
77380         @LIBOBJS@.
77381         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
77382
77383 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
77384
77385         * lib/_fpending.c: Include <config.h> unconditionally, since we no
77386         longer worry about uses that don't define HAVE_CONFIG_H.
77387         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
77388         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
77389         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
77390         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
77391         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
77392         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
77393         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
77394         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
77395         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
77396         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
77397         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
77398         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
77399         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
77400         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
77401         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
77402         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
77403         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
77404         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
77405         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
77406         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
77407         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
77408         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
77409         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
77410         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
77411         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
77412         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
77413         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
77414         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
77415         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
77416         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
77417         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
77418         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
77419         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
77420         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
77421         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
77422         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
77423         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
77424         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
77425         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
77426         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
77427         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
77428         Likewise.
77429
77430 2006-09-13  Eric Blake  <ebb9@byu.net>
77431
77432         * lib/getopt.c: Fix typo in last commit.
77433
77434 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
77435
77436         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
77437         dgettext.
77438
77439 2006-09-12  Jim Meyering  <jim@meyering.net>
77440
77441         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
77442         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
77443         Reported by Nelson H. F. Beebe.
77444
77445 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
77446
77447         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
77448         program_invocation_name and program_invocation_short_name are
77449         initialized.
77450         * lib/argp-namefrob.h: Move declarations of program_invocation_name
77451         and program_invocation_short_name to argp.h, so they are visible
77452         to user programs.
77453         * lib/argp.h: Likewise
77454
77455 2006-09-10  Bruno Haible  <bruno@clisp.org>
77456
77457         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
77458         m4/inttypes_h.m4, m4/uintmax_t.m4.
77459
77460 2006-09-10  Bruno Haible  <bruno@clisp.org>
77461
77462         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
77463         gl_AC_TYPE_UINTMAX_T.
77464
77465 2006-09-10  Bruno Haible  <bruno@clisp.org>
77466
77467         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
77468
77469 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
77470
77471         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
77472         convention.  Text proposed by Bruno Haible.
77473         (struct argp_option): Document the use of N_() wrappers.
77474
77475         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
77476         '\v', and translate the two parts separately, instead of feeding
77477         the whole string to gettext.  This allows to exclude
77478         '\v' from the strings visible to the translator by writing doc
77479         strings as N_("..") "\v" N_("..").
77480
77481 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
77482
77483         * config/srclist.txt: Undo latest change; the bug was fixed.
77484
77485 2006-09-09  Bruno Haible  <bruno@clisp.org>
77486
77487         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
77488         assignments if building a library without libtool.
77489         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
77490         in func_emit_lib_Makefile_am.
77491         (func_import): When building a static library libfoo.a, arrange to
77492         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
77493         (func_create_testdir): Likewise.
77494         * modules/gc (configure.ac, Makefile.am): If building statically,
77495         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
77496         * modules/iconvme (configure.ac, Makefile.am): Likewise.
77497         * modules/striconv (configure.ac, Makefile.am): Likewise.
77498         Based on a suggestion by Ralf Wildenhues.
77499
77500 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
77501
77502         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
77503         Check for unistd.h too, since Autoconf doesn't assume POSIX.
77504         Also:
77505
77506         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
77507         Add year_2050_test to catch glibc bug 2821
77508         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
77509
77510         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
77511         Prefer #ifdef to #if.
77512
77513         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
77514         Return from 'main' instead of calling 'exit'.
77515
77516 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
77517
77518         * lib/mktime.c (guess_time_tm): Fix bug where mktime
77519         returned the maximum time_t value rather than (time_t) -1.
77520         Problem originally reported by William Bardwell
77521         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
77522
77523         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
77524         Moved to here ...
77525         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
77526         ... from here.
77527
77528 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
77529
77530         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
77531         2821 is fixed.
77532
77533 2006-09-08  Jim Meyering  <jim@meyering.net>
77534
77535         Don't make generated files read-only.  That would bother too many
77536         people.  However, do retain the ability to work when targets are
77537         read-only: remove the destination and temporary files before writing
77538         them (when generated via sed or echo), or by using the -f option for
77539         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
77540         * modules/alloca-opt, modules/argz, modules/arpa_inet:
77541         * modules/byteswap, modules/configmake, modules/fcntl:
77542         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
77543         * modules/localcharset, modules/netinet_in, modules/poll:
77544         * modules/stdbool, modules/stdint, modules/sys_select:
77545         * modules/sys_socket, modules/sys_stat, modules/sysexits:
77546
77547 2006-09-08  Jim Meyering  <jim@meyering.net>
77548
77549         Avoid new build failure on FreeBSD 6.0.
77550         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
77551         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
77552         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
77553
77554 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77555
77556         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
77557
77558 2006-09-07  Jim Meyering  <jim@meyering.net>
77559
77560         Fix global typo in last change: use chmod u-w, not chmod u-x.
77561         Spotted by Paul Eggert and Bruce Korb.
77562         * modules/alloca-opt, modules/argz, modules/arpa_inet:
77563         * modules/byteswap, modules/configmake, modules/fcntl:
77564         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
77565         * modules/localcharset, modules/netinet_in, modules/poll:
77566         * modules/stdbool, modules/stdint, modules/sys_select:
77567         * modules/sys_socket, modules/sys_stat, modules/sysexits:
77568
77569 2006-09-06  Jim Meyering  <jim@meyering.net>
77570
77571         Make generated files be read-only.
77572         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
77573         Ensure that each generated file is now read-only.
77574         * modules/argz: Likewise.
77575         * modules/arpa_inet: Likewise.
77576         * modules/byteswap: Likewise.
77577         * modules/configmake: Likewise.
77578         * modules/fcntl: Likewise.
77579         * modules/fnmatch: Likewise.
77580         * modules/getopt: Likewise.
77581         * modules/glob: Likewise.
77582         * modules/inttypes: Likewise.
77583         * modules/netinet_in: Likewise.
77584         * modules/poll: Likewise.
77585         * modules/stdbool: Likewise.
77586         * modules/stdint: Likewise.
77587         * modules/sys_select: Likewise.
77588         * modules/sys_socket: Likewise.
77589         * modules/sys_stat: Likewise.
77590         * modules/sysexits: Likewise.
77591         * modules/localcharset: Same as above, but continue using temporary
77592         file named "t-$@" (why different?) rather than the "$@-t" used
77593         everywhere else.
77594
77595         * modules/sysexits (Makefile.am): Replace literal occurrences
77596         of "sysexit.h" more readable, and more consistent, "$@".
77597
77598 2006-09-06  Bruno Haible  <bruno@clisp.org>
77599
77600         * modules/striconv: New file.
77601         * modules/xstriconv: New file.
77602         * MODULES.html.sh (Internationalization functions): Add striconv,
77603         xstriconv.
77604
77605 2006-09-06  Bruno Haible  <bruno@clisp.org>
77606
77607         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
77608         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
77609         not using libtool correctly.
77610
77611 2006-09-06  Bruno Haible  <bruno@clisp.org>
77612
77613         * lib/striconv.h: New file.
77614         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
77615         iconvstring.c.
77616         * lib/xstriconv.h: New file.
77617         * lib/xstriconv.c: New file.
77618
77619 2006-09-06  Bruno Haible  <bruno@clisp.org>
77620
77621         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
77622         lib_..._LDFLAGS.
77623
77624 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77625
77626         * lib/argz_.h: Sync from Libtool.
77627
77628         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
77629                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
77630
77631         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
77632
77633 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
77634
77635         * modules/trim: New file.
77636
77637 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
77638
77639         * lib/trim.h: New file.
77640         * lib/trim.c: New file.
77641
77642 2006-09-05  Bruno Haible  <bruno@clisp.org>
77643
77644         * MODULES.html.sh (String handling): Add trim.
77645
77646 2006-09-04  Karl Berry  <karl@gnu.org>
77647
77648         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
77649         until next release.
77650
77651 2006-09-03  Bruno Haible  <bruno@clisp.org>
77652
77653         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
77654         correctly.
77655
77656 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
77657
77658         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
77659         not gl_GETLOADAVG.  Omit unneeded semicolons.
77660         Problems reported by Ralf Wildenhues in
77661         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
77662         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
77663         at the end, which is the usual gnulib style.
77664
77665         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
77666         of doing all the work ourselves.
77667         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
77668         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
77669
77670 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
77671
77672         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
77673         Problem reported by Ralf Wildenhues in
77674         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
77675
77676         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
77677         HAVE_STRUCT_STATFS_F_FSTYPENAME.
77678
77679 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
77680
77681         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
77682         yesterday's patch by changing test -n to test -z.
77683
77684 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
77685
77686         * modules/getloadavg (Files): Add m4/getloadavg.m4.
77687         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
77688         the former is now obsolescent.
77689
77690         * modules/chdir-long (Depends-on): Add fcntl.
77691
77692 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
77693
77694         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
77695         obsolescent, and programs should use gnulib instead.
77696         * m4/getloadavg.m4: New file, with contents taken from Autoconf
77697         but with prefixes changed.
77698
77699 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
77700
77701         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
77702         or stdbool.h, because they might not exist while configuring.
77703
77704         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
77705         Don't include unistd.h or limits.h; not needed, since chdir-long.h
77706         does that for us.
77707         (O_DIRECTORY): Remove.
77708
77709 2006-08-31  Eric Blake  <ebb9@byu.net>
77710
77711         * gnulib-tool: Don't let emacs change spaces to TAB.
77712
77713 2006-08-31  Bruno Haible  <bruno@clisp.org>
77714
77715         * gnulib-tool: When calling func_import more than once, do it in a
77716         subshell.
77717         Reported by Eric Blake <ebb9@byu.net>.
77718
77719 2006-08-31  Bruno Haible  <bruno@clisp.org>
77720
77721         * gnulib-tool (nl): Remove variable.
77722         (sed_transform_lib_file): Use more robust test for config-h module.
77723         (func_import): Fix typo in 2006-08-25 patch.
77724
77725 2006-08-31  Bruno Haible  <bruno@clisp.org>
77726
77727         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
77728         specified, augment Makefile.am variables instead of assigning them.
77729
77730 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
77731
77732         Work around a bug in both the Linux and SunOS 64-bit kernels:
77733         nanosleep mishandles sleeps for longer than 2**31 seconds.
77734         Problem reported by Frank v Waveren in
77735         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
77736         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
77737         Check for nanosleep bug.
77738         (LIB_NANOSLEEP): Append clock_gettime library if needed.
77739
77740 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
77741
77742         Work around a bug in both the Linux and SunOS 64-bit kernels:
77743         nanosleep mishandles sleeps for longer than 2**31 seconds.
77744         Problem reported by Frank v Waveren in
77745         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
77746         * lib/nanosleep.c (BILLION): New constant.
77747         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
77748         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
77749         implementation.
77750
77751 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
77752
77753         * modules/nanosleep (Depends-on): Add gettime.
77754
77755 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
77756         and Simon Josefsson  <jas@extundo.com>
77757         and Oskar Liljeblad  <oskar@osk.mine.nu>
77758
77759         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
77760         * gnulib-tool (func_import): New license type 'unmodifiable license
77761         text'.
77762         * modules/fdl: Use it.  Longer description.
77763         * module/gpl, module/lgpl: New files.
77764
77765 2006-08-30  Jim Meyering  <jim@meyering.net>
77766
77767         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
77768         shadowing the parameter.
77769
77770 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77771
77772         Sync from Libtool:
77773
77774         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77775
77776         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
77777         sharing with gnulib.  Report by Eric Blake.
77778
77779 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
77780
77781         * modules/isapipe: New file.
77782         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
77783
77784 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
77785
77786         * modules/configmake (Makefile.am): Add a comment, and omit
77787         the CONFIGMAKE_ prefix from generated macro names.  Suggested
77788         by Bruno Haible.
77789
77790 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
77791
77792         * m4/isapipe.m4: New file.
77793
77794 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
77795
77796         * lib/isapipe.c, lib/isapipe.h: New files.
77797
77798 2006-08-29  Jim Meyering  <jim@meyering.net>
77799
77800         * modules/configmake (Makefile.am): Make configmake.h depend on
77801         Makefile.  Otherwise, a stale configmake.h could hang around.
77802
77803 2006-08-29  Eric Blake  <ebb9@byu.net>
77804
77805         * lib/error.c (error_at_line, print_errno_message): Match libc, after
77806         resolution of upstream bug 3044.
77807
77808 2006-08-29  Bruno Haible  <bruno@clisp.org>
77809
77810         * modules/localcharset (Depends-on): Add configmake.
77811         (Makefile.am): Remove setting of LIBDIR through DEFS.
77812
77813 2006-08-29  Bruno Haible  <bruno@clisp.org>
77814
77815         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
77816         defined.
77817
77818 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
77819
77820         * modules/fcntl: New file.
77821         * modules/chdir-safer (Depends-on): Add fcntl.
77822         * modules/fts: Likewise.
77823         * modules/mkdir-p: Likewise.
77824
77825         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
77826         This undoes the most recent change, since we're now addressing the
77827         problem in a different way.
77828
77829         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
77830         into output, since the output might be called Makefile.am even
77831         if $makefile_name is something different.
77832         (func_import): Use $makefile_am rather than
77833         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
77834         empty.
77835
77836         * modules/inttypes (Files): Add m4/inttypes-h.m4.
77837
77838 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
77839
77840         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
77841         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
77842         recent change to stdint.m4, since we're now addressing the problem in a
77843         different way.
77844
77845 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
77846
77847         * m4/fcntl_h.m4: New file.
77848
77849 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
77850
77851         * lib/fcntl_.h: New file.
77852         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
77853         the fcntl module.
77854         * lib/dirchownmod.c: Likewise.
77855         * lib/fts.c: Likewise.
77856
77857         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
77858         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
77859         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
77860         just before including <inttypes.h>, to avoid circular inclusion.
77861
77862 2006-08-28  Jim Meyering  <jim@meyering.net>
77863
77864         * doc/visibility.texi: Actually read and correct the grammar of the
77865         sentence affected by yesterday's change.
77866
77867 2006-08-28  Eric Blake  <ebb9@byu.net>
77868
77869         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
77870         needs wrapper.
77871
77872 2006-08-28  Eric Blake  <ebb9@byu.net>
77873
77874         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
77875
77876 2006-08-28  Eric Blake  <ebb9@byu.net>
77877
77878         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
77879
77880 2006-08-28  Bruno Haible  <bruno@clisp.org>
77881
77882         * modules/c-strstr: New file, from GNU gettext.
77883         * MODULES.html.sh (String handling): Add c-strstr.
77884
77885 2006-08-28  Bruno Haible  <bruno@clisp.org>
77886
77887         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
77888         macros.
77889         Reported by Eric Blake.
77890
77891 2006-08-28  Bruno Haible  <bruno@clisp.org>
77892
77893         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
77894         (VASNPRINTF): Return a string of length > INT_MAX without failing.
77895         * lib/vasprintf.c: Include errno.h, limits.h.
77896         (EOVERFLOW): New fallback definition.
77897         (vasprintf): Test here whether the string length is > INT_MAX.
77898         * lib/vsnprintf.c: Include errno.h, limits.h.
77899         (EOVERFLOW): New fallback definition.
77900         (vsnprintf): Fix bug when generated string was too long for the buffer.
77901         Test here whether the string length is > INT_MAX.
77902
77903 2006-08-28  Bruno Haible  <bruno@clisp.org>
77904
77905         * lib/inttypes_.h (SCNX*): Remove definitions.
77906         Reported by Eric Blake.
77907
77908 2006-08-28  Bruno Haible  <bruno@clisp.org>
77909
77910         * lib/c-strstr.h: New file, from GNU gettext.
77911         * lib/c-strstr.c: New file, from GNU gettext.
77912
77913 2006-08-28  Bruno Haible  <bruno@clisp.org>
77914
77915         * gnulib-tool: Reorder some statements.
77916
77917 2006-08-28  Bruno Haible  <bruno@clisp.org>
77918
77919         * gnulib-tool: New option --makefile-name.
77920         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
77921         $makefile_name.
77922         (func_import): Write $makefile_name to the cache file, and read it from
77923         there unless explicitly specified. Use $makefile_name as file name
77924         instead of Makefile.am. Adjust the recommendations accordingly.
77925
77926 2006-08-28  Bruno Haible  <bruno@clisp.org>
77927
77928         * gnulib-tool (func_verify_module): Check against misapplying patch.
77929
77930 2006-08-28  Bruno Haible  <bruno@clisp.org>
77931
77932         * gnulib-tool (func_relativize, func_relconcat): New functions.
77933         Give an error if --local-dir is given with --update.
77934         Remove trailing slashes from $local_gnulib_dir.
77935         (func_import): Store the relativized $local_gnulib_dir in
77936         gnulib-cache.m4, and read it from there if not specified explicitly.
77937
77938 2006-08-28  Bruno Haible  <bruno@clisp.org>
77939
77940         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
77941         is the current directory. Respect also $local_gnulib_dir.
77942
77943 2006-08-28  Bruno Haible  <bruno@clisp.org>
77944             Simon Josefsson  <jas@extundo.com>
77945
77946         BeOS portability.
77947         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
77948
77949 2006-08-27  Jim Meyering  <jim@meyering.net>
77950
77951         * doc/visibility.texi: Remove duplicate word: "pointer".
77952
77953 2006-08-26  Bruno Haible  <bruno@clisp.org>
77954
77955         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
77956         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
77957         (Makefile.am): Create inttypes.h from inttypes_.h.
77958         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
77959
77960         * modules/imaxabs: New file.
77961
77962         * modules/imaxdiv: New file.
77963
77964 2006-08-26  Bruno Haible  <bruno@clisp.org>
77965
77966         * m4/inttypes.m4: New file.
77967         * m4/_inttypes_h.m4: Remove file.
77968         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
77969         PRI_MACROS_BROKEN.
77970         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
77971
77972         * m4/imaxabs.m4: New file.
77973
77974         * m4/imaxdiv.m4: New file.
77975
77976 2006-08-26  Bruno Haible  <bruno@clisp.org>
77977
77978         * lib/inttypes_.h: New file.
77979         * lib/inttypes.h: Remove file.
77980         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
77981
77982         * lib/imaxabs.c: New file.
77983
77984         * lib/imaxdiv.c: New file.
77985
77986 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
77987
77988         New config-h module, so that "make" output needn't be cluttered
77989         by -DHAVE_CONFIG_H.
77990         * MODULES.html.sh (Support for building libraries and executables):
77991         Add config-h.
77992         * modules/config-h: New file.
77993         * gnulib-tool (nl, sed_transform_lib_file): New vars.
77994         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
77995         the config-h module is used.
77996
77997         New configmake module, so that "make" output needn't be cluttered
77998         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
77999         * MODULES.html.sh (Support for building libraries and executables):
78000         Add configmake.
78001         * modules/configmake: New file.
78002
78003 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
78004
78005         * m4/config-h.m4: New file.
78006
78007 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
78008
78009         * config/srclist.txt: Add elisp-comp.
78010
78011 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
78012
78013         * MODULES.html.sh (Support for building libraries and executables):
78014         Add elisp-comp.
78015         * build-aux/elisp-comp: New file.
78016         * modules/elisp-comp: New file.
78017
78018 2006-08-24  Bruno Haible  <bruno@clisp.org>
78019
78020         * gnulib-tool (func_create_testdir): Use non-default values of
78021         sourcebase and m4base.
78022
78023 2006-08-24  Bruno Haible  <bruno@clisp.org>
78024
78025         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
78026         HTML structure.
78027
78028 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
78029
78030         * modules/openat (Depends-on): Add lchown.
78031
78032 2006-08-23  Bruno Haible  <bruno@clisp.org>
78033
78034         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
78035         of gl_LOCK_EARLY instead of gl_LOCK.
78036
78037 2006-08-23  Bruno Haible  <bruno@clisp.org>
78038
78039         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
78040         on OSF/1 to no.
78041         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
78042
78043 2006-08-23  Bruno Haible  <bruno@clisp.org>
78044
78045         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
78046         as unusable.
78047
78048         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
78049         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
78050         (gl_LOCK): New macro.
78051
78052 2006-08-22  Simon Josefsson  <jas@extundo.com>
78053
78054         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
78055         to md5 module.
78056
78057 2006-08-22  Simon Josefsson  <jas@extundo.com>
78058
78059         * MODULES.html.sh: Add "Support for maintaining and release
78060         projects".
78061
78062         * build-aux/gnupload: New file, from coreutils.
78063
78064 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
78065
78066         Avoid the need for AC_LIBSOURCES in m4 macros.
78067         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
78068         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
78069         * modules/check-version (EXTRA_DIST): Add check-version.h.
78070         * modules/crc (EXTRA_DIST): Add crc.h.
78071         * modules/des (EXTRA_DIST): Add des.h.
78072         * modules/gc (EXTRA_DIST): Add gc.h.
78073         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
78074         * modules/getline (EXTRA_DIST): Add getline.h.
78075         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
78076         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
78077         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
78078         * modules/md2 (EXTRA_DIST): Add md2.h.
78079         * modules/md4 (EXTRA_DIST): Add md4.h.
78080         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
78081         * modules/read-file (EXTRA_DIST): Add read-file.h.
78082         * modules/readline (EXTRA_DIST): Add readline.h.
78083         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
78084         rijndael-api-fst.h.
78085
78086 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
78087
78088         * m4/rijndael.m4 (gl_ARCFOUR):
78089         * m4/arctwo.m4 (gl_ARCTWO):
78090         * m4/check-version.m4 (gl_CHECK_VERSION):
78091         * m4/crc.m4 (gl_CRC):
78092         * m4/des.m4 (gl_DES):
78093         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
78094         * m4/gc.m4 (gl_GC):
78095         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
78096         * m4/getline.m4 (gl_FUNC_GETLINE):
78097         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
78098         * m4/hmac-md5.m4 (gl_HMAC_MD5):
78099         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
78100         * m4/md2.m4 (gl_MD2):
78101         * m4/md4.m4 (gl_MD4):
78102         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
78103         * m4/read-file.m4 (gl_FUNC_READ_FILE):
78104         * m4/readline.m4 (gl_FUNC_READLINE):
78105         * m4/rijndael.m4 (gl_RIJNDAEL):
78106         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
78107         to get the necessary .h files and whatnot.
78108
78109 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
78110
78111         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
78112         gnulib rather than the other way around.
78113         * config/srclistvars.sh (COREUTILS): Remove.
78114
78115 2006-08-22  Jim Meyering  <jim@meyering.net>
78116
78117         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
78118
78119         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
78120
78121 2006-08-22  Eric Blake  <ebb9@byu.net>
78122
78123         * modules/regexprops-generic: New file.
78124         * MODULES.html.sh (Support for building documentation): List it.
78125
78126 2006-08-22  Eric Blake  <ebb9@byu.net>
78127
78128         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
78129         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
78130         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
78131         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
78132
78133 2006-08-22  Bruno Haible  <bruno@clisp.org>
78134
78135         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
78136         and lib_LTLIBRARIES like the other lib_* variables.
78137
78138 2006-08-22  Bruno Haible  <bruno@clisp.org>
78139
78140         * build-aux/x-to-1.in: New file, from GNU gettext.
78141
78142 2006-08-22  Bruno Haible  <bruno@clisp.org>
78143
78144         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
78145         <utmpx.h> exists.
78146
78147 2006-08-22  Bruno Haible  <bruno@clisp.org>
78148
78149         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
78150         <utmpx.h> exists.
78151
78152 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
78153
78154         BeOS portability.
78155         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
78156         exist.
78157         Problem reported by Bruno Haible.
78158
78159 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
78160
78161         Avoid the need for AC_LIBSOURCES in m4 macros.
78162         * modules/acl (EXTRA_DIST): Add acl.h.
78163         * modules/argmatch (Files): Add m4/argmatch.m4.
78164         (configure.ac): Add gl_ARGMATCH.
78165         (EXTRA_DIST): Renamed from lib_SOURCES, for
78166         consistency with the other modules.  Remove argmatch.c.
78167         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
78168         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
78169         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
78170         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
78171         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
78172         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
78173         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
78174         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
78175         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
78176         * modules/closeout (EXTRA_DIST): Add closeout.h.
78177         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
78178         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
78179         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
78180         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
78181         dirname.h; remove basename.c and stripslash.c.
78182         * modules/exclude (EXTRA_DIST): Add exclude.h.
78183         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
78184         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
78185         * modules/file-type (EXTRA_DIST): Add file-type.h.
78186         * modules/filemode (EXTRA_DIST): Add filemode.h.
78187         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
78188         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
78189         * modules/fpending (EXTRA_DIST): Add __fpending.h.
78190         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
78191         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
78192         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
78193         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
78194         * modules/getdate (EXTRA_DIST): Add getdate.c.
78195         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
78196         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
78197         * modules/getpass (EXTRA_DIST): Add getpass.h.
78198         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
78199         * modules/group-member (EXTRA_DIST): Add group-member.h.
78200         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
78201         * modules/hash (EXTRA_DIST): Add hash.h.
78202         * modules/human (EXTRA_DIST): Add human.h.
78203         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
78204         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
78205         * modules/lchown (EXTRA_DIST): Add lchown.h.
78206         * modules/long-options (EXTRA_DIST): Add long-options.h.
78207         * modules/lstat (EXTRA_DIST): Add lstat.h.
78208         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
78209         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
78210         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
78211         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
78212         * modules/memxor (EXTRA_DIST): Add memxor.h.
78213         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
78214         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
78215         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
78216         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
78217         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
78218         * modules/physmem (EXTRA_DIST): Add physmem.h.
78219         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
78220         * modules/posixver (EXTRA_DIST): Add posixver.h.
78221         * modules/quote (EXTRA_DIST): Add quote.h.
78222         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
78223         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
78224         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
78225         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
78226         regex_internal.h regexec.c.
78227         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
78228         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
78229         * modules/same (EXTRA_DIST): Add same.h.
78230         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
78231         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
78232         * modules/savedir (EXTRA_DIST): Add savedir.h.
78233         * modules/sha1 (EXTRA_DIST): Add sha1.h.
78234         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
78235         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
78236         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
78237         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
78238         * modules/strdup (EXTRA_DIST): Add strdup.h.
78239         * modules/strftime (EXTRA_DIST): Add strftime.h.
78240         * modules/strndup (EXTRA_DIST): Add strndup.h.
78241         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
78242         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
78243         * modules/time_r (EXTRA_DIST): Add time_r.h.
78244         * modules/timespec (EXTRA_DIST): Add timespec.h.
78245         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
78246         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
78247         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
78248         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
78249         * modules/userspec (EXTRA_DIST): Add userspec.h.
78250         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
78251         * modules/utimens (EXTRA_DIST): Add utimens.h.
78252         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
78253         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
78254         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
78255         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
78256         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
78257         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
78258         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
78259         * modules/yesno (EXTRA_DIST): Add yesno.h.
78260
78261 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
78262
78263         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
78264
78265         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
78266         * m4/dev-ino.m4, same-inode.m4: Remove.
78267
78268         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
78269         * m4/acl.m4 (AC_FUNC_ACL):
78270         * m4/backupfile.m4 (gl_BACKUPFILE):
78271         * m4/c-strtod.m4 (gl_C99_STRTOLD):
78272         * m4/canon-host.m4 (gl_CANON_HOST):
78273         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
78274         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
78275         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
78276         * m4/cloexec.m4 (gl_CLOEXEC):
78277         * m4/close-stream.m4 (gl_CLOSE_STREAM):
78278         * m4/closeout.m4 (gl_CLOSEOUT):
78279         * m4/dirfd.m4 (gl_FUNC_DIRFD):
78280         * m4/dirname.m4 (gl_DIRNAME):
78281         * m4/exclude.m4 (gl_EXCLUDE):
78282         * m4/exitfail.m4 (gl_EXITFAIL):
78283         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
78284         * m4/file-type.m4 (gl_FILE_TYPE):
78285         * m4/filemode.m4 (gl_FILEMODE):
78286         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
78287         * m4/fpending.m4 (gl_FUNC_FPENDING):
78288         * m4/fprintftime.m4 (gl_FPRINTFTIME):
78289         * m4/fts.m4 (gl_FUNC_FTS):
78290         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
78291         * m4/getdate.m4 (gl_GETDATE):
78292         * m4/gethrxtime.m4 (gl_GETHRXTIME):
78293         * m4/getpagesize.m4 (gl_GETPAGESIZE):
78294         * m4/getpass.m4 (gl_FUNC_GETPASS):
78295         * m4/gettime.m4 (gl_GETTIME):
78296         * m4/getugroups.m4 (gl_GETUGROUPS):
78297         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
78298         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
78299         * m4/hard-locale.m4 (gl_HARD_LOCALE):
78300         * m4/hash.m4 (gl_HASH):
78301         * m4/idcache.m4 (gl_IDCACHE):
78302         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
78303         * m4/lchown.m4 (gl_FUNC_LCHOWN):
78304         * m4/long-options.m4 (gl_LONG_OPTIONS):
78305         * m4/lstat.m4 (gl_FUNC_LSTAT):
78306         * m4/md5.m4 (gl_MD5):
78307         * m4/memcasecmp.m4 (gl_MEMCASECMP):
78308         * m4/memcoll.m4 (gl_MEMCOLL):
78309         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
78310         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
78311         * m4/memxor.m4 (gl_MEMXOR):
78312         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
78313         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
78314         * m4/modechange.m4 (gl_MODECHANGE):
78315         * m4/mountlist.m4 (gl_MOUNTLIST):
78316         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
78317         * m4/openat.m4 (gl_FUNC_OPENAT):
78318         * m4/pathmax.m4 (gl_PATHMAX):
78319         * m4/physmem.m4 (gl_PHYSMEM):
78320         * m4/posixtm.m4 (gl_POSIXTM):
78321         * m4/posixver.m4 (gl_POSIXVER):
78322         * m4/quote.m4 (gl_QUOTE):
78323         * m4/quotearg.m4 (gl_QUOTEARG):
78324         * m4/readtokens.m4 (gl_READTOKENS):
78325         * m4/readutmp.m4 (gl_READUTMP):
78326         * m4/regex.m4 (gl_REGEX):
78327         * m4/safe-read.m4 (gl_SAFE_READ):
78328         * m4/safe-write.m4 (gl_SAFE_WRITE):
78329         * m4/same.m4 (gl_SAME):
78330         * m4/save-cwd.m4 (gl_SAVE_CWD):
78331         * m4/savedir.m4 (gl_SAVEDIR):
78332         * m4/settime.m4 (gl_SETTIME):
78333         * m4/sha1.m4 (gl_SHA1):
78334         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
78335         * m4/stat-macros.m4 (gl_STAT_MACROS):
78336         * m4/stat-time.m4 (gl_STAT_TIME):
78337         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
78338         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
78339         * m4/strdup.m4 (gl_FUNC_STRDUP):
78340         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
78341         * m4/strndup.m4 (gl_FUNC_STRNDUP):
78342         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
78343         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
78344         * m4/time_r.m4 (gl_TIME_R):
78345         * m4/timespec.m4 (gl_TIMESPEC):
78346         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
78347         * m4/unlinkdir.m4 (gl_UNLINKDIR):
78348         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
78349         * m4/userspec.m4 (gl_USERSPEC):
78350         * m4/utimecmp.m4 (gl_UTIMECMP):
78351         * m4/utimens.m4 (gl_UTIMENS):
78352         * m4/xalloc.m4 (gl_XALLOC):
78353         * m4/xgetcwd.m4 (gl_XGETCWD):
78354         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
78355         * m4/xreadlink.m4 (gl_XREADLINK):
78356         * m4/xstrtod.m4 (gl_XSTRTOD):
78357         * m4/yesno.m4 (gl_YESNO):
78358         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
78359         to get the necessary .h files and whatnot.
78360
78361 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
78362             Bruno Haible  <bruno@clisp.org>
78363
78364         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
78365         /bin/sh understanding of '!' conditional negation.
78366
78367 2006-08-21  Jim Meyering  <jim@meyering.net>
78368
78369         * modules/openat (Depends-on): Really alphabetize.
78370
78371         * modules/acl (Depends-on): Add error and quote.
78372
78373         * check-module (find_included_lib_files): Add at-func.c to the
78374         ok-to-include-more-than-once white list.
78375
78376         * modules/openat (Depends-on): Add lstat.  Alphabetize.
78377
78378 2006-08-21  Bruno Haible  <bruno@clisp.org>
78379
78380         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
78381         Emit a pkgdata_DATA variable only if some snippets add contents to it.
78382         Reported by Martin Lambers <marlam@marlam.de>.
78383
78384 2006-08-21  Bruno Haible  <bruno@clisp.org>
78385
78386         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
78387         specify an installation location, don't emit a noinst_LIBRARIES or
78388         noinst_LTLIBRARIES assignment.
78389
78390 2006-08-21  Bruno Haible  <bruno@clisp.org>
78391
78392         BeOS portability.
78393         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
78394         BeOS has mbrtowc() but no <wctype.h>.
78395
78396 2006-08-21  Bruno Haible  <bruno@clisp.org>
78397
78398         BeOS portability.
78399         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
78400         exist.
78401
78402 2006-08-21  Bruno Haible  <bruno@clisp.org>
78403
78404         BeOS portability.
78405         * lib/mbchar.h: Include <wctype.h> only if it exists.
78406
78407 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
78408
78409         Remove files that are no longer needed by their respective modules.
78410         * m4/obstack.m4: Remove.
78411         * m4/strerror_r.m4: Remove.
78412         * m4/uint32_t.m4: Remove.
78413         * m4/uintptr_t.m4: Remove.
78414         * m4/ullong_max.m4: Remove.
78415         * m4/xstrtoimax.m4: Remove.
78416         * m4/xstrtoumax.m4: Remove.
78417
78418         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
78419         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
78420         dependencies now capture this.
78421
78422         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
78423         Do not use AC_LIBSOURCES, since gnulib modules now do this.
78424         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
78425         * m4/human.m4 (gl_HUMAN): Likewise.
78426         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
78427         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
78428
78429         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
78430
78431         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
78432         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
78433         stdint.
78434         * m4/human.m4 (gl_HUMAN): Likewise.
78435         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
78436         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
78437         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
78438         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
78439         * m4/xstrtol (gl_XSTRTOL): Likewise.
78440
78441         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
78442         AC_TYPE_LONG_LONG_INT.
78443         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
78444         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
78445         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
78446         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
78447
78448         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
78449         on stdbool.
78450
78451         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
78452         (gl_PREREQ_XSTRTOUL): Remove.
78453
78454         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
78455
78456         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
78457         mode.
78458
78459 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
78460
78461         Add and change modules to make it easier for coreutils to use
78462         gnulib-tool.
78463         * modules/backupfile (Files): Remove m4/d-ino.m4.
78464         (Depends-on): Add d-ino.
78465         * modules/cycle-check (Depends-on): Add stdint.
78466         (lib_SOURCES): Add cycle-check.h.
78467         * modules/d-ino: New module.
78468         * modules/d-type: New module.
78469         * modules/error (Files): Remove m4/strerror_r.m4.
78470         * modules/filemode (Files): Add m4/st_dm_mode.m4.
78471         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
78472         m4/inttypes_h.m4, m4/uintmax_t.m4.
78473         (Depends-on): Add stdint.
78474         (lib_SOURCES): Add fsusage.h.
78475         * modules/getcwd (Files): Remove d-ino.m4.
78476         (Depends-on): Add d-ino.
78477         * modules/getndelim2 (Depends-on): Add stdint.
78478         * modules/glob (Files): Remove m4/d-type.m4.
78479         (Depends-on): Add d-type.
78480         * modules/host-os: New module.
78481         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
78482         m4/inttypes_h.m4, m4/uintmax_t.m4.
78483         * Depends-on: Add stdint.
78484         (lib_SOURCES): Add human.h.
78485         * modules/inttostr (Files): Remove m4/intmax_t.m4,
78486         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
78487         m4/uintmax_t.m4, m4/ulonglong.m4.
78488         (Depends-on): Add stdint.
78489         (EXTRA_DIST): Add inttostr.h.
78490         * modules/lchmod: New module.
78491         * modules/link-follow: New module.
78492         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
78493         (Depends-on): Add lchmod.
78494         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
78495         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
78496         (Depends-on): Add stdint.
78497         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
78498         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
78499         (Depends-on): Add stdint.
78500         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
78501         * modules/perl: New module.
78502         * modules/regex (Depends-on): Add stdint.
78503         * modules/rmdir-errno: New module.
78504         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
78505         m4/intmax_t.m4.
78506         (Depends-on): Add stdint.
78507         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
78508         m4/uintmax_t.m4.
78509         (Depends-on): Add stdint.
78510         * modules/unlink-busy: New module.
78511         * modules/utimecmp (Depends-on): Add stdint.
78512         * modules/uptime: New module.
78513         * modules/winsz-ioctl: New module.
78514         * modules/winsz-termios: New module.
78515         * modules/xnanosleep (Depends-on): Add nanosleep.
78516         * modules/ullong_max: Remove.
78517         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
78518         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
78519         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
78520         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
78521         (Depends-on): Add inttypes.
78522         (lib_SOURCES): Add xstrtol.h.
78523         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
78524         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
78525         * MODULES.html.sh: Move 'assert' into the assert section.
78526         Move 'dummy' into the linking section.
78527         Remove ullong_max.
78528         Add section for compatibility checks for POSIX:2001 functions,
78529         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
78530         winsz-ioctl, and winsz-termios into it.
78531         Add lchmod.
78532         Add top-level Misc section and put host-os, perl, and uptime
78533         into it.
78534
78535 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
78536
78537         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
78538         now assume the stdint module.  Do not include inttypes.h.
78539         * lib/fsusage.h: Likewise.
78540         * lib/getndelim2.c: Likewise.
78541         * lib/human.h: Likewise.
78542         * lib/inttostr.h: Likewise.
78543         * lib/obstack.c: Likewise.
78544         * lib/regex_internal.h: Likewise.
78545         * lib/tempname.c: Likewise.
78546         * lib/utimecmp.c: Likewise.
78547         * lib/xstrtol.h: Likewise.
78548
78549         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
78550
78551         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
78552         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
78553         * lib/xtime.h: Likewise.
78554
78555 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
78556
78557         * modules/openat (Files): Add lib/fchmodat.c.
78558         Fixes problem reported by Jay Youngman.
78559
78560 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
78561
78562         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
78563         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
78564
78565 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
78566             Bruno Haible  <bruno@clisp.org>
78567
78568         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
78569         and is a script that invokes bison. Tighten the code. Add comments.
78570
78571 2006-08-18  Jim Meyering  <jim@meyering.net>
78572
78573         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
78574         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
78575         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
78576         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
78577
78578 2006-08-18  Bruno Haible  <bruno@clisp.org>
78579
78580         * modules/bison-i18n: New file.
78581         * MODULES.html.sh (Internationalization functions): Add it.
78582
78583 2006-08-18  Bruno Haible  <bruno@clisp.org>
78584
78585         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
78586         sys/statvfs.h. When getmntinfo was found, check its declaration and
78587         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
78588
78589 2006-08-18  Bruno Haible  <bruno@clisp.org>
78590
78591         * m4/bison-i18n.m4: New file, from bison.
78592
78593 2006-08-18  Bruno Haible  <bruno@clisp.org>
78594
78595         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
78596         (ME_DUMMY): Treat "kernfs" as a dummy.
78597         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
78598
78599 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
78600
78601         Update from coreutils.
78602
78603         2006-08-15  Jim Meyering  <jim@meyering.net>
78604
78605         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
78606
78607         2006-01-17  Jim Meyering  <jim@meyering.net>
78608
78609         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
78610
78611         2006-01-11  Jim Meyering  <jim@meyering.net>
78612
78613         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
78614         Check for the lchmod function.
78615
78616 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
78617
78618         Update from coreutils.
78619
78620         * lib/__fpending.h: Add copyright notice.
78621         * lib/fprintftime.h: Likewise.
78622         * lib/savedir.c: Use (C) in copyright notice.
78623         * lib/savedir.h: Likewise.
78624
78625         2006-08-15  Jim Meyering  <jim@meyering.net>
78626
78627         * lib/at-func.c: New file, with the logic of all emulated at-functions.
78628         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
78629         in support of the EXPECTED_ERRNO macro.
78630         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
78631         definitions.  Instead, define the appropriate symbols and include
78632         "at-func.c".
78633         * lib/mkdirat.c (mkdirat): Likewise.
78634         * lib/fchmodat.c (fchmodat): Likewise.
78635         (ENOSYS): Remove definition.
78636         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
78637         it.  Don't include "unistd--.h" -- it wasn't ever used.
78638
78639         2006-01-17  Jim Meyering  <jim@meyering.net>
78640
78641         Rewrite fts.c not to change the current working directory,
78642         by using openat, fstatat, fdopendir, etc..
78643
78644         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
78645         (HAVE_OPENAT_SUPPORT): Define.
78646         [_LIBC] (fchdir): Don't undef or define; no longer used.
78647         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
78648         Now, this `function' always succeeds, and consumes its file descriptor
78649         parameter -- so callers must not close such FDs.  Update callers.
78650         (diropen_fd, opendirat, cwd_advance_fd): New functions.
78651         (diropen): Add parameter, SP.  Adjust all callers.
78652         Implement using diropen_fd, rather than open.
78653         (fts_open): Initialize new member, fts_cwd_fd.
78654         Remove fts_rft-setting code.
78655         (fts_close): Close fts_cwd_fd, if necessary.
78656         (__opendir2): Define in terms of opendir or opendirat,
78657         depending on whether the FST_NOCHDIR flag is set.
78658         (fts_build): Since fts_safe_changedir consumes its FD, and since
78659         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
78660         and close the dup'd file descriptor upon failure.
78661         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
78662         (fts_safe_changedir): Tweak semantics to reflect that this function
78663         now calls cwd_advance_fd and hence consumes its FD argument.
78664         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
78665         [struct FTS] (fts_rft): Remove now-unused member.
78666         [struct FTS] (fts_cycle.state): Improve comment.
78667
78668         * lib/openat.c (openat_needs_fchdir): New function.
78669         * lib/openat.h (openat_needs_fchdir): Declare it.
78670
78671 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
78672
78673         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
78674         Problem and fix reported by Pádraig Brady in
78675         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
78676
78677 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
78678
78679         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
78680
78681 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
78682
78683         * lib/memcoll.c (memcoll): Optimize for the common case where the
78684         arguments are bytewise equal.
78685
78686 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
78687
78688         * doc/regexprops-generic.texi: Add a copyright notice.
78689
78690 2006-08-15  Bruno Haible  <bruno@clisp.org>
78691
78692         * modules/tmpdir (License): Change to LGPL.
78693
78694 2006-08-15  Bruno Haible  <bruno@clisp.org>
78695
78696         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
78697         module.
78698
78699 2006-08-14  Simon Josefsson  <jas@extundo.com>
78700
78701         * config/srclist.txt: Add gnupload.
78702
78703 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
78704
78705         Change copyright notice from LGPL 2 to GPL 2, since that's the
78706         standard form used in the gnulib repository.
78707         * tests/test-lock.c: Likewise.
78708         * tests/test-stdint.c: Likewise.
78709         * tests/test-tls.c: Likewise.
78710
78711         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
78712         prelude-manager.  User shorter URLs for GNU projects, without '?'.
78713         Add copyright notice.
78714
78715         * check-module: Add copyright notice.  Output a copyright
78716         notice if "--version" is specified.
78717         * modules/COPYING: New file.
78718         * tests/test-getaddrinfo.c: Add copyright notice.
78719         * tests/test-verify.c: Likewise.
78720
78721 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
78722
78723         Change copyright notice from LGPL 2 to GPL 2, since that's the
78724         standard form used in the gnulib repository.
78725         * lib/lock.c: LGPL -> GPL.
78726         * lib/lock.h: Likewise.
78727         * lib/strnlen1.c: Likewise.
78728         * lib/strnlen1.h: Likewise.
78729         * lib/tls.c: Likewise.
78730         * lib/tls.h: Likewise.
78731         * lib/tmpdir.c: Likewise.
78732
78733         * lib/TODO: Remove; this belongs only in coreutils.
78734
78735 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
78736
78737         Add copyright notices to long-enough files that lack them, since
78738         otherwise the files aren't clearly free.  Use the same notice that
78739         getdate.texi already uses.
78740         * doc/alloca-opt.texi: Add copyright notice.
78741         * doc/alloca.texi: Likewise.
78742         * doc/ctime.texi: Likewise.
78743         * doc/functions.texi: Likewise.
78744         * doc/gcd.texi: Likewise.
78745         * doc/gnulib-tool.texi: Likewise.
78746         * doc/inet_ntoa.texi: Likewise.
78747         * doc/visibility.texi: Likewise.
78748
78749         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
78750         * doc/quote.texi: Add copyright notice.
78751
78752         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
78753         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
78754         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
78755         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
78756         is now obsolete, and give a pointer to the Sun list.
78757         Add copyright notice.
78758
78759 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
78760
78761         * config/srclistvars.sh: Add copyright notice.
78762
78763 2006-08-14  Eric Blake  <ebb9@byu.net>
78764
78765         Import the following change from libc:
78766
78767         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
78768
78769         Upstream bug 2997.
78770         * lib/misc/error.c: Add space between program name and message if file
78771         name is missing.
78772
78773 2006-08-12  Karl Berry  <karl@gnu.org>
78774
78775         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
78776         remove, these originate in gnulib now.
78777
78778 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78779
78780         * doc/Makefile (standards.info standards.html standards.dvi):
78781         Also depend on make-stds.texi.
78782
78783 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
78784
78785         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
78786         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
78787
78788         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
78789         in wchar_t.  Problem reported by Eric Blake.
78790
78791         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
78792         LEN is smaller than SIZE.  Suggested by Bruno Haible.
78793         Also, help the compiler to keep LEN in a register.
78794
78795 2006-08-11  Eric Blake  <ebb9@byu.net>
78796
78797         * users.txt: Sort.  Add tar.
78798
78799 2006-08-11  Bruno Haible  <bruno@clisp.org>
78800
78801         * users.txt: New file.
78802
78803 2006-08-11  Bruno Haible  <bruno@clisp.org>
78804
78805         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
78806         before <wchar.h>. Needed for OSF/1 and BSD/OS.
78807
78808 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
78809
78810         * modules/snprintf (Depends-on): Remove minmax.
78811         (Maintainer): Add self and Bruno.
78812
78813 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
78814
78815         * lib/.cppi-disable: Add snprintf.h, socket_.h.
78816         * lib/snprintf.c: Include <errno.h> and <limits.h>.
78817         (EOVERFLOW): Define if the system does not.
78818         Do not include "minmax.h"; it wasn't used.
78819         (snprintf): Don't assume size_t promotes to an unsigned type.
78820         Fix bug when generated string was too long for the buffer: the
78821         buffer's contents are supposed to be the initial prefix of the
78822         output.  Don't assume vasnprintf returns EOVERFLOW if the size
78823         exceeds INT_MAX; do the check ourselves.
78824
78825         Import the following changes from libc:
78826
78827         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
78828
78829         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
78830         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
78831         set wc to the byte which couldn't be converted.
78832         (re_string_reconstruct): Don't clear valid_raw_len before calling
78833         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
78834         tip_context using re_string_context_at.
78835
78836         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
78837
78838         * lib/posix/regex.h: g++ still cannot handled [restrict].
78839
78840         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
78841
78842         * lib/posix/regex.h: Remove special handling for VMS.
78843
78844 2006-08-10  Jim Meyering  <jim@meyering.net>
78845
78846         * modules/same-inode: New module.
78847         * modules/dev-ino: New module.
78848         * modules/cycle-check: Depend on these modules, rather than simply
78849         including their .h files.
78850         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
78851         required via m4/cycle-check.m4.
78852         * modules/same: Depend on new same-inode module, rather than
78853         including same-inode.h.
78854         * modules/chdir-safer: New file.
78855
78856         * modules/chown (Depends-on): Add stat-macros.
78857
78858 2006-08-10  Jim Meyering  <jim@meyering.net>
78859
78860         * m4/cycle-check.m4: New file.
78861         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
78862         * m4/dev-ino.m4, m4/same-inode.m4: New files.
78863
78864 2006-08-10  Eric Blake  <ebb9@byu.net>
78865
78866         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
78867         in from original proposal.
78868
78869 2006-08-10  Eric Blake  <ebb9@byu.net>
78870         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
78871
78872         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
78873         namespace.
78874
78875 2006-08-10  Bruno Haible  <bruno@clisp.org>
78876
78877         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
78878         as well.
78879
78880 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
78881
78882         Sync from coreutils.
78883
78884         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
78885
78886         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
78887         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
78888
78889 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
78890
78891         * modules/restrict: Remove; no longer needed now that we assume
78892         Autoconf 2.59 or later.
78893         * MODULES.html.sh: Remove 'restrict'.
78894         * modules/argp (Depends-on): Remove 'restrict'.
78895         * modules/base64 (Depends-on): Likewise.
78896         * modules/gc (Depends-on): Likewise.
78897         * modules/getaddrinfo (Depends-on): Likewise.
78898         * modules/glob (Depends-on): Likewise.
78899         * modules/inet_ntop (Depends-on): Likewise.
78900         * modules/inet_pton (Depends-on): Likewise.
78901         * modules/memxor (Depends-on): Likewise.
78902         * modules/regex (Depends-on): Likewise.
78903         * modules/strtok_r (Depends-on): Likewise.
78904         * modules/time_r (Depends-on): Likewise.
78905
78906 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
78907
78908         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
78909         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
78910         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
78911         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
78912         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
78913         * m4/memxor.m4 (gl_MEMXOR): Likewise.
78914         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
78915         gl_C_RESTRICT replaced by AC_C_RESTRICT.
78916
78917         Merge from coreutils.
78918         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
78919         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
78920         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
78921         * m4/time_r.m4 (gl_TIME_R): Likewise.
78922
78923 2006-08-09  Karl Berry  <karl@gnu.org>
78924
78925         * config/srclist.txt: no more gettext-tools, per Bruno.
78926
78927 2006-08-08  Eric Blake  <ebb9@byu.net>
78928
78929         * modules/verror: New module.
78930         * MODULES.html.sh: Document it.
78931
78932 2006-08-08  Eric Blake  <ebb9@byu.net>
78933
78934         * lib/verror.h, lib/verror.c: New files.
78935
78936 2006-08-08  Eric Blake  <ebb9@byu.net>
78937
78938         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
78939         verror_at_line output complies with GNU Coding Standards even when
78940         file is NULL.
78941
78942 2006-08-07  Bruno Haible  <bruno@clisp.org>
78943
78944         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
78945         versions of AIX.
78946         Reported by Ralf Wildenhues.
78947
78948 2006-08-07  Bruno Haible  <bruno@clisp.org>
78949
78950         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
78951         in an AC_DEFUN. Needed so that the autoconf snippets can use
78952         AC_REQUIRE.
78953
78954 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78955
78956         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
78957         Initialize pkgdata_DATA.
78958         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
78959         overriding it.
78960
78961 2006-08-06  Eric Blake  <ebb9@byu.net>
78962
78963         * lib/error.h: Fold in some upstream changes from glibc.
78964         * lib/error.c: Likewise.
78965
78966 2006-08-04  Bruno Haible  <bruno@clisp.org>
78967
78968         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
78969         Make the mostlyclean-local rule depend on mostlyclean-generic.
78970         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
78971
78972 2006-07-31  Bruno Haible  <bruno@clisp.org>
78973
78974         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
78975         <stdlib.h>, <string.h>.
78976
78977 2006-07-30  Bruno Haible  <bruno@clisp.org>
78978
78979         * modules/readlink (License): Change to LGPL.
78980
78981 2006-07-30  Bruno Haible  <bruno@clisp.org>
78982
78983         * modules/javaversion (Makefile.am): Distribute javaversion.java and
78984         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
78985         set PKGDATADIR to point to it.
78986
78987 2006-07-30  Bruno Haible  <bruno@clisp.org>
78988
78989         * modules/csharpexec (configure.ac): Comment out macro invocation.
78990         * modules/javaexec (configure.ac): Likewise.
78991         * modules/javacomp-script (configure.ac): Likewise.
78992
78993         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
78994
78995 2006-07-30  Bruno Haible  <bruno@clisp.org>
78996
78997         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
78998         linked-list.
78999
79000 2006-07-30  Bruno Haible  <bruno@clisp.org>
79001
79002         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
79003
79004 2006-07-30  Bruno Haible  <bruno@clisp.org>
79005
79006         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
79007         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
79008         get removed.
79009
79010 2006-07-29  Bruno Haible  <bruno@clisp.org>
79011
79012         Make it possible for gnulib-tool to work with locally modified or
79013         augmented gnulib repositories.
79014         * gnulib-tool (func_usage): Document --local-dir option.
79015         (local_gnulib_dir): New variable.
79016         Handle --local-dir option.
79017         (func_lookup_file): New function.
79018         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
79019         (func_get_description, func_get_filelist, func_get_description,
79020         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
79021         func_get_automake_snippet, func_get_include_directive,
79022         func_get_license, func_get_maintainer): Use func_lookup_file.
79023         (func_import, func_create_testdir): Use func_lookup_file.
79024
79025 2006-07-29  Bruno Haible  <bruno@clisp.org>
79026
79027         * modules/setenv (Depends-on): Add unistd.
79028
79029 2006-07-29  Bruno Haible  <bruno@clisp.org>
79030
79031         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
79032
79033 2006-07-29  Bruno Haible  <bruno@clisp.org>
79034
79035         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
79036
79037 2006-07-29  Bruno Haible  <bruno@clisp.org>
79038
79039         * gnulib-tool (import, update): If there is no Makefile.am, look at
79040         aclocal.m4, instead of bailing out.
79041
79042 2006-07-29  Bruno Haible  <bruno@clisp.org>
79043
79044         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
79045         Categorize the options by when they are useful.
79046
79047 2006-07-29  Bruno Haible  <bruno@clisp.org>
79048
79049         * gnulib-tool (func_usage): Document option --no-libtool.
79050         Handle option --no-libtool.
79051         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
79052         for changed semantics of $libtool variable.
79053         (func_import): Likewise. If libtool is not used, show this through
79054         an option --no-libtool.
79055         (func_create_testdir): Update.
79056
79057 2006-07-29  Bruno Haible  <bruno@clisp.org>
79058
79059         * gnulib-tool (func_import): Extend error message about missing
79060         --doc-base.
79061
79062 2006-07-29  Bruno Haible  <bruno@clisp.org>
79063
79064         * gnulib-tool (func_import): Don't create the $docbase directory if
79065         there is no file to store there.
79066
79067 2006-07-29  Bruno Haible  <bruno@clisp.org>
79068
79069         * gnulib-tool (autoconf_minversion): If a --dir option is given and
79070         relevant, look for configure.ac there, not in the current directory.
79071         Also use a simple search for AC_PREREQ, not "autoconf --trace".
79072
79073 2006-07-29  Bruno Haible  <bruno@clisp.org>
79074
79075         * gnulib-tool (SORT): New variable.
79076         (func_usage): Undocument --assume-autoconf option.
79077         Remove --assume-autoconf option handling.
79078         (autoconf_minversion): Determine from the contents of configure.ac.
79079         (func_import): Remove autoconf_minversion handling.
79080         Suggested by Eric Blake.
79081
79082 2006-07-29  Bruno Haible  <bruno@clisp.org>
79083
79084         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
79085
79086 2006-07-29  Bruno Haible  <bruno@clisp.org>
79087
79088         * config/srclist.txt (*setenv.[ch]): Remove rules.
79089
79090 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
79091
79092         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
79093
79094 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
79095
79096         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
79097         arpa/inet.h.
79098
79099 2006-07-28  Simon Josefsson  <jas@extundo.com>
79100
79101         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
79102         * modules/inet_pton (Depends-on): Likewise.
79103
79104 2006-07-28  Simon Josefsson  <jas@extundo.com>
79105
79106         * m4/netinet_in_h.m4: New file.
79107
79108 2006-07-28  Simon Josefsson  <jas@extundo.com>
79109
79110         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
79111         #include's.
79112
79113 2006-07-28  Simon Josefsson  <jas@extundo.com>
79114
79115         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
79116         #include's.
79117
79118 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
79119
79120         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
79121         setgid on directories only if they set these bits.
79122         * lib/modechange.h: Remove obsolete comment about masks.
79123
79124 2006-07-28  Eric Blake  <ebb9@byu.net>
79125
79126         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
79127         macro expansion.
79128
79129 2006-07-28  Bruno Haible  <bruno@clisp.org>
79130
79131         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
79132
79133 2006-07-28  Bruno Haible  <bruno@clisp.org>
79134
79135         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
79136
79137 2006-07-28  Bruno Haible  <bruno@clisp.org>
79138
79139         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
79140         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
79141         Define fallbacks.
79142         Avoids link error on FreeBSD 4.x.
79143         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
79144
79145         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
79146         encoding.
79147         * lib/mbswidth.c (iswcntrl): Likewise.
79148
79149 2006-07-27  Bruno Haible  <bruno@clisp.org>
79150
79151         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
79152         test.
79153
79154 2006-07-27  Bruno Haible  <bruno@clisp.org>
79155
79156         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
79157         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
79158         defined.
79159
79160 2006-07-26  Eric Blake  <ebb9@byu.net>
79161
79162         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
79163
79164 2006-07-26  Eric Blake  <ebb9@byu.net>
79165
79166         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
79167         like mingw that lack mkstemp.
79168         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
79169         avoid compilation warning on mingw.
79170
79171 2006-07-26  Bruno Haible  <bruno@clisp.org>
79172
79173         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
79174         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
79175         INT_FAST*_MIN, INTPTR_MIN.
79176
79177 2006-07-25  Bruno Haible  <bruno@clisp.org>
79178
79179         * modules/version-etc (Depends-on): Add stdarg.
79180
79181 2006-07-25  Bruno Haible  <bruno@clisp.org>
79182
79183         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
79184         complex commands.
79185
79186 2006-07-25  Bruno Haible  <bruno@clisp.org>
79187
79188         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
79189         defined in <stdarg.h> or config.h.
79190
79191 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
79192
79193         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
79194         (gl_STDIO_SAFER): Remove.
79195
79196 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
79197
79198         * MODULES.html.sh (File stream based Input/Output):
79199         Add fopen-safer, tmpfile-safer; remove stdio-safer.
79200         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
79201         * modules/fopen-safer, modules/tmpfile-safer: New files.
79202         * modules/stdio-safer: Remove.
79203
79204 2006-07-24  Bruno Haible  <bruno@clisp.org>
79205
79206         * modules/tmpdir: New file.
79207         * MODULES.html.sh (File system functions): Add it.
79208
79209 2006-07-24  Bruno Haible  <bruno@clisp.org>
79210
79211         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
79212         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
79213
79214 2006-07-24  Bruno Haible  <bruno@clisp.org>
79215
79216         * modules/clean-temp: New file.
79217
79218 2006-07-24  Bruno Haible  <bruno@clisp.org>
79219
79220         * m4/tmpdir.m4: New file, from GNU gettext.
79221
79222 2006-07-24  Bruno Haible  <bruno@clisp.org>
79223
79224         * lib/tmpdir.h: New file, from GNU gettext.
79225         * lib/tmpdir.c: New file, from GNU gettext.
79226
79227 2006-07-24  Bruno Haible  <bruno@clisp.org>
79228
79229         * lib/clean-temp.h: New file, from GNU gettext.
79230         * lib/clean-temp.c: New file, from GNU gettext.
79231
79232 2006-07-23  Eric Blake  <ebb9@byu.net>
79233
79234         * modules/stdio-safer (Files): Add tmpfile-safer.c.
79235         (Depends-on): Add binary-io.
79236
79237 2006-07-23  Eric Blake  <ebb9@byu.net>
79238
79239         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
79240
79241 2006-07-23  Eric Blake  <ebb9@byu.net>
79242
79243         * lib/tmpfile-safer.c: New file.
79244         * lib/stdio-safer.h (fopen_safer): Add prototype.
79245         * lib/stdio--.h (tmpfile): Make safer.
79246
79247 2006-07-23  Bruno Haible  <bruno@clisp.org>
79248
79249         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
79250         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
79251         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
79252         gl_linked_remove_at): Use it.
79253
79254 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
79255         and Simon Josefsson <jas@extundo.com>
79256
79257         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
79258
79259         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
79260
79261 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
79262
79263         * modules/close-stream: New file.
79264         * modules/closeout (Description): Make it clear that it exits
79265         with a diagnostic on error.
79266         (Depends-on): Add close-stream.  Remove fpending, stdbool.
79267         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
79268
79269 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
79270
79271         * m4/close-stream.m4: New file.
79272
79273 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
79274
79275         * lib/close-stream.c, lib/close-stream.h: New files.
79276
79277 2006-07-22  Bruno Haible  <bruno@clisp.org>
79278
79279         Merge from GNU gettext 0.15.
79280
79281         2006-05-01  Bruno Haible  <bruno@clisp.org>
79282
79283                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
79284
79285         2006-07-22  Bruno Haible  <bruno@clisp.org>
79286
79287                 * modules/javaversion: New file.
79288                 * MODULES.html.sh (Java): Add javaversion.
79289
79290         2006-03-12  Bruno Haible  <bruno@clisp.org>
79291
79292                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
79293
79294         2005-12-04  Bruno Haible  <bruno@clisp.org>
79295
79296                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
79297                 (untested).
79298
79299         2006-06-21  Bruno Haible  <bruno@clisp.org>
79300
79301                 Avoid warnings from recent versions of mcs.
79302                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
79303                 -o, -L, -r any more. Use options documented since mcs-1.0
79304                 instead. Similarly for -g.
79305
79306         2005-12-04  Bruno Haible  <bruno@clisp.org>
79307
79308                 * build-aux/csharpcomp.sh.in: Suffix for resources is
79309                 .resources, not .resource.
79310
79311         2005-07-09  Bruno Haible  <bruno@clisp.org>
79312
79313                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
79314                 add a .dll suffix.
79315                 Reported by Mark Junker <mjscod@gmx.de>.
79316
79317         2006-07-22  Bruno Haible  <bruno@clisp.org>
79318
79319                 * modules/gettext: Upgrade to gettext-0.15.
79320                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
79321                 m4/visibility.m4.
79322                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
79323
79324 2006-07-22  Bruno Haible  <bruno@clisp.org>
79325
79326         Merge from GNU gettext 0.15.
79327
79328         2006-03-25  Bruno Haible  <bruno@clisp.org>
79329
79330                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
79331
79332         2006-07-21  Bruno Haible  <bruno@clisp.org>
79333
79334                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
79335                 "1.1".
79336
79337         2006-05-09  Bruno Haible  <bruno@clisp.org>
79338
79339                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
79340                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
79341                 for the conftestver execution.
79342
79343         2006-05-01  Bruno Haible  <bruno@clisp.org>
79344
79345                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
79346                 optional target-version argument. Verify that the compiler
79347                 groks source of the specified source-version, or add -source
79348                 option as necessary. Verify that the compiler produces
79349                 bytecode in the specified target-version, or add -target and
79350                 -source options as necessary. Make the result of the test
79351                 available as variable CONF_JAVAC. Also log error output in
79352                 config.log.
79353
79354         2006-03-11  Bruno Haible  <bruno@clisp.org>
79355
79356                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
79357
79358         2006-05-09  Bruno Haible  <bruno@clisp.org>
79359
79360                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
79361                 CLASSPATH_SEPARATOR to a semicolon.
79362
79363         2006-03-12  Bruno Haible  <bruno@clisp.org>
79364
79365                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
79366                 available as variable CONF_JAVA, for subsequent autoconf
79367                 tests. Also log error output in config.log.
79368
79369         2006-07-19  Bruno Haible  <bruno@clisp.org>
79370
79371                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
79372                 that getline works on glibc2 systems. Needed to avoid trouble
79373                 in relocatable.c.
79374                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
79375
79376         2005-12-04  Bruno Haible  <bruno@clisp.org>
79377
79378                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
79379                 launcher (untested).
79380
79381         2005-12-04  Bruno Haible  <bruno@clisp.org>
79382
79383                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
79384
79385         2006-07-22  Bruno Haible  <bruno@clisp.org>
79386
79387                 * gettext.m4: Update from GNU gettext-0.15.
79388                 * nls.m4: Likewise.
79389                 * po.m4: Likewise.
79390                 * inttypes-pri.m4: Likewise.
79391                 * inttypes-h.m4: Renamed from inttypes.m4.
79392                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
79393
79394 2006-07-22  Bruno Haible  <bruno@clisp.org>
79395
79396         Merge from GNU gettext 0.15.
79397
79398         2005-07-05  Bruno Haible  <bruno@clisp.org>
79399
79400                 * printf-args.c (printf_fetchargs): Work around broken
79401                 definition of wint_t on mingw.
79402
79403         2005-02-12  Bruno Haible  <bruno@clisp.org>
79404
79405                 * xallocsa.h: Add extern "C" for C++.
79406
79407         2006-05-17  Bruno Haible  <bruno@clisp.org>
79408
79409                 Cygwin portability.
79410                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
79411
79412         2006-04-30  Bruno Haible  <bruno@clisp.org>
79413
79414                 * progreloc.c: Include <mach-o/dyld.h> if available.
79415                 (find_executable): Use _NSGetExecutablePath when possible.
79416
79417         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
79418
79419                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
79420                 function.
79421
79422         2005-12-29  Bruno Haible  <bruno@clisp.org>
79423
79424                 * progreloc.c (set_program_name_and_installdir): Fix
79425                 compilation error.
79426
79427         2005-12-04  Bruno Haible  <bruno@clisp.org>
79428
79429                 Cygwin portability.
79430                 * progreloc.c: Include <windows.h> also on Cygwin.
79431                 (find_executable): Add support for Cygwin.
79432                 (set_program_name_and_installdir): Handle also platforms with
79433                 nonempty EXEEXT.
79434
79435         2006-07-11  Bruno Haible  <bruno@clisp.org>
79436
79437                 * javacomp.c: Fix a comment.
79438                 Reported by Jim Meyering.
79439
79440         2006-04-30  Bruno Haible  <bruno@clisp.org>
79441
79442                 * javacomp.h (compile_java_class): Add source_version,
79443                 target_version arguments.
79444                 * javacomp.c: Rewritten to choose only a compiler that
79445                 respects the specified source_version and target_version.
79446
79447         2006-06-27  Bruno Haible  <bruno@clisp.org>
79448
79449                 Assume correct S_ISDIR macro.
79450                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
79451
79452         2006-07-22  Bruno Haible  <bruno@clisp.org>
79453
79454                 * javaversion.h: New file, from GNU gettext.
79455                 * javaversion.c: New file, from GNU gettext.
79456                 * javaversion.java: New file, from GNU gettext.
79457                 * javaversion.class: New file, from GNU gettext.
79458
79459         2006-05-17  Bruno Haible  <bruno@clisp.org>
79460
79461                 Cygwin portability.
79462                 * javaexec.c (execute_java_class): Test for jview program
79463                 also on Cygwin.
79464
79465         2006-04-09  Bruno Haible  <bruno@clisp.org>
79466
79467                 * fatal-signal.c: Don't include string.h.
79468                 (at_fatal_signal): Use a copying loop instead of memcpy.
79469
79470         2005-12-04  Bruno Haible  <bruno@clisp.org>
79471
79472                 * csharpexec.c: Add support for 'clix' launcher (untested).
79473                 (execute_csharp_using_sscli): New function.
79474                 (execute_csharp_program): Call it.
79475
79476         2006-06-21  Bruno Haible  <bruno@clisp.org>
79477
79478                 Avoid warnings from recent versions of mcs.
79479                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
79480                 -o, -L, -r any more. Use options documented since mcs-1.0
79481                 instead. Similarly for -g.
79482
79483         2005-07-09  Bruno Haible  <bruno@clisp.org>
79484
79485                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
79486                 add a .dll suffix.
79487                 Reported by Mark Junker <mjscod@gmx.de>.
79488
79489         2006-06-17  Bruno Haible  <bruno@clisp.org>
79490
79491                 * config.charset: Update for NetBSD 3.0.
79492
79493         2006-05-17  Bruno Haible  <bruno@clisp.org>
79494
79495                 Cygwin portability.
79496                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
79497
79498         2006-05-16  Bruno Haible  <bruno@clisp.org>
79499
79500                 * localcharset.c [CYGWIN]: Include <windows.h>.
79501                 (get_charset_aliases): For Cygwin, return the same CPxxx
79502                 aliases list as under WIN32.
79503                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
79504                 the environment variables. Fall back to GetACP().
79505
79506         2006-04-05  Bruno Haible  <bruno@clisp.org>
79507
79508                 * config.charset: Update Juan Manuel Guerrero's address.
79509
79510         2005-02-12  Bruno Haible  <bruno@clisp.org>
79511
79512                 * allocsa.h: Add extern "C" for C++.
79513
79514         2005-02-10  Bruno Haible  <bruno@clisp.org>
79515
79516                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
79517                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
79518
79519         2006-07-22  Bruno Haible  <bruno@clisp.org>
79520
79521                 * gettext.h: Update to GNU gettext-0.15.
79522
79523 2006-07-22  Bruno Haible  <bruno@clisp.org>
79524
79525         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
79526         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
79527         lib-prefix.m4, longdouble.m4, ssize_t.m4.
79528
79529 2006-07-21  Eric Blake  <ebb9@byu.net>
79530
79531         * modules/stdlib-safer: New file.
79532         * MODULES.html.sh (File stream based Input/Output): Add
79533         stdlib-safer.
79534
79535 2006-07-21  Eric Blake  <ebb9@byu.net>
79536
79537         * lib/stdlib-safer.h: New file from coreutils, required by
79538         stdlib--.h.
79539
79540 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
79541
79542         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
79543
79544 2006-07-20  Bruno Haible  <bruno@clisp.org>
79545
79546         * gnulib-tool: Recognize new option --assume-autoconf.
79547         (autoconf_minversion): New variable.
79548         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
79549
79550 2006-07-20  Bruno Haible  <bruno@clisp.org>
79551
79552         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
79553
79554 2006-07-19  Derek R. Price  <derek@ximbiot.com>
79555
79556         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
79557         Reindent and repaginate.
79558
79559 2006-07-19  Derek Price  <derek@ximbiot.com>
79560
79561         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
79562         Correct grammar.
79563
79564 2006-07-17  Bruno Haible  <bruno@clisp.org>
79565
79566         * modules/list: New file.
79567         * modules/array-list: New file.
79568         * modules/carray-list, modules/carray-list-tests: New files.
79569         * modules/linked-list, modules/linked-list-tests: New files.
79570         * modules/avltree-list, modules/avltree-list-tests: New files.
79571         * modules/rbtree-list, modules/rbtree-list-tests: New files.
79572         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
79573         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
79574         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
79575         * modules/oset: New file.
79576         * modules/array-oset: New file.
79577         * modules/avltree-oset, modules/avltree-oset-tests: New files.
79578         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
79579         * tests/test-carray_list.c: New file.
79580         * tests/test-linked_list.c: New file.
79581         * tests/test-avltree_list.c: New file.
79582         * tests/test-rbtree_list.c: New file.
79583         * tests/test-linkedhash_list.c: New file.
79584         * tests/test-avltreehash_list.c: New file.
79585         * tests/test-rbtreehash_list.c: New file.
79586         * tests/test-avltree_oset.c: New file.
79587         * tests/test-rbtree_oset.c: New file.
79588         * MODULES.html.sh (Container data structures): New section.
79589
79590 2006-07-17  Bruno Haible  <bruno@clisp.org>
79591
79592         * m4/gl_list.m4: New file.
79593
79594 2006-07-17  Bruno Haible  <bruno@clisp.org>
79595
79596         * lib/gl_list.h: New file.
79597         * lib/gl_list.c: New file.
79598         * lib/gl_array_list.h: New file.
79599         * lib/gl_array_list.c: New file.
79600         * lib/gl_carray_list.h: New file.
79601         * lib/gl_carray_list.c: New file.
79602         * lib/gl_linked_list.h: New file.
79603         * lib/gl_linked_list.c: New file.
79604         * lib/gl_anylinked_list1.h: New file.
79605         * lib/gl_anylinked_list2.h: New file.
79606         * lib/gl_avltree_list.h: New file.
79607         * lib/gl_avltree_list.c: New file.
79608         * lib/gl_anyavltree_list1.h: New file.
79609         * lib/gl_anyavltree_list2.h: New file.
79610         * lib/gl_rbtree_list.h: New file.
79611         * lib/gl_rbtree_list.c: New file.
79612         * lib/gl_anyrbtree_list1.h: New file.
79613         * lib/gl_anyrbtree_list2.h: New file.
79614         * lib/gl_anytree_list1.h: New file.
79615         * lib/gl_anytree_list2.h: New file.
79616         * lib/gl_linkedhash_list.h: New file.
79617         * lib/gl_linkedhash_list.c: New file.
79618         * lib/gl_anyhash_list1.h: New file.
79619         * lib/gl_anyhash_list2.h: New file.
79620         * lib/gl_avltreehash_list.h: New file.
79621         * lib/gl_avltreehash_list.c: New file.
79622         * lib/gl_rbtreehash_list.h: New file.
79623         * lib/gl_rbtreehash_list.c: New file.
79624         * lib/gl_anytreehash_list1.h: New file.
79625         * lib/gl_anytreehash_list2.h: New file.
79626
79627         * lib/gl_oset.h: New file.
79628         * lib/gl_oset.c: New file.
79629         * lib/gl_array_oset.h: New file.
79630         * lib/gl_array_oset.c: New file.
79631         * lib/gl_avltree_oset.h: New file.
79632         * lib/gl_avltree_oset.c: New file.
79633         * lib/gl_rbtree_oset.h: New file.
79634         * lib/gl_rbtree_oset.c: New file.
79635         * lib/gl_anytree_oset.h: New file.
79636
79637 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
79638
79639         * m4/mkancesdirs.m4: New file.
79640         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
79641         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
79642         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
79643         it.
79644
79645 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
79646
79647         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
79648         * lib/mkancesdirs.h: New files.
79649         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
79650         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
79651         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
79652         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
79653         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
79654         callers changed.  Revamp internals significantly, by not
79655         attempting to create directories that are temporarily more
79656         permissive than the final results.  Do not attempt to use
79657         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
79658         This removes some race conditions, fixes some bugs, and simplifies
79659         things.  Use new dirchownmod function to do owner and mode changes.
79660         * lib/mkdir-p.h: Likewise.
79661         * lib/modechange.c (octal_to_mode): New function.
79662         (struct mode_change): New member mentioned.
79663         (make_node_op_equals): New arg mentioned.  All callers changed.
79664         (mode_compile): Keep track of which mode bits the user has explicitly
79665         mentioned.
79666         (mode_adjust): New arg DIR, so that we implement the X op correctly.
79667         New arg PMODE_BITS, to keep track of which mode bits the user
79668         mentioned; it treats S_ISUID and S_ISGID speciall.
79669         All callers changed.
79670         * lib/modechange.h: Likewise.
79671
79672 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
79673
79674         * MODULES.html.sh: Add mkancestors.
79675         * modules/mkancesdirs: New module.
79676         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
79677         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
79678         The chdir-safer and afs files are now orphans; I'll remove them
79679         unless someone speaks up.
79680         Add lib/dirchownmod.c, lib/dirchownmod.h.
79681         (Depends-on): Remove alloca, chown, save-cwd, dirname.
79682         Add lchown, mkancesdirs.
79683         (Maintainer): Add self.
79684
79685 2006-07-15  Karl Berry  <karl@gnu.org>
79686
79687         * gnulib-tool: help message wording/arrangement.
79688
79689 2006-07-14  Simon Josefsson  <jas@extundo.com>
79690
79691         * doc/gnulib.texi (Libtool and Windows): New section.
79692
79693 2006-07-12  Simon Josefsson  <jas@extundo.com>
79694
79695         * modules/gendocs (License): Fix license, approved by Karl.
79696
79697 2006-07-12  Eric Blake  <ebb9@byu.net>
79698
79699         * MODULES.html.sh: Add gendocs.
79700
79701 2006-07-11  Eric Blake  <ebb9@byu.net>
79702
79703         * modules/fdl: New module, to install doc/fdl.texi.
79704         * MODULES.html.sh: Add new section for documentation modules.
79705         * gnulib-tool: Avoid space-tab.
79706         (--doc-base): New option, to manage files from doc.
79707
79708 2006-07-11  Eric Blake  <ebb9@byu.net>
79709
79710         * m4/absolute-header.m4: Fix comments to match recent change.
79711
79712 2006-07-11  Eric Blake  <ebb9@byu.net>
79713
79714         * gnulib-tool: List --doc-base before --tests-base.
79715
79716 2006-07-11  Derek R. Price  <derek@ximbiot.com>
79717
79718         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
79719
79720 2006-07-11  Bruno Haible  <bruno@clisp.org>
79721
79722         * README: Mention where to put documentation.
79723
79724 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79725
79726         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
79727
79728 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
79729
79730         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
79731         to stdint.m4.
79732
79733 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
79734
79735         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
79736         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
79737         "no/such/file/stdint.h" when there is no such file, so that
79738         the resulting C code can be parsed by dodgy compilers.
79739         Problems reported by Bob Proulx.
79740
79741 2006-07-10  Derek R. Price  <derek@ximbiot.com>
79742
79743         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
79744         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
79745         macros into the GNU _D_EXACT_NAMLEN.
79746         * lib/savedir.c:  Likewise.
79747         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
79748
79749 2006-07-10  Derek R. Price  <derek@ximbiot.com>
79750         and Paul Eggert  <eggert@cs.ucla.edu>
79751
79752         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
79753         * m4/savedir.m4:
79754         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
79755         macros into the GNU _D_EXACT_NAMLEN.
79756
79757 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
79758
79759         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
79760         around the absolute name, to work around a problem with the HP-UX
79761         11.23 native C compiler, reported by Bob Proulx.
79762
79763 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
79764
79765         * doc/maintain.texi, make-stds.texi: Sync from
79766         <http://savannah.gnu.org/projects/gnustandards>.
79767
79768 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
79769
79770         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
79771
79772 2006-07-09  Jim Meyering  <jim@meyering.net>
79773
79774         * m4/glob.m4: Remove a doubled word in a comment.
79775
79776 2006-07-09  Jim Meyering  <jim@meyering.net>
79777
79778         * lib/argp-pv.c: Remove a doubled word in a comment.
79779         * lib/check-version.c (check_version): Likewise.
79780         * lib/javacomp.c (compile_java_class): Likewise.
79781
79782 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
79783
79784         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
79785         for the benefit of people using Autoconf 2.60.  If you want to
79786         support older Autoconf versions you can copy m4/onceonly_2_57.m4
79787         (or m4/onceonly.m4, if pre-2.57) manually.
79788
79789 2006-07-08  Jim Meyering  <jim@meyering.net>
79790
79791         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
79792         comment.
79793         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
79794         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
79795         comment.
79796
79797 2006-07-08  Jim Meyering  <jim@meyering.net>
79798
79799         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
79800
79801 2006-07-07  Simon Josefsson  <jas@extundo.com>
79802
79803         * tests/test-crc.c: Change expected crc value, the test vector
79804         were probably computed using the old broken crc.c?
79805
79806 2006-07-06  Simon Josefsson  <jas@extundo.com>
79807
79808         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
79809         now the canonical place for the M4 file).
79810
79811         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
79812         from the sys_socket dependency now.
79813
79814         * modules/inet_pton (Files): Ditto.
79815
79816         * modules/inet_ntop (Files): Ditto.
79817
79818 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
79819
79820         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
79821         not gl_PREREQ_GETUSERSHELL.
79822
79823 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79824
79825         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
79826         with only one argument, for Autoconf 2.60.
79827         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
79828         expand to nothing, so add a shell command to avoid syntax error.
79829         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
79830
79831 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79832
79833         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
79834
79835 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
79836
79837         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
79838         no longer needed.  Check for isblank decl.
79839         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
79840         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
79841         of existence.
79842
79843 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
79844
79845         * lib/getloadavg.c: Use __VMS, not VMS.
79846         * lib/getopt.c: Likewise.
79847         * lib/getpagesize.h: Likewise.
79848         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
79849         and probably does not work.
79850
79851 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
79852
79853         * lib/.cppi-disable: Add wcwidth.
79854         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
79855         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
79856         (ISGRAPH): Remove.  All uses changed to isgraph.
79857         (FOLD) [!defined _LIBC]: Remove special case.
79858         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
79859         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
79860         HAVE_ISBLANK.
79861         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
79862         case.
79863
79864 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
79865
79866         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
79867         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
79868         brackets.  Other minor changes to suppress some compiler
79869         warnings.
79870
79871 2006-07-06  Derek R. Price  <derek@ximbiot.com>
79872         and Paul Eggert  <eggert@cs.ucla.edu>
79873
79874         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
79875         of invoking obsolescent AC_HEADER_DIRENT macro.
79876         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
79877         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
79878         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
79879         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
79880         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
79881         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
79882         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
79883         * m4/readdir.m4: Remove; no longer needed.
79884
79885 2006-07-06  Derek R. Price  <derek@ximbiot.com>
79886         and Paul Eggert  <eggert@cs.ucla.edu>
79887
79888         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
79889         Don't worry about this obsolete case any more.
79890         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
79891         directories.
79892         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
79893         worry about this obsolete case any more.
79894         * lib/fts.c: Likewise.
79895         * lib/getcwd.c: Likewise.
79896         * lib/glob.h: Likewise.
79897         * lib/savedir.c: Likewise.
79898
79899 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
79900
79901         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
79902         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
79903         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
79904         needed.
79905         All uses removed.
79906         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
79907         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
79908         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
79909         needed.
79910         * m4/getdate.m4 (gl_GETDATE): Likewise.
79911         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
79912         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
79913         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
79914         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
79915         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
79916         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
79917         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
79918         needed.
79919
79920 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
79921
79922         * lib/memcasecmp.c: Include <limits.h>.
79923         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
79924         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
79925         Don't assume isdigit succeeds only on '0' through '9'.
79926
79927 2006-07-05  Eric Blake  <ebb9@byu.net>
79928
79929         * modules/getaddrinfo (Depends-on): Add snprintf.
79930
79931 2006-07-05  Eric Blake  <ebb9@byu.net>
79932
79933         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
79934         to avoid 'header present but could not be compiled' on cygwin.
79935
79936 2006-07-05  Eric Blake  <ebb9@byu.net>
79937
79938         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
79939         missing from netdb.h.
79940         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
79941
79942 2006-07-05  Derek R. Price  <derek@ximbiot.com>
79943
79944         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
79945         no longer needed.
79946         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
79947         * m4/getdate.m4 (gl_GETDATE): Likewise.
79948         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
79949         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
79950         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
79951         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
79952         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
79953
79954 2006-07-05  Derek R. Price  <derek@ximbiot.com>
79955
79956         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
79957         All uses of is_space replaced by isspace.
79958         * lib/exit.h: Don't talk about STDC_HEADERS.
79959         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
79960         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
79961         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
79962         replaced by isprint etc.
79963         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
79964         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
79965         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
79966         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
79967         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
79968         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
79969
79970 2006-07-05  Bruno Haible  <bruno@clisp.org>
79971
79972         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
79973         the function exists, before testing against AIX.
79974         Reported by Martin Lambers <marlam@marlam.de>.
79975
79976 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
79977
79978         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
79979         From Mark D. Baushke.
79980
79981 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
79982
79983         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
79984         to the absolute name, not just one, to bypass Sun C 5.8's
79985         "warning: #include of /usr/include/... may be non-portable".
79986
79987 2006-07-04  Eric Blake  <ebb9@byu.net>
79988
79989         * modules/dirname-tests: New test module.
79990         * tests/test-dirname.c: New file, replacing dirname.c
79991         TEST_DIRNAME section that was recently deleted.
79992
79993 2006-07-04  Bruno Haible  <bruno@clisp.org>
79994
79995         Assume ANSI C header files and <ctype.h> functions.
79996         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
79997         (mbsnwidth): Use isprint, iscntrl instead.
79998
79999 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80000
80001         Merge from coreutils.
80002         * MODULES.html.sh: Add xstrtold.
80003         * modules/xstrtold: New file.
80004         * modules/cycle-check (Files): Add lib/same-inode.h.
80005         * modules/dirname (Files): Add m4/double-slash-root.m4.
80006         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
80007         * modules/mkdir-p (Files): Add lib/same-inode.h.
80008         * modules/same (Files): Add lib/same-inode.h.
80009
80010 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80011
80012         * m4/absolute-header.m4: Renamed from full-header-path.m4.
80013         This is to keep the terminology clean; POSIX talks about
80014         "absolute pathnames", not "full pathnames", but the GNU
80015         Coding Standards say to use "path" for something else;
80016         so use "absolute" to keep both sides happy.
80017         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
80018         Set gl_absolute_header, not gl_full_header_path.
80019         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
80020         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
80021         All uses changed.
80022
80023         Merge from coreutils.
80024
80025         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
80026
80027         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
80028         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
80029         want to require the building of c-strtod.o.
80030         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
80031         needs -lm directly.
80032         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
80033
80034         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
80035
80036         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
80037         --as-needed option if available.  Problem reported by Albert Chin in
80038         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
80039         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
80040         cc merely issues a bunch of annoying warnings for --as-needed
80041         (this problem was reported by Bob Proulx).  Also, try linking with
80042         -lm to detect a bug in binutils 2.16 (this problem was reported
80043         by Ralf Wildenhues).
80044
80045         2006-06-18  Jim Meyering  <jim@meyering.net>
80046
80047         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
80048         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
80049         macro.
80050         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
80051         also check for glibc-2.4's abort-inducing bug.
80052
80053         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
80054         Low-probability clean-up should be to use rmdir to get rid of
80055         the just-created directory, not unlink.
80056
80057         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
80058         configure fail, and request a bug report to inform us about it.
80059         Add a comment that, barring reports to the contrary, in 2007 we'll
80060         assume ftruncate is universally available.
80061
80062         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
80063
80064         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
80065
80066         2006-03-12  Jim Meyering  <jim@meyering.net>
80067
80068         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
80069         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
80070         * m4/same.m4 (gl_SAME): Likewise.
80071         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
80072
80073         2006-03-11  Eric Blake  <ebb9@byu.net>
80074
80075         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
80076         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
80077         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
80078         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
80079
80080 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80081
80082         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
80083         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
80084         reported by Mark D. Baushke, one in
80085         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
80086
80087         Merge from coreutils.
80088
80089         * lib/.cppi-disable: Add stdint_.h.
80090         * lib/.cvsignore: Add stdint.h.
80091
80092         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
80093
80094         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
80095         both double and long double versions.
80096         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
80097         * lib/xstrtold.c: New file.
80098         * lib/xstrtod.h (xstrtold): New decl.
80099
80100         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
80101
80102         * lib/filemode.c (setst): Remove.
80103         (strmode): Rewrite to avoid setst.  This makes the code shorter,
80104         (arguably) clearer, and the generated code is a bit smaller on my
80105         Debian GNU/Linux stable x86 host.
80106
80107         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
80108
80109         * lib/filemode.c: Include "filemode.h" first, to test the interface.
80110         Assume that filemode.h includes sys/types.h and sys/stat.h.
80111         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
80112         (ftypelet): Reorder to put common cases first, for efficiency.
80113         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
80114         to do 'M'.
80115         (strmode): Renamed from mode_string, and now stores 12 bytes instead
80116         of 10, for compatibility with FreeBSD.  All callers changed.
80117         (filemodestring): Now stores 12 bytes instead of 10, and sets file
80118         types that can't be deduced solely from st_mode.  First arg is now a
80119         const pointer.
80120         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
80121         (strmode): Renamed from mode_string.
80122         (filemodestring): New decl.
80123         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
80124         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
80125         needed.
80126         (S_ISPORT, S_ISWHT): New macros, if not already defined.
80127
80128         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
80129
80130         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
80131         fsusage.h now does that.  Include fsusage.h first, to test interface.
80132         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
80133         at most one method (the old code could have generated decls that
80134         didn't conform to C89, not that this was ever exercised).
80135         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
80136
80137         2006-03-19  Jim Meyering  <jim@meyering.net>
80138
80139         Work even in a chroot where d_ino values for entries in "/"
80140         don't match the stat.st_ino values for the same names.
80141         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
80142         number, iterate through all entries again, using lstat instead.
80143         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
80144         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
80145
80146         * lib/getcwd.c (__getcwd): Clarify a comment.
80147         Use memcpy in place of a call to strcpy.
80148
80149         2006-03-12  Jim Meyering  <jim@meyering.net>
80150
80151         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
80152         matches that of the current directory (which we're about to chdir ".."
80153         out of), then save the dev-ino of the parent, instead.
80154
80155         * lib/same-inode.h (SAME_INODE): New file/macro.
80156         * lib/chdir-safer.c (SAME_INODE): Remove definition.
80157         Include "same-inode.h", instead.
80158         * lib/same.c: Likewise.
80159         * lib/cycle-check.h: Include "same-inode.h".
80160         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
80161         * lib/cycle-check.c (SAME_INODE): Remove definition.
80162         * lib/root-dev-ino.h: Include "same-inode.h".
80163
80164         2006-03-11  Eric Blake  <ebb9@byu.net>
80165
80166         * lib/same.c (same_name): s/base_name/last_component/
80167         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
80168         * lib/filenamecat.c (file_name_concat): Likewise.
80169
80170         2006-03-11  Eric Blake  <ebb9@byu.net>,
80171                     Paul Eggert  <eggert@cs.ucla.edu>
80172
80173         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
80174         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
80175         drive prefix.
80176         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
80177         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
80178         (last_component): New method.
80179         * lib/dirname.c (dir_len): Determine when drive letters need a
80180         subsequent slash.  Preserve // when it is special.
80181         (dir_name): Don't append dot when drive letter is absolute.
80182         [TEST_DIRNAME]: Move into a full-blown gnulib test.
80183         * lib/basename.c (base_name): New semantics - malloc the result.
80184         Preserve // when it is special.  Preserve relative files that look
80185         like drive letters.
80186         (base_len): Preserve // when it is special.
80187         (last_component): New method, similar to old base_name semantics.
80188         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
80189         base_name.  Strip redundant slashes from ///.
80190
80191 2006-07-03  Jim Meyering  <jim@meyering.net>
80192
80193         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
80194         macro is used before the first cycle_check call.
80195
80196 2006-07-03  Eric Blake  <ebb9@byu.net>
80197
80198         * modules/dirname (Depends-on): Add xstrndup.
80199
80200 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
80201
80202         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
80203         test cases, so that config.log is a bit easier to follow.
80204
80205 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
80206
80207         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
80208         both are 64 bits, since this seems to be the tradition, and this
80209         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
80210         we ever run into a host that prefers long long to long in this
80211         case, we'll need another configure-time test.  Problem reported by
80212         Jim Meyering.
80213
80214 2006-07-02  Eric Blake  <ebb9@byu.net>
80215
80216         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
80217
80218 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
80219
80220         * modules/inttypes (Depends-on): No longer depends on stdint.
80221         * modules/stdint (Description): Say more about assumptions.
80222         Say that the fast types might differ.  Say macros are used.
80223         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
80224         (Makefile.am): Revise list of substituted symbols to match
80225         new stdint.m4.
80226         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
80227         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
80228         * tests/test-stdint.c (verify_same_types)
80229         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
80230         the code conforms to C99/C89.
80231         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
80232         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
80233
80234 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
80235
80236         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
80237         but fix a bug, by requiring at least 64 bits.
80238         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
80239         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
80240         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
80241         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
80242
80243         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
80244         changes.  Make 2.59 a prerequisite.  Check and substitute for
80245         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
80246         inttypes.h.  Do not use special include files; just use the
80247         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
80248         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
80249         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
80250         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
80251         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
80252         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
80253         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
80254         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
80255         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
80256         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
80257         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
80258         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
80259         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
80260         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
80261         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
80262         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
80263         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
80264         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
80265         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
80266         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
80267         WINT_MAX.  Check for C99 conformance more strictly, by detecting
80268         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
80269         not check for things that C99 does not require, e.g., int8_t.  If
80270         a test isn't needed unless <stdint.h> isn't working, and is
80271         unlikely to be needed for any other reason, then don't do it
80272         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
80273         size_t, since we assume C89 freestanding at least.  Do not check
80274         for sig_atomic_t, wchar_t, or wint_t, since the code now does
80275         the right thing even if the types are not defined.  Instead use:
80276         (gl_STDINT_TYPE_PROPERTIES): New macro.
80277         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
80278         testing whether <sys/types.h> clashes, as Autoconf does this for
80279         us now.  All uses removed.
80280         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
80281         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
80282         (gl_CHECK_TYPE_SAME):
80283         Remove; no longer needed.
80284         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
80285         exists, since we'll return 0 anyway in that case.
80286         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
80287
80288 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
80289
80290         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
80291         possible collision with system files.
80292         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
80293         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
80294         WCHAR_MIN and WCHAR_MAX in this case.
80295         (<stddef.h>): Do not include; no longer needed.
80296         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
80297         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
80298         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
80299         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
80300         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
80301         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
80302         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
80303         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
80304         !defined(__c99))]: Include in this case too, since it's harmless
80305         now.
80306         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
80307         dangerous to do so.
80308         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
80309         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
80310         (_STDINT_MIN, _STDINT_MAX): New macros.
80311         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
80312         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
80313         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
80314         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
80315         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
80316         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
80317         macros, not typedefs; this simplifies things quite a bit.
80318         Use long int for all types narrower than int64_t.
80319         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
80320         Define in terms of long long int or int64_t or long int,
80321         not int64_t or int32_t.  This saves some compile-time testing.
80322         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
80323         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
80324         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
80325         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
80326         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
80327         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
80328         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
80329         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
80330         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
80331         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
80332         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
80333         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
80334         undef any previous version and define our own version, for
80335         simplicity and consistency with the new macros for types.
80336         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
80337         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
80338         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
80339         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
80340         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
80341         @WINT_T_SUFFIX@ to keep things simple here.
80342         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
80343         Simplify by assuming typical 8/16/32/64 host, since we're
80344         already doing that elsewhere anyway.
80345         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
80346         and assume long long int is 64 bits if available.  This
80347         speeds up 'configure'.
80348
80349 2006-07-01  Eric Blake  <ebb9@byu.net>
80350
80351         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
80352         Reported by Andreas Buening.
80353
80354 2006-07-01  Eric Blake  <ebb9@byu.net>
80355
80356         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
80357
80358 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
80359
80360         * lib/getaddrinfo.c: fixed typo
80361
80362 2006-06-29  Jim Meyering  <jim@meyering.net>
80363
80364         * modules/strftime (Maintainer): Add my name, since with the
80365         FPRINTFTIME changes strftime.c has forked from glibc.
80366
80367 2006-06-29  Eric Blake  <ebb9@byu.net>
80368
80369         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
80370
80371 2006-06-29  Eric Blake  <ebb9@byu.net>
80372
80373         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
80374
80375 2006-06-29  Eric Blake  <ebb9@byu.net>
80376
80377         * lib/stat_.h: New file.
80378
80379 2006-06-29  Eric Blake  <ebb9@byu.net>
80380
80381         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
80382         unused static function.
80383
80384 2006-06-29  Eric Blake  <ebb9@byu.net>
80385
80386         * doc/functions.texi (Function Portability): Document missing lstat
80387         on mingw.
80388
80389 2006-06-29  Eric Blake  <ebb9@byu.net>
80390
80391         * MODULES.html.sh: Add sys_stat.
80392         * modules/sys_stat: New module.
80393         * modules/mkstemp (Depends-on): Add sys_stat.
80394
80395 2006-06-29  Derek R. Price  <derek@ximbiot.com>
80396
80397         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
80398
80399 2006-06-29  Derek R. Price  <derek@ximbiot.com>
80400
80401         * m4/c-bs-a.m4: Removed.
80402
80403 2006-06-29  Derek R. Price  <derek@ximbiot.com>
80404
80405         * lib/strftime.c: Assume strftime() exists.
80406
80407 2006-06-29  Derek Price  <derek@ximbiot.com>
80408
80409         * modules/c-bs-a: Removed - \a is C89.
80410         * MODULES.html.sh: Remove c-bs-a.
80411
80412 2006-06-29  Bruno Haible  <bruno@clisp.org>
80413
80414         * modules/wcwidth (License): Change to LGPL.
80415
80416 2006-06-28  Simon Josefsson  <jas@extundo.com>
80417
80418         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
80419         on _WIN32.
80420
80421         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
80422         getnameinfo.
80423
80424 2006-06-28  Simon Josefsson  <jas@extundo.com>
80425
80426         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
80427
80428 2006-06-28  Simon Josefsson  <jas@extundo.com>
80429
80430         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
80431         functions there.  It will succeed on Windows XP, but on Windows
80432         2000 and (presumably) earlier, it will fail, and use the internal
80433         re-implementation.
80434         (use_win32_p): New function.
80435         (getaddrinfo): Use strtoul on servname, to support numeric ports.
80436         Support AI_NUMERICSERV to disable getservbyname.
80437         (getnameinfo): New function, only supports
80438         NI_NUMERICHOST|NI_NUMERICSERV for now.
80439
80440         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
80441         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
80442         getnameinfo.
80443
80444 2006-06-28  Eric Blake  <ebb9@byu.net>
80445
80446         * modules/wcwidth: New file.
80447         * modules/mbchar (Depends-on): Add wcwidth.
80448         * modules/mbswidth (Depends-on): Add wcwidth.
80449         * MODULES.html.sh: Add wcwidth.
80450
80451 2006-06-28  Eric Blake  <ebb9@byu.net>
80452
80453         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
80454         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
80455
80456 2006-06-28  Eric Blake  <ebb9@byu.net>
80457
80458         * lib/xvasprintf.h: Fix comments.
80459
80460 2006-06-28  Eric Blake  <ebb9@byu.net>
80461
80462         * lib/mbchar.h (wcwidth): Include wcwidth.h.
80463         * lib/mbswidth.c (wcwidth): Move from here...
80464         * lib/wcwidth.h: ...to this new file.
80465
80466 2006-06-28  Derek R. Price  <derek@ximbiot.com>
80467
80468         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
80469
80470         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
80471         it's obsolete.
80472         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
80473
80474 2006-06-28  Derek R. Price  <derek@ximbiot.com>
80475
80476         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
80477         Autoconf 2.60 says this stuff was obsolete.
80478
80479 2006-06-28  Bruno Haible  <bruno@clisp.org>
80480
80481         * modules/wcwidth (Files): Add m4/wchar_t.m4.
80482
80483 2006-06-28  Bruno Haible  <bruno@clisp.org>
80484
80485         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
80486         gt_TYPE_WCHAR_T.
80487
80488 2006-06-28  Bruno Haible  <bruno@clisp.org>
80489
80490         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
80491         declaration for wcwidth.
80492         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctype.h>.
80493
80494 2006-06-28  Bruno Haible  <bruno@clisp.org>
80495
80496         * lib/mkdtemp.c [MINGW]: Include <io.h>.
80497         (mkdir): Define using _mkdir.
80498
80499 2006-06-28  Bruno Haible  <bruno@clisp.org>
80500
80501         * lib/getaddrinfo.h: Fix POSIX URL.
80502         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
80503         _WIN32.
80504         (use_win32_p): Make static.
80505         (getaddrinfo): Reject service name if it is empty or does not consist
80506         solely of decimal digits, or if its value is > 65535.
80507         (getnameinfo): Remove useless casts.
80508
80509 2006-06-27  Simon Josefsson  <jas@extundo.com>
80510
80511         * modules/sys_select: New file, suggested by Bruno Haible, Paul
80512         Eggert and Martin Lambers.
80513
80514 2006-06-27  Simon Josefsson  <jas@extundo.com>
80515
80516         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
80517         Eggert and Martin Lambers.
80518
80519 2006-06-27  Bruno Haible  <bruno@clisp.org>
80520
80521         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
80522         result to 0, not to empty.
80523         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
80524
80525 2006-06-27  Bruno Haible  <bruno@clisp.org>
80526
80527         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
80528
80529 2006-06-26  Simon Josefsson  <jas@extundo.com>
80530
80531         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
80532         present.
80533
80534 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
80535
80536         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
80537         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
80538         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
80539
80540 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
80541
80542         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
80543
80544 2006-06-26  Bruno Haible  <bruno@clisp.org>
80545
80546         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
80547
80548 2006-06-26  Bruno Haible  <bruno@clisp.org>
80549
80550         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
80551
80552 2006-06-26  Bruno Haible  <bruno@clisp.org>
80553
80554         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
80555         SGI C compiler in pre-C99 mode.
80556         Suggested by Mark D. Baushke and Larry Jones.
80557
80558 2006-06-26  Bruno Haible  <bruno@clisp.org>
80559
80560         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
80561         WCHAR_MAX.
80562         Reported by Mark D. Baushke and Larry Jones.
80563
80564 2006-06-26  Bruno Haible  <bruno@clisp.org>
80565
80566         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
80567         in pre-C99 mode.
80568         Suggested by Mark D. Baushke and Larry Jones.
80569
80570 2006-06-23  Simon Josefsson  <jas@extundo.com>
80571             Bruno Haible  <bruno@clisp.org>
80572
80573         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
80574         Emit mostlyclean-local rule.
80575         (func_emit_tests_Makefile_am): Likewise.
80576         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
80577
80578 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
80579
80580         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
80581
80582 2006-06-23  Bruno Haible  <bruno@clisp.org>
80583
80584         * tests/test-stdint.c: Update to match ISO C 99 Technical
80585         Corrigendum 1.
80586
80587 2006-06-23  Bruno Haible  <bruno@clisp.org>
80588
80589         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
80590
80591 2006-06-23  Bruno Haible  <bruno@clisp.org>
80592
80593         * lib/stdint_.h: Treat IRIX like OpenBSD.
80594
80595 2006-06-23  Bruno Haible  <bruno@clisp.org>
80596
80597         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
80598         ISO C 99 Technical Corrigendum 1.
80599
80600 2006-06-22  Simon Josefsson  <jas@extundo.com>
80601
80602         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
80603         MinGW.
80604
80605 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
80606
80607         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
80608         needed.  Some compiler complained about some of them.  Problem reported
80609         by Larry Jones in
80610         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
80611
80612 2006-06-21  Simon Josefsson  <jas@extundo.com>
80613
80614         * tests/test-getaddrinfo.c: New file.
80615
80616         * modules/getaddrinfo-tests: New file.
80617
80618         * MODULES.html.sh: Add inet_pton.
80619
80620         * modules/inet_pton: New file.
80621
80622 2006-06-21  Simon Josefsson  <jas@extundo.com>
80623
80624         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
80625         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
80626         of using the (limited) gnulib implementation on Windows XP.
80627
80628         * m4/inet_pton.m4: New file.
80629
80630 2006-06-21  Simon Josefsson  <jas@extundo.com>
80631
80632         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
80633         variable.
80634
80635         * lib/socket_.h: Don't define WINVER.
80636
80637         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
80638         slightly modified to work in gnulib.
80639
80640 2006-06-21  Simon Josefsson  <jas@extundo.com>
80641
80642         * doc/gnulib.texi (Windows sockets): Add.
80643
80644 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
80645
80646         * lib/read-file.c (fread_file): Start with buffer allocation of
80647         0 bytes rather than 1 byte; this simplifies the code.
80648         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
80649         code to free buffer and save/restore errno.
80650         (internal_read_file): Remove unused local.
80651
80652 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
80653
80654         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
80655         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
80656         Problem reported by Denis Excoffier in
80657         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
80658
80659 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80660
80661         * modules/sys_socket, modules/socklen: Include sys/types since
80662         FreeBSD 4.x's sys/socket.h needs it.
80663
80664 2006-06-19  Simon Josefsson  <jas@extundo.com>
80665
80666         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
80667
80668 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
80669
80670         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
80671
80672 2006-06-19  Bruno Haible  <bruno@clisp.org>
80673
80674         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
80675         and FULL_PATH_INTTYPES_H in angle brackets.
80676         Reported by Mark D. Baushke <mdb@gnu.org>.
80677
80678 2006-06-17  Eric Blake  <ebb9@byu.net>
80679
80680         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
80681         errno.
80682
80683 2006-06-17  Bruno Haible  <bruno@clisp.org>
80684
80685         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
80686         <sys/inttypes.h>.
80687
80688 2006-06-17  Bruno Haible  <bruno@clisp.org>
80689
80690         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
80691         whether errno is declared. Assume <errno.h> declares errno.
80692
80693 2006-06-17  Bruno Haible  <bruno@clisp.org>
80694
80695         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
80696
80697 2006-06-17  Bruno Haible  <bruno@clisp.org>
80698
80699         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
80700         problem on Solaris 2.5.1.
80701
80702 2006-06-16  Eric Blake  <ebb9@byu.net>
80703
80704         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
80705         * lib/unicodeio.c [!defined errno]: Likewise.
80706         * lib/strtol.c [!defined errno]: Likewise.
80707         * lib/strtod.c [!defined errno]: Likewise.
80708
80709 2006-06-15  Eric Blake  <ebb9@byu.net>
80710
80711         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
80712
80713 2006-06-15  Eric Blake  <ebb9@byu.net>
80714
80715         * config/srclist.txt (ssize_t.m4): Lose sync.
80716
80717 2006-06-15  Bruno Haible  <bruno@clisp.org>
80718
80719         * modules/stdint (Files): Include m4/full-header-path.m4,
80720         m4/size_max.m4, m4/wchar_t.m4.
80721         (Makefile.am): Many more substitutions.
80722         * modules/stdint-tests: New file.
80723         * tests/test-stdint.c: New file.
80724
80725 2006-06-15  Bruno Haible  <bruno@clisp.org>
80726
80727         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
80728         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
80729         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
80730         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
80731         gl_CHECK_TYPE_SAME): New macros.
80732
80733 2006-06-15  Bruno Haible  <bruno@clisp.org>
80734
80735         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
80736
80737 2006-06-15  Bruno Haible  <bruno@clisp.org>
80738
80739         * lib/stdint_.h: Rewritten to be fully auto-configured.
80740         Fixes bug on HP-UX/IA64.
80741
80742 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
80743
80744         * lib/getdate.y (__attribute__): Don't define if already defined.
80745         Problem reported by Larry Jones.
80746         * lib/utimens.c (__attribute__): Likewise.
80747
80748 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
80749
80750         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
80751         reported by Andreas Schwab.
80752
80753 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80754             Bruno Haible  <bruno@clisp.org>
80755
80756         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
80757         check for the declaration of strnlen and a run test that exposes the
80758         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
80759         rpl_strndup.
80760
80761 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80762             Bruno Haible  <bruno@clisp.org>
80763
80764         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
80765
80766 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80767
80768         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
80769         compile test, for Tru64 4.0D.
80770
80771 2006-05-28  Karl Berry  <karl@gnu.org>
80772
80773         * config/srclist.txt (printf-args.c): lose sync.
80774
80775 2006-05-26  Martin Lambers  <marlam@marlam.de>
80776
80777         * lib/getpass.c: Updates the test for the native W32 API, and adds
80778         missing includes, thus fixing compilation warnings.
80779
80780 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
80781
80782         * lib/exclude.c (exclude_fnmatch): New function.
80783         (excluded_file_name): Call exclude_fnmatch.
80784         * lib/exclude.h (excluded_file_name): New prototype
80785
80786 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
80787
80788         * lib/tempname.c (small_open, large_open): New macros.
80789         (__open, __open64) [!_LIBC]: Remove.
80790         (__gen_tempname): Use small_open and large_open instead of __open
80791         and __open64.  This fixes a portability bug on HP-UX 11.11i
80792         reported by Simon Wing-Tang in
80793         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
80794
80795 2006-05-24  Bruno Haible  <bruno@clisp.org>
80796
80797         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
80798         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
80799         Reported by Thorsten Maerz <torte@netztorte.de> via
80800         Aaron Stone <aaron@serendipity.cx>.
80801
80802 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
80803
80804         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
80805         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
80806         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
80807         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
80808         not really conditional on the cache.
80809         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
80810
80811 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
80812
80813         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
80814         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
80815         (my_usleep): Don't mishandle maximum value.
80816
80817 2006-05-19  Jim Meyering  <jim@meyering.net>
80818
80819         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
80820
80821 2006-05-17  Bruno Haible  <bruno@clisp.org>
80822
80823         Cygwin portability.
80824         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
80825
80826 2006-05-17  Bruno Haible  <bruno@clisp.org>
80827
80828         * lib/stdint_.h: Fix recognition of Cygwin.
80829
80830 2006-05-15  Bruno Haible  <bruno@clisp.org>
80831
80832         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
80833         on libtool patch by Ralf Wildenhues.
80834
80835 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
80836
80837         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
80838         test for C99 conformance; (bool) 0.5 is an integer constant
80839         expression, but (bool) -0.5 is not.  Problem reported by Fedor
80840         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
80841
80842 2006-05-11  Simon Josefsson  <jas@extundo.com>
80843
80844         * m4/xvasprintf.m4: Fix obvious typo.
80845
80846 2006-05-11  Jim Meyering  <jim@meyering.net>
80847
80848         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
80849         James Lemley.
80850
80851 2006-05-10  Simon Josefsson  <jas@extundo.com>
80852
80853         * lib/md4.c: Typo fix, update copyright years.
80854         (K1, K2): Don't use L because it turn computations into 64-bit on
80855         64-bit platforms.
80856
80857 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
80858
80859         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
80860         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
80861         unwanted sign propagation, e.g., on hosts with 64-bit int.
80862         There still are some problems with reeelly weird theoretical hosts
80863         (e.g., 33-bit int) but it's not worth worrying about now.
80864         * lib/sha1.c (rol): Likewise.
80865         (K1, K2, K3, K4): Remove unnecessary L suffix.
80866
80867 2006-05-10  Bruno Haible  <bruno@clisp.org>
80868
80869         * lib/des.c: Cast to avoid warnings.
80870
80871 2006-05-09  Bruno Haible  <bruno@clisp.org>
80872
80873         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
80874         (Depends-on): Depend also on xsize, stdarg.
80875         (configure.ac): Add gl_XVASPRINTF.
80876
80877 2006-05-09  Bruno Haible  <bruno@clisp.org>
80878
80879         * m4/xvasprintf.m4: New file.
80880
80881 2006-05-09  Bruno Haible  <bruno@clisp.org>
80882
80883         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
80884         (EOVERFLOW): Define fallback value.
80885         (xstrcat): New function.
80886         (xvasprintf): Recognize the special case of a string concatenation.
80887
80888 2006-05-08  Eric Blake  <ebb9@byu.net>
80889
80890         * gnulib-tool (func_version): Base copyright year on CVS date.
80891         (func_emit_copyright_notice): New function.
80892         (func_emit_lib_Makefile_am): Use it.
80893         (func_emit_tests_Makefile_am): Likewise.
80894         (func_import): Likewise.
80895
80896 2006-05-08  Bruno Haible  <bruno@clisp.org>
80897
80898         * modules/stdarg: New file.
80899         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
80900
80901 2006-05-08  Bruno Haible  <bruno@clisp.org>
80902
80903         * m4/stdarg.m4: New file, from GNU gettext.
80904
80905 2006-05-08  Bruno Haible  <bruno@clisp.org>
80906
80907         * config/srclist.txt (build-aux/config.rpath): different from latest
80908         release.
80909
80910 2006-05-08  Bruno Haible  <bruno@clisp.org>
80911
80912         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
80913
80914 2006-05-05  Jim Meyering  <jim@meyering.net>
80915
80916         * m4/warning.m4: New file, derived from bison's file by the same name.
80917
80918 2006-05-03  Bruno Haible  <bruno@clisp.org>
80919
80920         * lib/stdint_.h: Shorter URL.
80921         * lib/inttypes.h: Likewise.
80922
80923 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
80924
80925         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
80926
80927 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
80928
80929         * lib/verify.h: Document the internals better.  Most of this change
80930         was written by Bruno Haible.
80931
80932 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
80933
80934         * doc/verify.texi: New file, partly based on a proposal by
80935         Bruno Haible.
80936
80937 2006-05-02  Bruno Haible  <bruno@clisp.org>
80938
80939         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
80940         test from here...
80941         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
80942
80943 2006-04-29  Bruno Haible  <bruno@clisp.org>
80944
80945         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
80946         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
80947
80948 2006-04-29  Bruno Haible  <bruno@clisp.org>
80949
80950         * gnulib-tool: Make --update option actually work.
80951
80952 2006-04-29  Bruno Haible  <bruno@clisp.org>
80953
80954         * doc/gcd.texi: New file.
80955         * doc/gnulib.texi: Include it.
80956
80957 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
80958
80959         * lib/getdate.y (get_date): When adding relative date, start with the
80960         initial time, not with the result of the first mktime call.
80961
80962 2006-04-25  Bruno Haible  <bruno@clisp.org>
80963
80964         * gnulib-tool (func_import): Output the include directives in three
80965         blocks, sorted separately.
80966         Reported by Ben Pfaff <blp@cs.stanford.edu>.
80967
80968 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
80969
80970         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
80971         to define main with arguments, for C++.  Reported by Eric Blake.
80972         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
80973         Prefer 'int main ()' to 'int main (void)', for C++.
80974         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
80975         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
80976         for 'main', for C99 and C++.
80977
80978 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
80979
80980         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
80981         Don't assume that exit status -1 is valid.
80982         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
80983         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
80984         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
80985         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
80986         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
80987         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
80988         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
80989         functions can be used without declaring them, or that you can
80990         exit with status -1.
80991         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
80992
80993 2006-04-24  Karl Berry  <karl@gnu.org>
80994
80995         * config/srclist.txt (longdouble.m4): sync lost.
80996
80997 2006-04-24  Eric Blake  <ebb9@byu.net>
80998
80999         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
81000
81001 2006-04-24  Bruno Haible  <bruno@clisp.org>
81002
81003         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
81004         poll() implementation in AIX.
81005         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
81006
81007 2006-04-24  Bruno Haible  <bruno@clisp.org>
81008
81009         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
81010         assigned exactly once.
81011
81012 2006-04-23  Claudio Fontana  <claudio@gnu.org>
81013             Bruno Haible  <bruno@clisp.org>
81014
81015         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
81016         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
81017         for AM_CPPFLAGS.
81018
81019 2006-04-23  Bruno Haible  <bruno@clisp.org>
81020
81021         * modules/copy-file: Depend on unistd.
81022         * modules/execute: Likewise.
81023         * modules/fatal-signal: Likewise.
81024         * modules/findprog: Likewise.
81025         * modules/mkdtemp : Likewise.
81026         * modules/pipe: Likewise.
81027         * modules/wait-process: Likewise.
81028
81029 2006-04-23  Bruno Haible  <bruno@clisp.org>
81030
81031         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
81032         condition was already detected.
81033         Reported by Ben Pfaff <blp@cs.stanford.edu>.
81034
81035 2006-04-23  Bruno Haible  <bruno@clisp.org>
81036
81037         * lib/copy-file.c: Include <unistd.h> unconditionally.
81038         * lib/execute.c: Likewise.
81039         * lib/fatal-signal.c: Likewise.
81040         * lib/findprog.c: Likewise.
81041         * lib/mkdtemp.c: Likewise.
81042         * lib/pipe.h: Likewise.
81043         * lib/pipe.c: Likewise.
81044         * lib/wait-process.h: Likewise.
81045
81046 2006-04-23  Bruno Haible  <bruno@clisp.org>
81047
81048         * gnulib-tool (func_usage): Fix --import description. Document
81049         --update.
81050         (func_import): Create temporary file in a temporary directory, if
81051         --dry-run is specified. Silence errors from 'grep' when there are no
81052         m4 files in $m4dir.
81053         (func_create_testdir): Silence errors from 'grep' when there are no
81054         m4 files in $m4dir.
81055         Reported by Karl Berry <karl@freefriends.org>.
81056
81057 2006-04-20  Bruno Haible  <bruno@clisp.org>
81058
81059         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
81060         one argument, so that the code will be portable to Autoconf 2.60.
81061         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
81062         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
81063         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
81064
81065 2006-04-19  Derek Price  <derek@ximbiot.com>
81066             Eric Blake  <ebb9@byu.net>
81067
81068         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
81069         rather than "/full/path.h".  Update comment to match.  Shorten &
81070         generalize m4_translit call via AS_TR_CPP.
81071
81072 2006-04-19  Derek Price  <derek@ximbiot.com>
81073             Eric Blake  <ebb9@byu.net>
81074
81075         * lib/inttypes.h: Correct grammar in comment.
81076
81077 2006-04-18  Derek Price  <derek@ximbiot.com>
81078             Paul Eggert  <eggert@cs.ucla.edu>
81079
81080         * modules/inttypes: New file.
81081         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
81082
81083 2006-04-18  Derek Price  <derek@ximbiot.com>
81084             Paul Eggert  <eggert@cs.ucla.edu>
81085
81086         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
81087         New files.
81088
81089 2006-04-18  Derek Price  <derek@ximbiot.com>
81090             Paul Eggert  <eggert@cs.ucla.edu>
81091
81092         * lib/inttypes.h: New file.
81093         * lib/strtoimax.c: Assume <inttypes.h>.
81094
81095 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
81096
81097         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
81098         isn't mounted.  Problem reported by Kir Kolyshkin.
81099
81100 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
81101
81102         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
81103         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
81104         Derek R. Price.
81105         * lib/regex.h (RE_DUP_MAX): Update comment to match current
81106         implementation.
81107
81108 2006-04-12  Eric Blake  <ebb9@byu.net>
81109
81110         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
81111         is now done automatically by the corresponding Autoconf macro.
81112
81113 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
81114
81115         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
81116         time_r.h.
81117
81118 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
81119
81120         Merge regex changes from libc, removing some of our
81121         POSIX-conformance changes that were rejected and redoing them in a
81122         less-intrusive way.
81123
81124         * lib/regcomp.c (re_compile_internal, init_dfa):
81125         Length arg is now size_t, not Idx.  All uses changed.
81126         (peek_token): Forward decl now says internal_function.
81127         (__re_error_msgid, __re_error_msgid_idx):
81128         Now static rather than extern with attribute_hidden.
81129         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
81130         For some reason libc prefers K&R style defns for external functions.
81131         (regerror) [!defined _LIBC]: Likewise.
81132         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
81133         (seek_collating_symbol_entry, lookup_collation_sequence_value):
81134         (build_range_exp, build_collating_symbol):
81135         Use K&R-style defn.
81136         (re_compile_fastmap): Use '\0' to memset, not 0.
81137         (utf8_sb_map): Make the calculations more obvious.
81138         (init_dfa, parse_bracket_exp, build_charclass_op):
81139         Call calloc and cast result, as glibc does.
81140         (init_word_char, fetch_token, peek_token, peek_token_bracket):
81141         (build_range_exp, build_collating_symbol):
81142         Now internal functions.
81143
81144         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
81145
81146         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
81147         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
81148         Don't depend on VMS; depend on __VMS instead, for POSIX
81149         namespace cleanness.
81150         (regoff_t): Define to ssize_t, not long int.
81151
81152         Remove the REG_ macros named below.  Instead, make the old names
81153         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
81154         __USE_GNU_REGEX.
81155         (REG_BACKSLASH_ESCAPE_IN_LISTS):
81156         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
81157         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
81158         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
81159         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
81160         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
81161         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
81162         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
81163         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
81164         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
81165         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
81166         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
81167         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
81168         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
81169         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
81170         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
81171         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
81172         (REG_NREGS):
81173         Remove.  All uses replaced by the old RE_* names.
81174         (RE_BACKSLASH_ESCAPE_IN_LISTS):
81175         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
81176         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
81177         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
81178         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
81179         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
81180         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
81181         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
81182         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
81183         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
81184         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
81185         Don't bother having these macros be independent of each others'
81186         values, since they no longer exist in the POSIX name space.
81187
81188         Rename the following member names back to their old names,
81189         unless !__USE_GNU_REGEX.  All uses changed back.
81190         (buffer): Renamed from re_buffer.
81191         (allocated): Renamed from re_allocated.
81192         (used): Renamed from re_used.
81193         (syntax): Renamed from re_syntax.
81194         (fastmap): Renamed from re_fastmap.
81195         (translate): Renamed from re_translate.
81196         (can_be_null): Renamed from re_can_be_null.
81197         (regs_allocated): Renamed from re_regs_allocated.
81198         (fastmap_accurate): Renamed from re_fastmap_accurate.
81199         (no_sub): Renamed from re_no_sub.
81200         (not_bol): Renamed from re_not_bol.
81201         (not_eol): Renamed from re_not_eol.
81202         (newline_anchor): Renamed from re_newline_anchor.
81203         (num_regs): Renamed from rm_num_regs.
81204         (start): Renamed from rm_start.
81205         (end): Renamed from rm_end.
81206
81207         (free_state): Move up a bit.
81208
81209         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
81210         #define to be empty.
81211         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
81212         when that is what is intended.
81213         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
81214         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
81215         (MAX): New macro.
81216         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
81217         All uses changed back to re_malloc, etc.  It's now the caller's
81218         responsibility to check for overflow; all callers changed.
81219         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
81220         (re_x2nrealloc): Remove.
81221         (free_state): Remove decl.
81222
81223         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
81224         (re_set_registers, re_exec):
81225         Use K&R-style defn.
81226
81227         2006-01-31  Roland McGrath  <roland@redhat.com>
81228
81229         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
81230         Reported by Mike Frysinger <vapier@gentoo.org>.
81231
81232         2006-01-15  Andreas Jaeger  <aj@suse.de>
81233
81234         [BZ #1950]
81235         * lib/regex_internal.c (re_string_reconstruct): Adjust for
81236         build_wcs_upper_buffer change.
81237         (build_wcs_upper_buffer): Change return type.
81238
81239         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
81240
81241         * lib/regex_internal.h: Include <stdint.h> if available.
81242
81243         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
81244
81245         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
81246
81247         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
81248
81249         * lib/regcomp.c: Adjust for changed secondary hash function.
81250
81251         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
81252
81253         * lib/regex.h: Pretty printing.
81254         Clean up namespace a bit.
81255
81256         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
81257
81258         * lib/regexec.c (update_cur_sifted_state, check_arrival,
81259         check_arrival_add_next_nodes): Avoid using uninitialized variable.
81260
81261         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
81262                     Ulrich Drepper  <drepper@redhat.com>
81263
81264         [BZ #1302]
81265         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
81266         changed.
81267         (bitset_word_t): Renamed from bitset_word.  All uses changed.
81268
81269         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
81270
81271         [BZ #281]
81272         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
81273         * lib/regcomp.c: Remove unnecessary uses of
81274         unsigned RE_TRANSLATE_TYPE.
81275         * lib/regex_internal.h: Likewise.
81276         * lib/regex_internal.c: Likewise.
81277         * lib/regexec.c: Likewise.
81278         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
81279
81280         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
81281
81282         * lib/regexec.c (find_recover_state): Remove unnecessary
81283         initialization.
81284         (transit_state_bkref): Make DFA a const pointer.
81285         (get_subexp): Likewise.
81286         (check_arrival): Likewise.
81287         (update_cur_sifted_state): Likewise.
81288         (re_search_internal): Likewise.
81289         (prune_impossible_nodes): Likewise.
81290         (acquire_init_state_context): Likewise.
81291         (proceed_next_node): Likewise.
81292         (set_regs): Likewise.
81293         (free_fail_stack_return): Likewise.
81294         (check_arrival_expand_ecl): Mark DFA parameter as const.
81295         (check_arrival_expand_ecl_sub): Likewise.
81296         (check_subexp_limits): Likewise.
81297         (sub_epsilon_src_nodes):  Likewise.
81298         (add_epsilon_src_nodes):  Likewise.
81299         (merge_state_array): Likewise.
81300         (update_regs): Likewise.
81301         (build_trtable): Likewise.
81302         (sift_states_backward): Mark MCTX parameter as const.
81303         (build_sifted_states): Likewise.
81304         (update_cur_sifted_state): Likewise.
81305         (sift_states_mkref): Likewise.
81306         (check_arrival_expand_ecl): Mark eclosure as const.
81307         (check_dst_limits_calc_pos_1): Likewise.
81308         * lib/regex_internal.h (re_match_context_t): Make dfa a const
81309         pointer.
81310
81311         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
81312
81313         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
81314         (transit_state_sb): Likewise.
81315         (transit_state_mb): Likewise.
81316         (sift_states_iter_mb): Likewise.
81317         (check_arrival_add_next_nodes): Likewise.
81318         (check_node_accept_bytes): Change first parameter to pointer-to-const.
81319         [_LIBC] (re_search_2_stub): Use mempcpy.
81320
81321         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
81322         mbrtowc for very simple UTF-8 case.
81323
81324         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
81325         a pointer-to-const.
81326         (re_acquire_state_context): Likewise.
81327         * lib/regex_internal.h: Adjust prototypes.
81328
81329         * lib/regex.c: Prevent using C++ compilers.
81330
81331         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
81332         (re_acquire_state_context): Likewise.
81333
81334 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
81335
81336         * modules/regex (Depends-on): Add ssize_t.
81337
81338 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
81339
81340         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
81341         translation table.
81342
81343 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
81344
81345         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
81346
81347 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
81348             Bruno Haible  <bruno@clisp.org>
81349
81350         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
81351         <sys/types.h> and <inttypes.h>.
81352
81353 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81354
81355         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
81356         `__error_t_defined', so argp.h will not typedef the former.
81357
81358 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
81359
81360         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
81361         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
81362         glibc names.  Even if glibc is changed to conform to POSIX, the
81363         traditional names will be available anyway, since regex depends on
81364         the extensions module.  Also, fix a longstanding typo in the
81365         implementation of Spencer ERE test #75 from grep 2.3.  Problems
81366         reported by Emanuele Giaquinta.  Also, change sense of cached
81367         variable, so that the message makes sense.
81368
81369 2006-03-24  Simon Josefsson  <jas@extundo.com>
81370
81371         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
81372         including some doc fixes.
81373         (base64_encode_alloc): Fix +1 bug on allocation failures.
81374
81375 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81376
81377         * lib/base64.c (base64_encode): Do not read past end of array with
81378         unsanitized input on systems with CHAR_BIT > 8.
81379
81380 2006-03-24  Eric Blake  <ebb9@byu.net>
81381
81382         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
81383
81384 2006-03-22  Karl Berry  <karl@gnu.org>
81385
81386         * config/srclist.txt (*setenv.[ch]): get from coreutils.
81387         * config/srclistvars.sh (COREUTILS): new var.
81388
81389 2006-03-17  Jim Meyering  <jim@meyering.net>
81390
81391         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
81392         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
81393
81394 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
81395
81396         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
81397         no longer needs it.  Instead, check that regoff_t is as least
81398         as wide as ptrdiff_t.
81399
81400         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
81401         so that our regex.h stays compatible with the installed regex.
81402         This is helpful for installers who configure --without-included-regex.
81403         Problem reported by Emanuele Giaquinta.
81404
81405 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
81406
81407         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
81408         Typedef to long int, not to off_, as POSIX will likely change
81409         in that direction.
81410
81411 2006-03-15  Eric Blake  <ebb9@byu.net>
81412
81413         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
81414
81415 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
81416
81417         * lib/argp-help.c (validate_uparams): Fix typo
81418         * lib/argp-parse.c (argp_default_options): Consistently begin help
81419         messages with a lowercase letter.
81420
81421 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
81422
81423         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
81424         overrun buffers and shouldn't be used (much as gets shouldn't be
81425         used).
81426         * lib/time_r.c (asctime_r, ctime_r): Likewise.
81427
81428 2006-03-08  Simon Josefsson  <jas@extundo.com>
81429
81430         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
81431         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
81432
81433 2006-03-08  Simon Josefsson  <jas@extundo.com>
81434
81435         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
81436         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
81437
81438 2006-03-08  Simon Josefsson  <jas@extundo.com>
81439
81440         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
81441         signal that configure disabled the device.
81442
81443 2006-03-08  Simon Josefsson  <jas@extundo.com>
81444
81445         * build-aux/maint.mk: Fix refresh-po, to handle no translated
81446         languages.
81447
81448 2006-03-07  Simon Josefsson  <jas@extundo.com>
81449
81450         * modules/getopt (Depends-on): Add unistd.
81451
81452         * modules/unistd: New file.
81453
81454 2006-03-07  Simon Josefsson  <jas@extundo.com>
81455
81456         * modules/gc-random: New file.
81457
81458 2006-03-07  Simon Josefsson  <jas@extundo.com>
81459
81460         * m4/unistd_h.m4: New file.
81461
81462 2006-03-07  Simon Josefsson  <jas@extundo.com>
81463
81464         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
81465         test to be side-effect free by storing the result in the cache
81466         variable gl_cv_lib_readline, and moving the assignment of
81467         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
81468         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
81469
81470 2006-03-07  Simon Josefsson  <jas@extundo.com>
81471
81472         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
81473         error on missing devices (the functions will return an error).
81474
81475         * m4/gc.m4: Move random stuff to gc-random.m4
81476
81477 2006-03-07  Simon Josefsson  <jas@extundo.com>
81478
81479         * lib/unistd_.h: New file.
81480
81481 2006-03-07  Simon Josefsson  <jas@extundo.com>
81482
81483         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
81484
81485 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
81486
81487         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
81488         Problem reported by Juan Manuel Guerrero.
81489
81490 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
81491
81492         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
81493         the unistd module.
81494         * lib/getlogin_r.c: Likewise.
81495         * lib/getlogin_r.h: Likewise.
81496         * lib/glob.c: Likewise.
81497         * lib/pagealign_alloc.c: Likewise.
81498         * lib/unistd_.h: Remove; no longer needed.
81499
81500 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
81501
81502         * MODULES.html.sh (Support for systems lacking POSIX:2001):
81503         Add unistd.
81504         * modules/c-stack (Depends-on): Add unistd.
81505         * modules/getlogin_r: Likewise.
81506         * modules/glob: Likewise.
81507         * modules/pagealign_alloc: Likewise.
81508         * modules/unistd (Files): Remove lib/unistd_.h.
81509         (EXTRA_DIST): Remove.
81510         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
81511         need unistd_.h.
81512         (MOSTLYCLEANFILES): Remove unistd.h-t.
81513
81514 2006-03-03  Simon Josefsson  <jas@extundo.com>
81515
81516         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
81517
81518 2006-03-03  Simon Josefsson  <jas@extundo.com>
81519
81520         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
81521         libidn and bison.
81522
81523 2006-03-03  Simon Josefsson  <jas@extundo.com>
81524
81525         * build-aux/maint.mk: Add indent target.
81526
81527 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
81528
81529         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
81530         our replacement poll.h in any case, to avoid a differing
81531         declaration from a system header.  Seen on AIX.
81532
81533 2006-03-01  Simon Josefsson  <jas@extundo.com>
81534
81535         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
81536         <kasal@ucw.cz>.
81537
81538 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
81539
81540         * modules/gettime (Depends-on): Add extensions module.
81541         * modules/nanosleep (Depends-on): Likewise.
81542         * modules/settime (Depends-on): Likewise.
81543
81544 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
81545
81546         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
81547         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
81548         pedantically.
81549         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
81550         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
81551
81552         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
81553         not "==".  Reported by Ralf Wildenhues.
81554
81555 2006-03-01  Karl Berry  <karl@gnu.org>
81556
81557         * doc/Copyright/request-*: new files, synced from gnuorg.
81558
81559 2006-03-01  Karl Berry  <karl@gnu.org>
81560
81561         * config/srclist.txt (Copyright/*): new entries.
81562
81563 2006-02-28  Simon Josefsson  <jas@extundo.com>
81564
81565         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
81566
81567 2006-02-27  Simon Josefsson  <jas@extundo.com>
81568
81569         * lib/base64.h: Indent #define's.  From Jim Meyering
81570         <jim@meyering.net>.
81571
81572 2006-02-27  Jim Meyering  <jim@meyering.net>
81573
81574         Revert the change of 2006-02-24, so these files can continue
81575         to be sync'd from gettext.
81576         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
81577         of `config.h'.
81578
81579 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
81580
81581         * modules/intprops: New file.
81582         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
81583         Add intprops.
81584         * modules/getloadavg (Files): Remove lib/intprops.h.
81585         (Depends-on): Add intprops.
81586         * modules/human: Likewise.
81587         * modules/inttostr: Likewise.
81588         * modules/openat: Likewise.
81589         * modules/sig2str: Likewise.
81590         * modules/userspec: Likewise.
81591         * modules/utimecmp: Likewise.
81592         * modules/xnanosleep: Likewise.
81593         * modules/xstrtol: Likewise.
81594
81595 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
81596
81597         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
81598         * modules/lock-tests (TESTS): Use $(EXEEXT).
81599         * modules/tls-tests: Likewise.
81600         * modules/argp-tests: Likewise.
81601         (check_PROGRAMS): New var, replacing...
81602         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
81603
81604 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81605
81606         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
81607         `config.h'.
81608
81609 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
81610
81611         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
81612
81613 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81614
81615         Sync from coreutils.
81616         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
81617         gl_CHDIR_SAFER.
81618
81619 2006-02-22  Jim Meyering  <jim@meyering.net>
81620
81621         Sync from coreutils.
81622         * m4/chdir-safer.m4: New file.
81623
81624 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
81625
81626         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
81627         AT_FDCWD exceeds INT_MAX.
81628         * lib/openat.h (AT_FDCWD): Likewise.
81629
81630 2006-02-17  Eric Blake  <address@hidden>
81631
81632         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
81633
81634 2006-02-16  Simon Josefsson  <jas@extundo.com>
81635
81636         * modules/getaddrinfo (Depends-on): Add sys_socket.
81637
81638 2006-02-15  Simon Josefsson  <jas@extundo.com>
81639
81640         * build-aux/maint.mk: Add dsyntax-check rule.
81641
81642 2006-02-15  Eric Blake  <ebb9@byu.net>
81643
81644         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
81645         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
81646         'present but cannot compile' warnings on cygwin.
81647         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
81648         use ws2tcpip.h if sys/socket.h works.
81649         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
81650         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
81651
81652 2006-02-14  Simon Josefsson  <jas@extundo.com>
81653
81654         * modules/maintainer-makefile (Files): Rename.
81655
81656         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
81657         and (the local) Makefile.cfg to maint-cfg.mk.
81658
81659         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
81660         to the latter.
81661
81662         * modules/maintainer-makefile: New module.
81663
81664         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
81665         severaly stripped to make it possible to build it up from scratch
81666         with reliable tests.
81667
81668         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
81669         fixes to permit overriding the default actions when configure and
81670         makefile are not available.
81671
81672 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
81673
81674         Sync from coreutils.
81675         * modules/lstat (Depends-on): Don't depend on xalloc.
81676         (License): Change from GPL to LGPL, since this is now simply a
81677         replacement for a libc function.
81678
81679 2006-02-14  Jim Meyering  <jim@meyering.net>
81680
81681         Sync from coreutils.
81682
81683         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
81684         failure on deficient systems, and simplify gnulib lgpl dependencies.
81685         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
81686         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
81687
81688         * lib/xalloc-die.c: Remove unused definition of N_.
81689
81690 2006-02-14  Jim Meyering  <jim@meyering.net>
81691
81692         Sync from coreutils.
81693         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
81694         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
81695         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
81696         double-quote uses of that variable, to accommodate the rare case in
81697         which getmntent is available in none of the libraries checked.  This
81698         happens at least on FreeBSD 5.0.
81699
81700 2006-02-13  Simon Josefsson  <jas@extundo.com>
81701
81702         * gnulib-tool (Usage): Fix --import, from
81703         karl@freefriends.org (Karl Berry).
81704
81705 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
81706
81707         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
81708
81709 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
81710
81711         * lib/argp-namefrob.h: Restore changes accidentally lost during the
81712         "autoupdate" on 2005-12-12.
81713
81714 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
81715
81716         * modules/closeout (Depends-on): Remove atexit.
81717
81718 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
81719
81720         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
81721         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
81722
81723 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
81724
81725         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
81726         __EXTENSIONS__ if this causes compilation to fail.  Problem
81727         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
81728         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
81729
81730 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
81731
81732         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
81733         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
81734         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
81735         All uses changed.
81736
81737 2006-01-26  Simon Josefsson  <jas@extundo.com>
81738
81739         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
81740         prototype is visible on mingw32.
81741
81742         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
81743         for mingw32.
81744
81745         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
81746         mingw32).
81747
81748 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
81749
81750         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
81751         attempt to open for write; this always fails, at least on POSIX
81752         hosts.  This reinstates the 2006-01-09 change, which was
81753         inadvertently removed.
81754
81755 2006-01-26  Bruno Haible  <bruno@clisp.org>
81756
81757         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
81758         Reported by Paul Eggert.
81759
81760 2006-01-26  Bruno Haible  <bruno@clisp.org>
81761             Paul Eggert  <eggert@cs.ucla.edu>
81762
81763         * lib/stdbool_.h (_Bool)
81764         [(! (defined __cplusplus || defined __BEOS__)
81765           && !defined __GNUC__
81766           && !(defined __HP_cc || defined __xlc__
81767                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
81768                || defined __sgi))]:
81769         #define to signed char in these cases too; this simplifies
81770         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
81771         etc., separately) and makes it more conservative.
81772
81773 2006-01-25  Simon Josefsson  <jas@extundo.com>
81774
81775         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
81776         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
81777         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
81778
81779 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
81780
81781         * lib/argp-namefrob.h: Bugfix. Remove stray #
81782
81783 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
81784
81785         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
81786         so that we test the test.
81787         Check for yet another HP-UX cc bug involving *bool |= bool.
81788
81789 2006-01-25  Karl Berry  <karl@gnu.org>
81790
81791         * config/srclist.txt (vasnprintf.c): sync lost.
81792
81793 2006-01-25  Jim Meyering  <jim@meyering.net>
81794
81795         Sync from the stable (b5) branch of coreutils:
81796
81797         * lib/fts.c (fts_children): Don't let close() clobber errno from
81798         failed fchdir().
81799
81800         * lib/fts.c (fts_stat): When following a symlink-to-directory,
81801         don't necessarily interpret stat-fails+lstat-succeeds as indicating
81802         a dangling symlink.  That can also happen at least for ELOOP.
81803         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
81804         FYI, this bug predates the inclusion of fts.c in coreutils.
81805
81806         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
81807         in their own block, so pre-c99 compilers don't object.
81808
81809         Avoid the double-free (first in fts_read, second in fts_close) that
81810         would occur when an `active' directory is made inaccessible (e.g.,
81811         via chmod a-x) during a traversal.
81812         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
81813         before returning.  Reproduce this failure by
81814         mkdir -p a/b; cd a; chmod a-x . b
81815         Reported by Stavros Passas.
81816
81817 2006-01-25  Jim Meyering  <jim@meyering.net>
81818
81819         * lib/fileblocks.c: Remove more useless parentheses.
81820         * lib/readutmp.h: Likewise.
81821
81822 2006-01-25  Bruno Haible  <bruno@clisp.org>
81823
81824         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
81825         warnings.
81826         Reported by Paul Eggert.
81827
81828 2006-01-25  Bruno Haible  <bruno@clisp.org>
81829
81830         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
81831         rid of a trap command. For Solaris sh.
81832         Reported by Mark D. Baushke <mdb@gnu.org>.
81833
81834 2006-01-24  Simon Josefsson  <jas@extundo.com>
81835
81836         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
81837         Bruno.
81838
81839 2006-01-24  Karl Berry  <karl@gnu.org>
81840
81841         * config/srclist.txt (argp-namefrob.h): sync lost.
81842
81843 2006-01-24  Jim Meyering  <jim@meyering.net>
81844
81845         * modules/openat (Files): Add lib/intprops.h.
81846         From Mark D. Baushke.
81847
81848 2006-01-24  Jim Meyering  <jim@meyering.net>
81849
81850         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
81851         Reported by Mark D. Baushke.
81852
81853 2006-01-24  Jim Meyering  <jim@meyering.net>
81854
81855         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
81856
81857 2006-01-24  Bruno Haible  <bruno@clisp.org>
81858
81859         * modules/strnlen (Maintainer): Change from glibc to all.
81860
81861 2006-01-24  Bruno Haible  <bruno@clisp.org>
81862
81863         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
81864         Patch by Paul Eggert.
81865
81866 2006-01-24  Bruno Haible  <bruno@clisp.org>
81867
81868         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
81869         already has it.
81870         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
81871         2005-11-26.
81872
81873         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
81874         'signed char' to avoid problems with the built-in _Bool type.
81875         Reported by Paul Eggert on 2005-11-26.
81876
81877 2006-01-24  Bruno Haible  <bruno@clisp.org>
81878
81879         * gnulib-tool (func_import): Avoid constructing complicated sed
81880         expressions inside backquote.
81881         Report and solution by Mark D. Baushke <mdb@gnu.org>.
81882
81883 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
81884
81885         These changes imported from libc.
81886         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
81887         test and two separate function calls.
81888         * lib/strndup.c (__strndup): Add libc_hidden_def.
81889
81890 2006-01-23  Simon Josefsson  <jas@extundo.com>
81891
81892         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
81893         Remove the test_*_SOURCES variable: automake infers it by default.
81894         * modules/tls-tests: Likewise.
81895
81896 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
81897
81898         Work around porting bugs reported by Dieter in
81899         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
81900         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
81901         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
81902         Include "getopt.h" first, to check interface.
81903         (getenv): Declare only if defined HAVE_DECL_GETENV &&
81904         !HAVE_DECL_GETENV.
81905         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
81906         (__strndup): Revert to K&R-style function dfns, the glibc style.
81907         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
81908         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
81909         Include strnlen.h first, to get prototype properly.
81910         (strnlen): Renamed from __strnlen.
81911         Remove weak alias.
81912
81913 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
81914
81915         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
81916
81917 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
81918
81919         * config/srclist.txt: Adjust to reflect glibc reorganization.
81920         This affects only comments.
81921
81922 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
81923
81924          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
81925          Reported by Bruce Korb <bkorb@gnu.org>.
81926
81927 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
81928
81929         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
81930         to pacify gcc -Wswitch-default.
81931
81932 2006-01-22  Bruno Haible  <bruno@clisp.org>
81933
81934         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
81935         temporary buffer for sprintf, take into account the precision also
81936         for 'd', 'i', 'u', 'o', 'x', 'X'.
81937
81938 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
81939
81940         * modules/argp-tests: New module
81941         * tests/test-argp.c: New file
81942         * tests/test-argp-2.sh: New file
81943
81944 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
81945
81946         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
81947         (__argp_base_name): Removed
81948         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
81949         typo.
81950         (__argp_base_name): Provide macro definition or extern declaration
81951         depending on the configuration
81952
81953 2006-01-20  Simon Josefsson  <jas@extundo.com>
81954
81955         * modules/inet_ntop (Depends-on): Depend on sys_socket.
81956
81957 2006-01-20  Simon Josefsson  <jas@extundo.com>
81958
81959         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
81960
81961 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
81962
81963         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
81964         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
81965         Suggested by Bruno Haible.
81966
81967 2006-01-20  Karl Berry  <karl@gnu.org>
81968
81969         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
81970         until changes propagate, I guess.
81971
81972 2006-01-19  Simon Josefsson  <jas@extundo.com>
81973
81974         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
81975
81976 2006-01-19  Simon Josefsson  <jas@extundo.com>
81977
81978         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
81979
81980 2006-01-19  Simon Josefsson  <jas@extundo.com>
81981
81982         * gnulib-tool: Set check_PROGRAMS.
81983
81984         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
81985         modules/des-tests, modules/gc-arcfour-tests,
81986         modules/gc-arctwo-tests, modules/gc-des-tests,
81987         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
81988         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
81989         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
81990         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
81991         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
81992         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
81993         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
81994         test_*_SOURCES.
81995
81996 2006-01-18  Simon Josefsson  <jas@extundo.com>
81997
81998         * modules/socklen (Depends-on): Depend on sys_socket.
81999
82000 2006-01-18  Simon Josefsson  <jas@extundo.com>
82001
82002         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
82003         modules/des-tests, modules/gc-arcfour-tests,
82004         modules/gc-arctwo-tests, modules/gc-des-tests,
82005         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
82006         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
82007         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
82008         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
82009         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
82010         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
82011         $(EXEEXT) to automake TESTS variable, for mingw32.
82012
82013 2006-01-17  Simon Josefsson  <jas@extundo.com>
82014
82015         * modules/socklen (Include): Need sys/socket.h.
82016
82017 2006-01-17  Bruno Haible  <bruno@clisp.org>
82018
82019         * modules/ssize_t (Include): Add <sys/types.h>.
82020
82021 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
82022
82023         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
82024         it's not portable and it doesn't work with cross-compiles.
82025         Problem reported by Bruno Haible.  Fix missing-$ typo in
82026         'test "gl_cv_ignore_unused_libraries" ...' that prevented
82027         -zignore from being used with Sun's C compiler.
82028
82029 2006-01-12  Simon Josefsson  <jas@extundo.com>
82030
82031         * lib/base64.c: Fix warning, reported by Bruno Haible
82032         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
82033
82034 2006-01-12  Bruno Haible  <bruno@clisp.org>
82035
82036         * modules/ldd: New file.
82037         * build-aux/ldd.sh.in: New file.
82038         * MODULES.html.sh (Support for building libraries and executables): Add
82039         ldd.
82040
82041 2006-01-12  Bruno Haible  <bruno@clisp.org>
82042
82043         * m4/ldd.m4: New file.
82044
82045 2006-01-12  Bruno Haible  <bruno@clisp.org>
82046
82047         * gnulib-tool (func_import, func_create_testdir): Don't go into an
82048         endless loop while replacing $auxdir with build-aux.
82049
82050 2006-01-11  Simon Josefsson  <jas@extundo.com>
82051
82052         * lib/stdint_.h (SIZE_MAX): Add missing (.
82053
82054 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
82055
82056         Sync from coreutils.
82057         * lib/md5.c: Fix commentary typos.
82058         (alignof, UNALIGNED_P): No need for a GCC-specific version.
82059         * lib/md5.h (__attribute__): Remove; unused.
82060         * lib/sha1.c: Fix commentary to match md5 better.
82061         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
82062         so that we don't need to worry about alignment.  All uses changed.
82063         This merges the 2005-10-28 md5 change into sha1.
82064
82065 2006-01-11  Jim Meyering  <jim@meyering.net>
82066
82067         Sync from coreutils.
82068         * lib/md5.c (OP): Fix spacing.
82069
82070 2006-01-11  Bruno Haible  <bruno@clisp.org>
82071
82072         Ensure automatic ordering between gl_LOCK and gl_ARGP.
82073         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
82074         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
82075
82076 2006-01-11  Bruno Haible  <bruno@clisp.org>
82077
82078         Ensure automatic ordering between gl_LOCK and gl_ARGP.
82079         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
82080         the "early" section as well.
82081
82082 2006-01-11  Bruno Haible  <bruno@clisp.org>
82083
82084         Avoid "ar: no archive members specified" error on MacOS X.
82085         * gnulib-tool (func_modules_add_dummy): New function.
82086         (func_import, func_create_testdir): Invoke it.
82087
82088 2006-01-11  Bruno Haible  <bruno@clisp.org>
82089
82090         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
82091         with $auxdir in AC_CONFIG_FILES statements.
82092
82093 2006-01-11  Bruno Haible  <bruno@clisp.org>
82094
82095         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
82096         Initialize also noinst_HEADERS to empty.
82097
82098 2006-01-11  Bruno Haible  <bruno@clisp.org>
82099
82100         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
82101         variables.
82102         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
82103         autoreconf.
82104
82105 2006-01-11  Bruno Haible  <bruno@clisp.org>
82106
82107         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
82108         overridable by the user.
82109         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82110
82111 2006-01-10  Simon Josefsson  <jas@extundo.com>
82112
82113         * modules/sys_socket: New file.
82114
82115 2006-01-10  Simon Josefsson  <jas@extundo.com>
82116
82117         * m4/sys_socket_h.m4: New file.
82118
82119 2006-01-10  Simon Josefsson  <jas@extundo.com>
82120
82121         * lib/socket_.h: New file.
82122
82123 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
82124
82125         * modules/readutmp (Maintainer): Add myself.
82126
82127 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
82128
82129         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
82130         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
82131         People who are still concerned with buggy memcmp implementations
82132         can invoke gl_FUNC_MEMCMP themselves.
82133
82134 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
82135
82136         * lib/regex_internal.h (BITSET_WORD_BITS):
82137         Work around a bug in 64-bit PGC (before version 6.1-2), where the
82138         preprocessor mishandles large unsigned values as if they were signed.
82139         Problem reported by Claudio Fontana in
82140         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
82141
82142 2006-01-10  Jim Meyering  <jim@meyering.net>
82143
82144         Avoid the double-free (first in fts_read, second in fts_close) that
82145         would occur when an `active' directory is made inaccessible (e.g.,
82146         via chmod a-x) during a traversal.
82147         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
82148         before returning.  Reproduce this failure by
82149         mkdir -p a/b; cd a; chmod a-x . b
82150         Reported by Stavros Passas.
82151
82152         Sync from coreutils.
82153         * lib/sha1.c: Tweak grammar in a comment.
82154
82155 2006-01-10  Jim Meyering  <jim@meyering.net>
82156
82157         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
82158         Patch by Joerg Sonnenberger.
82159
82160 2006-01-10  Bruno Haible  <bruno@clisp.org>
82161
82162         * modules/readutmp: Depend on module free.
82163         * modules/strtok_r: Depend on module restrict.
82164
82165 2006-01-10  Bruno Haible  <bruno@clisp.org>
82166
82167         * modules/gettext (configure.ac): Add an invocation of
82168         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
82169
82170 2006-01-10  Bruno Haible  <bruno@clisp.org>
82171
82172         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
82173         Reported by Werner Lemberg <wl@gnu.org>.
82174
82175 2006-01-10  Bruno Haible  <bruno@clisp.org>
82176
82177         * lib/localcharset.c: Update from GNU gettext.
82178
82179 2006-01-10  Bruno Haible  <bruno@clisp.org>
82180
82181         * lib/argp.h (__const): Remove macro. Use const instead.
82182         * lib/argp-fmtstream.h (__const): Likewise.
82183         * lib/glob_.h (__const): Remove macro.
82184         * lib/glob-libc.h: Use const instead of __const.
82185
82186 2006-01-10  Bruno Haible  <bruno@clisp.org>
82187
82188         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
82189         variable.
82190         Needed to avoid an automake error regarding the 'gettext' module.
82191
82192 2006-01-09  Simon Josefsson  <jas@extundo.com>
82193
82194         * modules/inet_ntop (Depends-on): Add restrict.
82195
82196 2006-01-09  Simon Josefsson  <jas@extundo.com>
82197
82198         * modules/gc-rijndael-tests (License): Put under LGPL.
82199
82200         * modules/gc-des-tests (License): Likewise.
82201
82202         * modules/gc-arcfour-tests (License): Likewise.
82203
82204         * modules/gc-arctwo-tests (License): Likewise.
82205
82206         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
82207
82208         * modules/gc-hmac-sha1-tests (Files): Likewise.
82209
82210         * modules/gc-hmac-md5-tests (License): Likewise.
82211
82212         * modules/gc-sha1-tests (License): Likewise.
82213
82214         * modules/gc-md5-tests (License): Likewise.
82215
82216         * modules/gc-md4-tests (License): Likewise.
82217
82218         * modules/gc-md2-tests (License): Likewise.
82219
82220         * modules/gc-tests (License): Likewise.
82221
82222         * modules/des-tests (License): Likewise.
82223
82224         * modules/md4-tests (License): Likewise.
82225
82226         * modules/md2-tests (License): Likewise.
82227
82228 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
82229
82230         Sync from coreutils:
82231
82232         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
82233         * modules/lib-ignore: New file.
82234         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
82235         chdir-safer.m4, lchmod.m4.
82236         * modules/openat: Add mkdirat.c, openat-priv.h.
82237
82238 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
82239
82240         Sync from coreutils.
82241         * m4/lib-ignore.m4: New file.
82242         * m4/lchmod.m4: New file.
82243
82244 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
82245
82246         Sync from coreutils.
82247         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
82248         for write access: POSIX says that must fail.
82249         * lib/fts.c (diropen): Likewise.
82250         * lib/save-cwd.c (save_cwd): Likewise.
82251         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
82252         well, for minor improvements on hosts that lack O_DIRECTORY.
82253         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
82254         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
82255         Fall back on chown if open failed with EACCES.
82256
82257         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
82258         Report an error at compile-time if only a 1-second nominal clock
82259         resolution is found.
82260
82261         * lib/lchmod.h: New file.
82262         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
82263         (make_dir_parents): Use lchown rather than chown, and
82264         lchmod rather than chmod.
82265
82266         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
82267         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
82268         "proc" reported by n0dalus.
82269
82270         * lib/mountlist.c: Include <limits.h>.
82271         (dev_from_mount_options)
82272         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
82273         New function.  It no longer assumes "dev=" has the System V meaning
82274         on Linux (since it doesn't).  It also parses "dev=" more carefully.
82275         (read_file_system_list)
82276         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
82277         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
82278         dev= in that case.
82279
82280         * lib/posixtm.h (PDS_PRE_2000): New macro.
82281         * lib/posixtm.c (year): Arg is now syntax_bits rather than
82282         allow_century.  All usages changed.  Reject dates outside the range
82283         1969-1999 if PDS_PRE_2000 is used.
82284
82285 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
82286
82287         Sync from coreutils.
82288         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
82289         (Time of day items): Mention the possibility of leap seconds.
82290         Problem reported by Dr. David Alan Gilbert.
82291
82292 2006-01-09  Jim Meyering  <jim@meyering.net>
82293
82294         Sync from coreutils.
82295
82296         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
82297
82298         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
82299
82300         * lib/modechange.c (mode_compile): Reject an invalid mode string
82301         that starts with an octal digit.  From Andreas Gruenbacher.
82302
82303         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
82304         and dup to open_safer and dup_safer, respectively.
82305         (openat_permissive): Fix typo in comment.
82306
82307         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
82308         "gettext.h"; either no longer needed or are guaranteed by openat.h.
82309         (_): Remove; no longer needed.
82310         (openat): Renamed from rpl_openat; no need for rpl_openat
82311         since openat.h renames openat for us.
82312         Replace most of the body with a call to openat_permissive,
82313         to avoid duplicate code.
82314         Port to (probably hypothetical) environments were mode_t is
82315         wider than int.
82316         (openat_permissive): Require mode arg, so that we can check
82317         types better.  Put it just after flags.  Change cwd failure
82318         indicator from pointer-to-bool to pointer-to-errno-value.
82319         All callers changed.
82320         Invoke openat_save_fail and/or openat_restore_fail if
82321         cwd_errno is null, so that openat can call us.
82322         (openat_permissive, fdopendir, fstatat, unlinkat):
82323         Simplify errno handling to avoid some duplicate code,
82324         as it's OK to set errno on success.
82325         * lib/openat.h: Revamp code so that function macros depend on
82326         __OPENAT_PREFIX only, not also on AT_FDCWD.
82327         (openat_ro): Remove.  Caller changed to use openat_permissive.
82328         (openat_permissive): Now a macro, if not a function.
82329         (openat_restore_fail, openat_save_fail): Now always functions,
82330         since mkdirat needs them even if __OPENAT_PREFIX is defined.
82331
82332         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
82333         and openat.c.
82334         * lib/mkdirat.c: Include openat-priv.h.
82335         Remove definitions of macros defined therein.
82336         * lib/openat.c: Likewise.
82337
82338         * lib/mkdirat.c (mkdirat): New file and function.
82339         * lib/openat.h (mkdirat): Declare.
82340
82341         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
82342
82343         * lib/openat.h (openat_permissive): Declare.
82344         (openat_ro): Define.
82345
82346         * lib/openat.c (EXPECTED_ERRNO): New macro.
82347         (openat_permissive): New function -- used in remove.c rewrite.
82348         (all functions): Set errno just before returning, only if there
82349         was an actual failure.
82350         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
82351
82352         Emulate openat-family functions using Linux's procfs, if possible.
82353         Idea and some code based on Ulrich Drepper's glibc changes.
82354
82355         * lib/openat.c: (BUILD_PROC_NAME): New macro.
82356         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
82357         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
82358         before falling back on save_cwd and restore_cwd.
82359         (fdopendir, fstatat, unlinkat): Likewise.
82360
82361         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
82362         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
82363
82364         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
82365         as second argument to va_arg.  Otherwise, some versions of gcc
82366         warn that `if this code is reached, the program will abort'.
82367
82368 2006-01-09  Jim Meyering  <jim@meyering.net>
82369
82370         Sync from coreutils.
82371         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
82372         Require openat-priv.h.
82373
82374 2006-01-09  Bruno Haible  <bruno@clisp.org>
82375
82376         * modules/strnlen (Include): Use strnlen.h.
82377
82378 2006-01-09  Bruno Haible  <bruno@clisp.org>
82379
82380         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
82381
82382 2006-01-09  Bruno Haible  <bruno@clisp.org>
82383
82384         * lib/sysexit_.h (EX_OK): New macro.
82385         Suggested by Martin Lambers <marlam@marlam.de>.
82386
82387 2006-01-09  Bruno Haible  <bruno@clisp.org>
82388
82389         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
82390         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
82391
82392 2006-01-09  Bruno Haible  <bruno@clisp.org>
82393
82394         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
82395         numbers.
82396
82397 2006-01-09  Bruno Haible  <bruno@clisp.org>
82398
82399         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
82400         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
82401         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
82402         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
82403
82404 2006-01-09  Bruno Haible  <bruno@clisp.org>
82405
82406         * build-aux/javacomp.sh.in: New file, moved from lib/.
82407         * modules/javacomp-script (Files): Update.
82408         (configure.ac): Add AC_CONFIG_FILES invocation.
82409         (EXTRA_DIST): Remove variable.
82410
82411         * build-aux/javaexec.sh.in: New file, moved from lib/.
82412         * modules/javaexec (Files): Update.
82413         (configure.ac): Add AC_CONFIG_FILES invocation.
82414         (EXTRA_DIST): Remove javaexec.sh.in.
82415
82416         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
82417         * modules/csharpcomp-script (Files): Update.
82418         (configure.ac): Add AC_CONFIG_FILES invocation.
82419         (EXTRA_DIST): Remove variable.
82420
82421         * build-aux/csharpexec.sh.in: New file, moved from lib/.
82422         * modules/csharpexec (Files): Update.
82423         (configure.ac): Add AC_CONFIG_FILES invocation.
82424         (EXTRA_DIST): Remove csharpexec.sh.in.
82425
82426 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
82427
82428         Sync from coreutils.
82429
82430         Add POSIX ACL support
82431         * lib/acl.h (copy_acl, set_acl): Add declarations.
82432         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
82433         systems other than Linux.
82434         (chmod_or_fchmod): New function: use fchmod when possible,
82435         and chmod otherwise.
82436         (file_has_acl): Add a POSIX ACL implementation, with a
82437         Linux-specific subcase.
82438         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
82439         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
82440         acls are unsupported.
82441         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
82442         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
82443         are unsupported.
82444
82445 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
82446
82447         Sync from coreutils.
82448         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
82449
82450 2006-01-07  Bruno Haible  <bruno@clisp.org>
82451
82452         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
82453         gl_EARLY.
82454
82455 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
82456
82457         * lib/strftime.c (tzname): Don't declare if it is already #defined.
82458         Problem reported for Mingw by Mark Junker.
82459
82460 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
82461
82462         * README: Gnulib normally doesn't generate a tarball.
82463
82464 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
82465
82466         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
82467         long int, not int, for nanosecond counts, so that people who are
82468         used to POSIX struct timespec won't be surprised.  Reported by Jim
82469         Meyering.
82470
82471 2005-12-28  Bruno Haible  <bruno@clisp.org>
82472
82473         * build-aux/config.rpath: Update from GNU gettext.
82474
82475 2005-12-16  Jim Meyering  <jim@meyering.net>
82476
82477         * modules/fprintftime: New module.
82478         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
82479
82480 2005-12-16  Jim Meyering  <jim@meyering.net>
82481
82482         * m4/fprintftime.m4: New file.
82483
82484 2005-12-16  Jim Meyering  <jim@meyering.net>
82485
82486         * lib/fprintftime.c, lib/fprintftime.h: New files.
82487
82488 2005-12-15  Simon Josefsson  <jas@extundo.com>
82489
82490         * modules/socklen (configure.ac): Fix M4 macro name, to align with
82491         new m4/socklen.m4.
82492
82493 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
82494
82495         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
82496         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
82497
82498 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
82499
82500         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
82501         * lib/argp-help.c (fill_in_uparams): Check if the constructed
82502         struct uparams is valid. Fall back to the default values if it is
82503         not.
82504
82505 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
82506
82507         * modules/argp (Files): Add argp-pin.c
82508         (Depends-on): dirname
82509         (lib_SOURCES): Add argp-pin.c
82510
82511 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
82512
82513         * m4/argp.m4:  Check if program_invocation_name and
82514         program_invocation_short_name are declared and define appropriate
82515         macros if they are not.
82516
82517 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
82518
82519         * lib/argp-help.c (__argp_base_name): New function
82520         (__argp_short_program_name): Rewrite using __argp_base_name
82521         * lib/argp-namefrob.h: Define program_invocation_name and
82522         program_invocation_short_name if requested
82523         (__argp_base_name): Add prototype
82524         * lib/argp-parse.c (argp_def): Use gettext wrappers
82525         (argp_default_parser): Use __argp_base_name
82526         * lib/argp-pin.c: New file. Defines program_invocation_name and
82527         program_invocation_short_name on systems that lack them.
82528
82529 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
82530
82531         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
82532         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
82533         porting problem reported by Georg Schwarz in
82534         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
82535
82536 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
82537
82538         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
82539         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
82540         porting problem reported by Georg Schwarz in
82541         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
82542
82543 2005-12-05  Bruno Haible  <bruno@clisp.org>
82544
82545         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
82546         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
82547         Reported by Mark Junker <mjscod@gmx.de>.
82548
82549 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
82550
82551         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
82552         Use implementation from Albert Chin, with some
82553         comments/corrections by Stepan Kasal and myself.
82554
82555 2005-12-02  Bruno Haible  <bruno@clisp.org>
82556
82557         * gnulib-tool (func_import): Accept GPLed build tool modules when
82558         --lgpl is given.
82559         * modules/csharpcomp-script: New file.
82560         * modules/csharpcomp: Depend on it.
82561         * modules/javacomp-script: New file.
82562         * modules/javacomp: Depend on it.
82563         Suggested by Simon Josefsson.
82564
82565 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
82566
82567         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
82568         statement, to work around an HP-UX 10.20 compiler bug reported by
82569         Peter O'Gorman.
82570
82571 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
82572
82573         * modules/savedir (Depends-on): Add openat.
82574
82575 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
82576
82577         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
82578         (uintmax_t) [defined uintmax_t]: Do not declare.
82579         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
82580         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
82581         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
82582         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
82583         sake of portability to weird hosts that C allows (though we don't
82584         know of any practical examples).
82585
82586         * lib/savedir.h (fdsavedir): New decl.
82587         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
82588         contains most of the former guts of savedir.
82589         (savedir): Use savedirstream.
82590         Include "openat.h".
82591
82592 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
82593
82594         * modules/obstack (Files): Add m4/ulonglong.m4.
82595         Problem reported by Davide Angelocola.
82596
82597 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
82598
82599         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
82600         coreutils no longer futzes with rounding modes.
82601
82602 2005-11-14  Jim Meyering  <jim@meyering.net>
82603
82604         * lib/mkstemp-safer.c: Include <config.h>, required for possible
82605         replacement of mkstemp.
82606
82607 2005-11-10  Simon Josefsson  <jas@extundo.com>
82608
82609         * lib/readline.c: Remove EOL.
82610
82611 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
82612
82613         * modules/gethrxtime (Depends-on): Add gettime.
82614
82615 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
82616
82617         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
82618         or gettimeofday; no longer needed.
82619
82620 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
82621
82622         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
82623         time business.
82624         (gethrxtime) [! (HAVE_NANOUPTIME
82625         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
82626         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
82627         our own approximation.
82628
82629 2005-11-08  Eric Blake  <ebb9@byu.net>
82630
82631         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
82632
82633 2005-11-08  Eric Blake  <ebb9@byu.net>
82634
82635         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
82636
82637 2005-11-04  Bruno Haible  <bruno@clisp.org>
82638
82639         * gnulib-tool: Implement --update mode.
82640
82641 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
82642
82643         Fix porting problem reported by Theodoros V. Kalamatianos.
82644         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
82645         Don't assume that futimes failing means we must fail.
82646
82647 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
82648
82649         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
82650         variables to suggest the intended function of the PATH_MAX check.
82651
82652 2005-10-30  Kean Johnston  <jkj@sco.com>
82653
82654         Trivial changes to support SCO systems.
82655         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
82656         as PATH_MAX.
82657         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
82658         where __ptr is null when no I/O is pending.
82659
82660 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
82661
82662         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
82663         leave errno alone.  Problem reported by Dmitry V. Levin.
82664
82665 2005-10-28  Simon Josefsson  <jas@extundo.com>
82666
82667         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
82668         Test more.
82669
82670         * tests/test-gc-md2.c, tests/test-md2.c: New files.
82671
82672         * modules/md2, modules/md2-tests: New files.
82673
82674 2005-10-28  Simon Josefsson  <jas@extundo.com>
82675
82676         * m4/inet_ntop.m4: More tests.
82677
82678         * m4/gc-md2.m4, md2.m4: New file.
82679
82680 2005-10-28  Simon Josefsson  <jas@extundo.com>
82681
82682         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
82683         "restrict" keywords, as per POSIX.  Protect the function
82684         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
82685         Don't use K&R prototypes.  Check the sprintf return values.
82686         Re-define EAFNOSUPPORT if not present.  Indent.
82687
82688         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
82689         suggested by Bruno Haible <bruno@clisp.org>.
82690
82691         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
82692
82693         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
82694
82695         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
82696         libgcrypt).
82697
82698         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
82699
82700         * lib/md2.h, lib/md2.c: New files.
82701
82702 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
82703
82704         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
82705         errno alone.  Problem reported by Frederic Jolliton.
82706
82707 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
82708
82709         * modules/verify (License): Change from GPL to LGPL.  This is a
82710         tiny module and there are apparently near-equivalents that are
82711         under the BSD license.
82712
82713 2005-10-24  Simon Josefsson  <jas@extundo.com>
82714
82715         * modules/sha1: Relicense to LGPL.
82716
82717 2005-10-24  Simon Josefsson  <jas@extundo.com>
82718
82719         * lib/md4.h: Shrink buffer size, now that we changed the type.
82720
82721 2005-10-23  Simon Josefsson  <jas@extundo.com>
82722
82723         * gnulib-tool (func_import): Fix --tests-base.
82724
82725 2005-10-22  Simon Josefsson  <jas@extundo.com>
82726
82727         * modules/arcfour (Depends-on): Need stdint.
82728
82729 2005-10-22  Simon Josefsson  <jas@extundo.com>
82730
82731         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
82732         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
82733
82734 2005-10-22  Simon Josefsson  <jas@extundo.com>
82735
82736         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
82737         suggested by Bruno Haible <bruno@clisp.org>.
82738
82739 2005-10-22  Simon Josefsson  <jas@extundo.com>
82740
82741         * lib/crc.h: Include stddef.h, for size_t.
82742
82743 2005-10-22  Simon Josefsson  <jas@extundo.com>
82744
82745         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
82746         arcfour_context struct (simplify test vector testing in GNU
82747         Shishi).
82748
82749 2005-10-21  Simon Josefsson  <jas@extundo.com>
82750
82751         * modules/des, modules/des-tests: New files.
82752
82753         * modules/gc-des, modules/gc-des-tests: New files.
82754
82755         * tests/test-des.c, tests/test-gc-des.c: New file.
82756
82757 2005-10-21  Simon Josefsson  <jas@extundo.com>
82758
82759         * modules/arctwo, modules/arctwo-tests: New files.
82760
82761         * tests/test-arctwo.c: New file.
82762
82763         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
82764
82765         * tests/test-gc-arctwo.c: New file.
82766
82767 2005-10-21  Simon Josefsson  <jas@extundo.com>
82768
82769         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
82770         Bruno Haible <bruno@clisp.org>.
82771
82772         * m4/gc-des.m4: New file.
82773
82774 2005-10-21  Simon Josefsson  <jas@extundo.com>
82775
82776         * m4/arctwo.m4: New file.
82777
82778         * m4/gc-arctwo.m4: New file.
82779
82780 2005-10-21  Simon Josefsson  <jas@extundo.com>
82781
82782         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
82783         block.
82784
82785 2005-10-21  Simon Josefsson  <jas@extundo.com>
82786
82787         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
82788         <bruno@clisp.org>.
82789
82790         * lib/hmac-sha1.c (hmac_sha1): Likewise.
82791
82792         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
82793         Bruno Haible <bruno@clisp.org>.
82794
82795         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
82796         <bruno@clisp.org>.
82797
82798 2005-10-21  Simon Josefsson  <jas@extundo.com>
82799
82800         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
82801
82802 2005-10-21  Simon Josefsson  <jas@extundo.com>
82803
82804         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
82805
82806 2005-10-21  Simon Josefsson  <jas@extundo.com>
82807
82808         * lib/des.h, lib/des.c: New files.
82809
82810         * lib/gc-gnulib.c: Support DES.c
82811
82812 2005-10-21  Simon Josefsson  <jas@extundo.com>
82813
82814         * lib/arctwo.h, lib/arctwo.c: New files.
82815
82816         * lib/gc-gnulib.c: Support ARCTWO.
82817
82818 2005-10-21  Simon Josefsson  <jas@extundo.com>
82819
82820         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
82821         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82822
82823 2005-10-21  Simon Josefsson  <jas@extundo.com>
82824
82825         * gnulib-tool (func_import, func_create_testdir): Define automake
82826         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
82827         Makefile.am snippet),
82828         suggested by Bruno Haible <bruno@clisp.org>.
82829
82830         * modules/gc (Makefile.am): Use it.
82831
82832 2005-10-21  Bruno Haible  <bruno@clisp.org>
82833
82834         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
82835         patch.
82836
82837 2005-10-19  Simon Josefsson  <jas@extundo.com>
82838
82839         * tests/test-gc-rijndael.c: New file.
82840
82841         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
82842
82843 2005-10-19  Simon Josefsson  <jas@extundo.com>
82844
82845         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
82846         interface too.
82847
82848 2005-10-19  Simon Josefsson  <jas@extundo.com>
82849
82850         * tests/test-gc-arcfour.c: New file.
82851
82852         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
82853
82854 2005-10-19  Simon Josefsson  <jas@extundo.com>
82855
82856         * modules/gc-md4, modules/gc-md4-tests: New file.
82857
82858         * tests/test-gc-md4.c: New file.
82859
82860 2005-10-19  Simon Josefsson  <jas@extundo.com>
82861
82862         * m4/gc-md4.m4: New file.
82863
82864 2005-10-19  Simon Josefsson  <jas@extundo.com>
82865
82866         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
82867         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
82868         <kasal@ucw.cz>.
82869
82870 2005-10-19  Simon Josefsson  <jas@extundo.com>
82871
82872         * m4/gc-arcfour.m4: New file.
82873
82874         * m4/gc-rijndael.m4: New file.
82875
82876 2005-10-19  Simon Josefsson  <jas@extundo.com>
82877
82878         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
82879
82880 2005-10-19  Simon Josefsson  <jas@extundo.com>
82881
82882         * lib/gc-gnulib.c: Support ARCFOUR.
82883
82884 2005-10-19  Simon Josefsson  <jas@extundo.com>
82885
82886         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
82887         support.
82888
82889         * lib/gc.h: Add ECB enum type.
82890
82891         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
82892
82893 2005-10-18  Simon Josefsson  <jas@extundo.com>
82894
82895         * tests/test-md5.c: New file.
82896
82897         * modules/md5-tests: New file.
82898
82899 2005-10-18  Simon Josefsson  <jas@extundo.com>
82900
82901         * tests/test-md4.c: New file.
82902
82903         * modules/md4, modules/md4-tests: New files.
82904
82905 2005-10-18  Simon Josefsson  <jas@extundo.com>
82906
82907         * m4/md4.m4: New file.
82908
82909 2005-10-18  Simon Josefsson  <jas@extundo.com>
82910
82911         * lib/md4.h, lib/md4.c: New files, based on md5.?.
82912
82913 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
82914
82915         * gnulib-tool (func_create_testdir): Omit the second check whether
82916         BUILT_SOURCES in nonempty.
82917
82918 2005-10-17  Simon Josefsson  <jas@extundo.com>
82919
82920         * tests/test-rijndael.c: New file.
82921
82922 2005-10-17  Simon Josefsson  <jas@extundo.com>
82923
82924         * modules/sha1: Depend on stdint instead of md5.
82925
82926         * modules/md5: Depend on stdint, remove uint32_t.
82927
82928 2005-10-17  Simon Josefsson  <jas@extundo.com>
82929
82930         * modules/gc-sha1-tests: New file.
82931
82932         * tests/test-gc-sha1.c: New file.
82933
82934 2005-10-17  Simon Josefsson  <jas@extundo.com>
82935
82936         * m4/md5.m4: Remove call to uint32_t.m4.
82937
82938 2005-10-17  Simon Josefsson  <jas@extundo.com>
82939
82940         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
82941
82942         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
82943         md5.h.
82944
82945         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
82946
82947         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
82948
82949 2005-10-17  Simon Josefsson  <jas@extundo.com>
82950
82951         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
82952
82953 2005-10-17  Simon Josefsson  <jas@extundo.com>
82954
82955         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
82956
82957 2005-10-17  Simon Josefsson  <jas@extundo.com>
82958
82959         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
82960
82961         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
82962
82963 2005-10-17  Bruno Haible  <bruno@clisp.org>
82964
82965         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
82966         that it can also be used in a test.
82967
82968 2005-10-16  Bruno Haible  <bruno@clisp.org>
82969
82970         * gnulib-tool (func_emit_tests_Makefile_am): Also define
82971         TESTS_ENVIRONMENT, so that individual tests can augment it.
82972
82973         * gnulib-tool (func_create_testdir): Use an intermediate target for
82974         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
82975         macros, like $(ALLOCA_H), which cannot be passed through the command
82976         line.
82977
82978 2005-10-15  Simon Josefsson  <jas@extundo.com>
82979
82980         * modules/rijndael-tests: New file.
82981
82982         * modules/rijndael: New file.
82983
82984 2005-10-15  Simon Josefsson  <jas@extundo.com>
82985
82986         * m4/rijndael.m4: New file.
82987
82988 2005-10-15  Simon Josefsson  <jas@extundo.com>
82989
82990         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
82991
82992         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
82993
82994 2005-10-14  Simon Josefsson  <jas@extundo.com>
82995
82996         * tests/test-arcfour.c: New file.
82997
82998         * modules/arcfour, modules/arcfour-tests: New files.
82999
83000 2005-10-14  Simon Josefsson  <jas@extundo.com>
83001
83002         * m4/arcfour.m4: New file.
83003
83004 2005-10-14  Simon Josefsson  <jas@extundo.com>
83005
83006         * lib/arcfour.h, lib/arcfour.c: New files.
83007
83008 2005-10-14  Roland McGrath  <roland@redhat.com>
83009
83010         Import from libc.  [BZ #1331]
83011         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
83012         macro argument.
83013         Reported by Matej Vela <vela@debian.org>.
83014
83015 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
83016
83017         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
83018         include <wchar.h>; no longer needed.
83019
83020 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
83021
83022         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
83023
83024 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
83025         and  Ulrich Drepper  <drepper@redhat.com>
83026
83027         Import from libc.
83028         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
83029         instead of inline stream orientation test and two separate
83030         function calls.  Pay no attention to USE_IN_LIBIO.
83031
83032 2005-10-13  Simon Josefsson  <jas@extundo.com>
83033
83034         * modules/gc-hmac-md5-tests: New file.
83035
83036         * tests/test-gc-hmac-sha1.c: New file.
83037
83038         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
83039
83040         * modules/gc-hmac-md5-tests: New file.
83041
83042         * tests/test-gc-md5.c: New file.
83043
83044         * modules/gc-md5-tests: New file.
83045
83046 2005-10-13  Simon Josefsson  <jas@extundo.com>
83047
83048         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
83049         Move memory allocation outside of loop.
83050
83051 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
83052
83053         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
83054         intermediate directory is in a read-only file system.  Problem
83055         reported by Eric Blake.
83056
83057 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
83058
83059         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
83060
83061 2005-10-12  Simon Josefsson  <jas@extundo.com>
83062
83063         * tests/test-hmac-sha1.c: New file.
83064
83065         * modules/hmac-sha1-tests: New file.
83066
83067         * modules/hmac-sha1: New file.
83068
83069 2005-10-12  Simon Josefsson  <jas@extundo.com>
83070
83071         * modules/gc-sha1: New file.
83072
83073 2005-10-12  Simon Josefsson  <jas@extundo.com>
83074
83075         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
83076
83077         * tests/test-gc-pbkdf2-sha1.c: New file.
83078
83079 2005-10-12  Simon Josefsson  <jas@extundo.com>
83080
83081         * modules/gc-md5, modules/gc-hmac-md5: New files.
83082
83083         * modules/gc (Files): Remove md5, memxor and hmac files.
83084
83085 2005-10-12  Simon Josefsson  <jas@extundo.com>
83086
83087         * m4/gc-pbkdf2-sha1.m4: New file.
83088
83089         * m4/gc-hmac-sha1.m4: New file.
83090
83091         * m4/gc-sha1: New file.
83092
83093         * m4/hmac-sha1.m4: New file.
83094
83095 2005-10-12  Simon Josefsson  <jas@extundo.com>
83096
83097         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
83098
83099         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
83100
83101 2005-10-12  Simon Josefsson  <jas@extundo.com>
83102
83103         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
83104         suggested by Bruno Haible <bruno@clisp.org>.
83105
83106 2005-10-12  Simon Josefsson  <jas@extundo.com>
83107
83108         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
83109
83110 2005-10-12  Simon Josefsson  <jas@extundo.com>
83111
83112         * lib/gc-pbkdf2-sha1.c: New file.
83113
83114         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
83115
83116 2005-10-12  Simon Josefsson  <jas@extundo.com>
83117
83118         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
83119
83120         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
83121
83122 2005-10-12  Simon Josefsson  <jas@extundo.com>
83123
83124         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
83125         GC_USE_HMAC_MD5, respectively.
83126
83127         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
83128         (gc_md5): Fix typo.
83129
83130         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
83131
83132         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
83133
83134         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
83135
83136 2005-10-12  Bruno Haible  <bruno@clisp.org>
83137
83138         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
83139         Reported by Stepan Kasal <kasal@ucw.cz>.
83140
83141 2005-10-11  Simon Josefsson  <jas@extundo.com>
83142
83143         * tests/test-crc.c: New file.
83144
83145         * modules/crc, modules/crc-tests: New files.
83146
83147 2005-10-11  Simon Josefsson  <jas@extundo.com>
83148
83149         * m4/crc.m4: New file.
83150
83151 2005-10-11  Simon Josefsson  <jas@extundo.com>
83152
83153         * lib/gc.h: Add gc_hash and gc_hash_buffer.
83154
83155         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
83156
83157         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
83158
83159 2005-10-11  Simon Josefsson  <jas@extundo.com>
83160
83161         * lib/crc.h, lib/crc.c: New files.
83162
83163         * lib/gc.h (gc_hash_buffer): Add doc.
83164
83165 2005-10-11  Bruno Haible  <bruno@clisp.org>
83166
83167         * modules/c-strcasestr: New file.
83168         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
83169
83170 2005-10-11  Bruno Haible  <bruno@clisp.org>
83171
83172         * modules/c-strcase: New file.
83173         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
83174
83175 2005-10-11  Bruno Haible  <bruno@clisp.org>
83176
83177         * lib/strcasecmp.c: Include limits.h.
83178         (strcasecmp): Avoid integer overflow on exotic platforms.
83179         * lib/strncasecmp.c: Include limits.h.
83180         (strncasecmp): Avoid integer overflow on exotic platforms.
83181         Reported by Paul Eggert.
83182
83183 2005-10-11  Bruno Haible  <bruno@clisp.org>
83184
83185         * lib/c-strcasestr.h: New file, from GNU gettext.
83186         * lib/c-strcasestr.c: New file, from GNU gettext.
83187
83188 2005-10-11  Bruno Haible  <bruno@clisp.org>
83189
83190         * lib/c-strcase.h: New file, from GNU gettext.
83191         * lib/c-strcasecmp.c: New file, from GNU gettext.
83192         * lib/c-strncasecmp.c: New file, from GNU gettext.
83193
83194 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
83195
83196         * modules/mempcpy (License): GPL -> LGPL.
83197         * modules/strchrnul (License): Likewise.
83198         * modules/sysexits (License): Likewise.
83199
83200 2005-10-08  Simon Josefsson  <jas@extundo.com>
83201
83202         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
83203
83204 2005-10-07  Simon Josefsson  <jas@extundo.com>
83205
83206         * m4/memxor.m4: Remove gl_C_RESTRICT call.
83207
83208 2005-10-06  Simon Josefsson  <jas@extundo.com>
83209
83210         * tests/test-hmac-md5.c: New file.
83211
83212         * modules/hmac-md5-tests: New file.
83213
83214         * modules/hmac-md5: New file.
83215
83216 2005-10-06  Simon Josefsson  <jas@extundo.com>
83217
83218         * m4/hmac-md5.m4: New file.
83219
83220         * m4/memxor.m4: Require gl_C_RESTRICT.
83221
83222 2005-10-06  Simon Josefsson  <jas@extundo.com>
83223
83224         * lib/memxor.c (memxor): Avoid casts and warnings.
83225
83226 2005-10-06  Simon Josefsson  <jas@extundo.com>
83227
83228         * lib/hmac-md5.c: New file.
83229
83230         * lib/hmac.h: New file.
83231
83232 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
83233
83234         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
83235         promotes to int, not unsigned int, to catch the AIX 5.3
83236         compiler bug.
83237
83238 2005-10-05  Simon Josefsson  <jas@extundo.com>
83239
83240         * modules/memxor: New file.
83241
83242         * modules/iconv (Files): Move config.rpath to havelib, it is used
83243         there.
83244
83245         * modules/havelib (Files): Add config.rpath.
83246
83247 2005-10-05  Simon Josefsson  <jas@extundo.com>
83248
83249         * m4/memxor.m4: New file.
83250
83251 2005-10-05  Simon Josefsson  <jas@extundo.com>
83252
83253         * lib/memxor.c (memxor): Fix compiler error.
83254
83255         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
83256         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
83257
83258         * lib/memxor.h, lib/memxor.c: New files.
83259
83260         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
83261         we assume all systems have it, suggested by Jim Meyering
83262         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
83263         any systems lack sys/socket.h; mingw32 is known to lack it, but we
83264         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
83265         same reasons.
83266
83267 2005-10-05  Simon Josefsson  <jas@extundo.com>
83268
83269         * config/srclist.txt: Add glibc bug 1423 for md5.h.
83270
83271 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
83272
83273         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
83274         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
83275         needed, since the source code now assumes these .h files.
83276
83277 2005-10-05  Derek Price  <derek@ximbiot.com>
83278
83279         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
83280
83281 2005-10-05  Bruno Haible  <bruno@clisp.org>
83282
83283         * modules/stdint (License): Change to LGPL.
83284
83285 2005-10-04  Simon Josefsson  <jas@extundo.com>
83286
83287         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
83288         D. Baushke" <mdb@gnu.org>.
83289
83290 2005-10-04  Bruno Haible  <bruno@clisp.org>
83291
83292         * lib/verify.h (verify_true): Provide alternative definition for C++.
83293
83294 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
83295
83296         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
83297         (SSIZE_MAX): New macro, if not already defined.
83298         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
83299         than 2 GiB.
83300
83301 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
83302
83303         Sync from coreutils.
83304         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
83305         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
83306         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
83307         ULLONG_MAX doesn't work with 2.7.2.1.
83308
83309 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
83310
83311         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
83312         From Ben Pfaff.
83313
83314         * modules/exclude (Depends-on): Depend on verify.
83315         * modules/strtoimax (Depends-on): Likewise.
83316         * modules/utimecmp (Depends-on): Likewise.
83317
83318 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
83319
83320         * lib/exclude.c: Include verify.h.
83321         (verify): Remove.  All callers changed to use verify.h's version.
83322         * lib/strtoimax.c: Likewise.
83323         * lib/utimecmp.c: Likewis.e
83324
83325         Sync from coreutils.
83326         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
83327         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
83328         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
83329         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
83330         bother returning ENOSYS if settimeofday or stime fails; just let
83331         them return whatever errno they want to return.
83332         * lib/utimens.c: Include unistd.h, for dup2.
83333         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
83334         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
83335
83336 2005-10-02  Jim Meyering  <jim@meyering.net>
83337
83338         Sync from coreutils.
83339         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
83340         from glibc-2.2.5 that fails for read-only files.
83341
83342 2005-10-02  Jim Meyering  <jim@meyering.net>
83343
83344         Sync from coreutils.
83345         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
83346         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
83347         `#if HAVE_CONFIG_H'.
83348         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
83349         Remove AT_FDCWD test.
83350         Do not consume the fd unless successful.
83351         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
83352         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
83353         block, so that we don't even try to compile it if settimeofday is
83354         available.  This works around a compilation failure on OSF1 V5.1,
83355         due to stime requiring a `long int*' while tv_sec is `int'.
83356
83357 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
83358
83359         Sync from coreutils.
83360         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
83361         against `yes', rather than just testing for nonempty.
83362
83363 2005-10-01  Simon Josefsson  <jas@extundo.com>
83364
83365         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
83366         and Darwin.
83367
83368         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
83369         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
83370         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
83371         freeaddrinfo and gai_strerror are declared by the POSIX headers.
83372         Check if struct addrinfo is declared.
83373
83374 2005-10-01  Simon Josefsson  <jas@extundo.com>
83375
83376         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
83377         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
83378         AI_* and EAI_* definitions.  Protect function declarations.
83379
83380 2005-10-01  Jim Meyering  <jim@meyering.net>
83381
83382         Sync from coreutils.
83383
83384         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
83385         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
83386         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
83387         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
83388         in the inet and nsl libraries.  Required on Solaris 5.7.
83389
83390 2005-10-01  Jim Meyering  <jim@meyering.net>
83391
83392         Sync from coreutils.
83393         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
83394         in the inet and nsl libraries.  Required on Solaris 5.7.
83395
83396 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
83397
83398         * lib/getdelim.c (getdelim): Remove unused variables.
83399
83400 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
83401
83402         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
83403         so that the code works even with ancient cpp.  Portability problem
83404         with GCC 2.7.2.1 reported by Thomas M.Ott.
83405
83406 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
83407
83408         * modules/regex (Depends-on): Add strcase.
83409
83410         * modules/gethostname (Licence): Change from GPL to LGPL, since
83411         gethostname.c is a trivial implementation of a standard library
83412         function.
83413         * modules/poll (License): Change from GPL to LGPL, since it's
83414         derived from LGPL code.
83415
83416 2005-09-27  Jim Meyering  <jim@meyering.net>
83417
83418         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
83419         HAVE_CONFIG_H.
83420
83421         * lib/intprops.h (signed_type_or_expr__): Define.
83422         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
83423         for unsigned types.
83424
83425 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
83426
83427         * lib/verify.h (verify_expr): Remove, replacing with:
83428         (verify_true): New macro that returns true instead of void.
83429         (verify_type__): Remove.
83430         (verify): Use verify_true rather than verify_type__.
83431
83432 2005-09-26  Bruno Haible  <bruno@clisp.org>
83433
83434         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
83435         is necessary.
83436         (lib_SOURCES): Remove mbchar.c.
83437         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
83438         (Files): Add m4/mbrtowc.m4.
83439         * modules/mbiter: Likewise.
83440         * modules/mbuiter: Likewise.
83441
83442 2005-09-26  Bruno Haible  <bruno@clisp.org>
83443
83444         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
83445         compile mbchar.c if they are not both present.
83446         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
83447         * m4/mbiter.m4 (gl_MBITER): Likewise.
83448         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
83449         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
83450         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
83451
83452 2005-09-25  Jim Meyering  <jim@meyering.net>
83453
83454         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
83455         also uses socklen_t.
83456
83457 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
83458
83459         * lib/utimens.c (ENOSYS): Define if not already defined.
83460         (futimens): Support having a null PATH if the file descriptor
83461         is nonnegative.
83462
83463         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
83464         Remove.
83465         (__attribute): Define to empty unless GCC 3.1 or later.
83466         This works around a core dump on OpenBSD 3.4, which has GCC
83467         2.95.3, which dumps core when given __attribute__(()).  It also
83468         simplifies other tests, since we really don't want to bother with
83469         worrying about which ancient version of GCC supported what.
83470         Original problem reported by Yoann Vandoorselaere, with part of
83471         the fix suggested by Derek Price.
83472
83473 2005-09-24  Jim Meyering  <jim@meyering.net>
83474
83475         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
83476         so we can once again use a positive bitfield width of 1 -- now we
83477         don't have to explain why we were using a bitfield width of 2.
83478
83479 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
83480
83481         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
83482         and similarly for the other external symbols.  Problem reported
83483         by James Gallager.
83484
83485         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
83486         bug reported by Jim Meyering.
83487
83488         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
83489         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
83490         not needed, since socklen is a prerequisite module.
83491
83492 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
83493
83494         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
83495         Problem reported by Eric Blake.
83496         (getaddrinfo): Initialize se so that it's not garbage.
83497         Redo internal storage allocation so that it doesn't make unportable
83498         assumptions about alignment.
83499         Fix a memory leak.
83500
83501         * lib/utimens.c (futimens): Use futimesat if available.
83502         Prefer it to futimes since it doesn't have the futimes bug.
83503
83504         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
83505         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
83506         Instead, declare a function that returns a pointer to an array,
83507         and use verify_type__ to declare the size of the array.
83508         Problem and germ of a solution reported by Bruno Haible.
83509         (verify_type__): Use 2, not 1, for bitfield size, to avoid
83510         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
83511
83512 2005-09-23  Jim Meyering  <jim@meyering.net>
83513
83514         Sync from coreutils.
83515         Correct build failure (socklen_t not defined) on at least
83516         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
83517         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
83518
83519 2005-09-23  Jim Meyering  <jim@meyering.net>
83520
83521         * modules/getaddrinfo (Depends-on): Add socklen.
83522
83523 2005-09-23  Bruno Haible  <bruno@clisp.org>
83524
83525         * tests/test-verify.c: New file.
83526
83527 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
83528
83529         Sync from coreutils.
83530
83531         * modules/argmatch (Depends-on): Add verify.
83532         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
83533         unistd-safer.
83534         * modules/save-cwd (Depends-on): Likewise.
83535
83536         * modules/openat (Files): Add lib/openat-die.c.
83537         (Depends-on): Remove error, exitfail.
83538         Add dirname.
83539
83540         * modules/verify: New file.
83541         * MODULES.html.sh (Diagnostics <assert.h>): New section,
83542         with "verify" module.
83543
83544 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
83545
83546         Sync from coreutils.
83547
83548         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
83549         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
83550         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
83551         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
83552         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
83553         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
83554         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
83555         Don't bother checking for string.h, stdlib.h, unistd.h.
83556         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
83557         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
83558         module's job.
83559         * m4/jm-macros.m4 (gl_MACROS): Likewise.
83560         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
83561
83562         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
83563         (gl_GETDATE): Use it.
83564
83565         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
83566
83567 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
83568
83569         Sync from coreutils.
83570
83571         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
83572         stat-time.h.
83573         * lib/argmatch.h: Include verify.h
83574         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
83575         (ARGMATCH_ASSERT): Remove; unused.
83576         * lib/canonicalize.c: Assume STDC_HEADERS.
83577         * lib/exclude.c: Include "strcase.h".
83578         * lib/regex_internal.h [!defined _LIBC]: Likewise.
83579         * lib/getusershell.c: Include stdio--.h rather than stdio.h
83580         and stdio-safer.h.
83581         (getusershell): Call fopen, not fopen_safer.
83582         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
83583         Do not include unistd-safer.h.
83584         (save_cwd): Don't call fd_safer; no longer needed
83585         now that we include fcntl--.h.
83586
83587         * lib/getdate.y (relative_time): New type.
83588         (RELATIVE_TIME_0): New constant.
83589         (parser_control): Use relative_time instead of doing it ourselves.
83590         (%union): Add new relative_time rel member.
83591         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
83592         Now typeless.
83593         (relunit, relunit_snumber): Now of type rel.
83594         (zone, rel, relunit, get_date): Adjust to above changes.
83595
83596         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
83597         Do not include unistd-safer.h.
83598         (getloadavg): Don't call fd_safer; no longer needed
83599         now that we include fcntl--.h.
83600
83601         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
83602         (make_dir_parents): Treat ENOSYS like EEXIST.
83603
83604         Improve quality of diagnostics on restore_cwd failure.
83605         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
83606         (make_dir_parents): Last arg is now int * (for errno), not bool *.
83607         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
83608         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
83609         each time through the loop.  Do not diagnose restore_cwd failure;
83610         that is the caller's job (and perhaps the caller does not care).
83611
83612         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
83613         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
83614         If the file already exists but is not a directory, don't bother
83615         to try to make its parents.
83616         Close potential file descriptor leak if we can't chdir("/") (!).
83617         Don't always return true if chdir($PWD) fails; return true only
83618         if the requested action was done successfully (except for the
83619         chdir($PWD)).
83620         Don't log final directory unless we actually made it.
83621         Refactor to avoid duplicate code to fix up permissions.
83622         Don't attempt to fix up parent permissions if chdir($PWD) fails.
83623
83624         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
83625         to make it a bit faster and (I hope) clearer.
83626         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
83627         Fix bug in formats like %2N.
83628
83629         * lib/verify.h: New file.
83630
83631 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
83632
83633         Sync from coreutils.
83634         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
83635
83636 2005-09-22  Jim Meyering  <jim@meyering.net>
83637
83638         Sync from coreutils.
83639
83640         * m4/lstat.m4 (gl_FUNC_LSTAT):
83641         Use AC_LIBSOURCES to require lstat.c and lstat.h.
83642         Remove obsolete comment.
83643         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
83644         * m4/xstrtod.m4: Likewise.
83645
83646         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
83647
83648 2005-09-22  Jim Meyering  <jim@meyering.net>
83649
83650         Sync from coreutils.
83651
83652         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
83653
83654         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
83655         the .tm_year member, since otherwise gcc-4.0 would now warn about
83656         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
83657
83658         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
83659         order to avoid an unsuppressible warning from gcc on 64-bit systems.
83660
83661         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
83662         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
83663         when run in a time zone for which daylight savings time is in effect
83664         for the starting date.
83665
83666         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
83667         stop us from restricting permissions of just-created absolute-named
83668         directories.
83669         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
83670         to restore initial working directory.
83671         * lib/mkdir-p.c (make_dir_parents): New parameter:
83672         different_working_dir, to tell caller if/when we change the working
83673         directory and are unable to return to the initial one.
83674         * lib/mkdir-p.h (make_dir_parents): Update prototype.
83675         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
83676         `return false'.  This fixes a bug introduced on 2004-07-30.
83677
83678         * lib/openat.c (fdopendir): Be sure to close the supplied
83679         file descriptor before returning.  This makes our replacement
83680         implementation a little closer to Solaris's, where fdopendir
83681         ties the file descriptor to the returned DIR* pointer.
83682         * lib/openat.c (unlinkat): New function.
83683         * lib/openat.h (unlinkat): Add prototype.
83684         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
83685         (openat_restore_fail): Rename from openat_restore_die.
83686         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
83687
83688         Provide an alternative to exiting immediately upon save_cwd or
83689         restore_cwd failure.  Now, an application can arrange e.g.,
83690         to perform a longjump in that case.
83691         * lib/openat.c: Include dirname.h.
83692         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
83693         (rpl_openat, fdopendir, fstatat): Call openat_save_die
83694         and openat_restore_die rather than calling error directly.
83695         Don't include "error.h" or "exitfail.h"; they're no longer needed.
83696
83697         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
83698         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
83699         define.
83700
83701         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
83702         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
83703                             int utc, int nanoseconds);
83704         Background:
83705         date should not have to allocate a megabyte of virtual memory to
83706         handle a format argument like +%1048575T.  When implemented with
83707         strftime, it must allocate such a buffer, use strftime to fill it
83708         in, print it, then free it.
83709         With fprintftime, it simply prints everything and exits.
83710         With no need for memory allocation, that's one fewer way to fail.
83711         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
83712         optional field width, not before, so we accept %9:z, not %:9z.
83713         (my_strftime): Be sure to use L_('x') for literals.
83714
83715         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
83716         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
83717         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
83718         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
83719         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
83720         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
83721         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
83722         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
83723         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
83724         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
83725         * lib/xgethostname.c, lib/xreadlink.c:
83726         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
83727
83728         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
83729         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
83730         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
83731         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
83732         and don't include <sys/file.h>).
83733
83734 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
83735
83736         Sync from coreutils.
83737
83738         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
83739         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
83740         [!LDAV_DONE]: Avoid unused variable warning.
83741
83742 2005-09-21  Bruno Haible  <bruno@clisp.org>
83743
83744         * lib/unicodeio.h (unicode_to_mb): New declaration.
83745
83746 2005-09-20  Derek Price  <derek@ximbiot.com>
83747
83748         * lib/getaddrinfo.c: Don't include <netdb.h> included from
83749         getaddrinfo.h.
83750
83751 2005-09-20  Bruno Haible  <bruno@clisp.org>
83752
83753         * gnulib-tool: Remove trailing slashes from the values specified for
83754         --source-base, --m4-base, --tests-base, --aux-dir.
83755         Suggested by Simon Josefsson <jas@extundo.com>.
83756
83757 2005-09-20  Bruno Haible  <bruno@clisp.org>
83758
83759         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
83760         func_modules_to_filelist, func_import, func_create_testdir): Make all
83761         sorting results locale-independent, so that gnulib-cache.m4 doesn't
83762         change when gnulib-tool is invoked in a different locale.
83763
83764 2005-09-19  Simon Josefsson  <jas@extundo.com>
83765
83766         * m4/socklen.m4: Fix typo.
83767
83768 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83769
83770         Use a consistent style for including <config.h>.
83771         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
83772         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
83773         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
83774         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
83775         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
83776         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
83777         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
83778         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
83779         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
83780         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
83781         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
83782         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
83783         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
83784         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
83785         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
83786         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
83787         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
83788         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
83789         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
83790         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
83791         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
83792         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
83793         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
83794         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
83795         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
83796         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
83797         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
83798         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
83799         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
83800         lib/xstrtoumax.c, lib/yesno.c:
83801         Standardize inclusion of config.h.
83802         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
83803         lib/inttostr.h:  Removed inclusion of config.h from header files.
83804         * lib/inttostr.c:  Adjusted in-tree users.
83805         * lib/timespec.h: Remove superfluous warning to include config.h.
83806         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
83807         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
83808         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
83809         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
83810         config.h with HAVE_CONFIG_H.
83811
83812 2005-09-19  Jim Meyering  <jim@meyering.net>
83813
83814         * modules/pathmax (License): Change to LGPL.
83815
83816 2005-09-19  Derek Price  <derek@ximbiot.com>
83817
83818         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
83819
83820 2005-09-19  Bruno Haible  <bruno@clisp.org>
83821
83822         * gnulib-tool (import): Provide default for --tests-base.
83823
83824 2005-09-19  Bruno Haible  <bruno@clisp.org>
83825
83826         * doc/quote.texi: New file, extracted from gnulib.texi.
83827         * doc/ctime.texi: New file, extracted from gnulib.texi.
83828         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
83829         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
83830         * doc/gnulib.texi: Include them.
83831
83832 2005-09-18  Bruno Haible  <bruno@clisp.org>
83833
83834         Portability fix.
83835         * gnulib-tool (func_readlink): New function.
83836         (func_ln_if_changed): Use it.
83837
83838 2005-09-18  Bruno Haible  <bruno@clisp.org>
83839
83840         * gnulib-tool: Support --with-tests also with --import.
83841         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
83842         (func_import): Use variables $testsbase and $inctests. Emit a
83843         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
83844         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
83845         SUBDIRS += $testsdir.
83846         (func_create_testdir): Update.
83847
83848 2005-09-18  Bruno Haible  <bruno@clisp.org>
83849
83850         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
83851         instead of $dry_run.
83852         (func_cp_if_changed, func_mv_if_changed): Remove functions.
83853         (func_ln_if_changed): Don't handle dry-run here.
83854         (func_import): In dry-run mode, detect more precisely which actions
83855         would be performed, and don't use "...ing" verbs.
83856
83857 2005-09-18  Bruno Haible  <bruno@clisp.org>
83858
83859         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
83860         (func_import): Use join on two temporary files instead of three nested
83861         loops, in order to determine which files are new or old.
83862
83863 2005-09-18  Bruno Haible  <bruno@clisp.org>
83864
83865         * gnulib-tool (func_import): Comment out code that spits out the
83866         new files with --dry-run.
83867
83868 2005-09-18  Bruno Haible  <bruno@clisp.org>
83869
83870         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
83871
83872 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
83873
83874         * lib/stat-time.h: New file.
83875         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
83876         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
83877         in a different way.
83878         (timespec_cmp): New function.
83879         * lib/utimecmp.c: Include stat-time.h.
83880         (SYSCALL_RESOLUTION): Depend on whether various struct stat
83881         members exist, not on the obsolescent ST_MTIM_NSEC.
83882         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
83883
83884 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
83885
83886         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
83887
83888 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
83889
83890         * MODULES.html.sh (File system functions): Add stat-time.
83891         * modules/stat-time: New file.
83892         * modules/timespec (Files): Remove m4/st_mtim.m4; this
83893         is now done in a different way, by the stat-time module.
83894         * modules/utimecmp (Depends-on): Add stat-time.
83895
83896 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
83897
83898         * m4/st_mtim.m4: Remove.  Superseded by...
83899         * m4/stat-time.m4: New file.
83900         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
83901         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
83902
83903 2005-09-15  Derek Price  <derek@ximbiot.com>
83904
83905         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
83906
83907 2005-09-15  Derek Price  <derek@ximbiot.com>
83908
83909         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
83910         * lib/regex_internal.c: Ditto, using this...
83911         (__GNUC_PREREQ): ...new macro.
83912         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
83913         using...
83914         (__GNUC_PREREQ): ...this new macro.
83915
83916         * lib/strstr.h: Include string.h. Define strstr as a macro here.
83917
83918 2005-09-15  Derek Price  <derek@ximbiot.com>
83919             Paul Eggert  <eggert@cs.ucla.edu>
83920
83921         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
83922         changes, consolidating in...
83923         * lib/regex_internal.h: ...this file.
83924
83925 2005-09-13  Jim Meyering  <jim@meyering.net>
83926
83927         * lib/canon-host.c: Filter through gnu indent and reword comments
83928         slightly.
83929         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
83930
83931 2005-09-13  Derek Price  <derek@ximbiot.com>
83932
83933         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
83934         failure.
83935         Reported by Jim Meyering  <jim@meyering.net>.
83936
83937 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
83938
83939         * lib/base64.c: Typo.
83940         (base64_encode): Put b64str in initialized data section.
83941
83942 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
83943
83944         Merge glibc and coreutils changes into gnulib, plus a few
83945         extra fixes.
83946         * lib/md5.c: Use #error rather than a string.
83947         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
83948         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
83949         (__attribute__): Define to empty for non recent-GCC.
83950         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
83951         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
83952         Renamed from their non-__ counterparts, with new macros replacing
83953         them if not _LIBC.  Add __THROW attribute.
83954         (rol): Remove.
83955         (struct md5_ctx): Align buffer if using GCC.
83956         * lib/sha1.h (struct sha1_ctx): Likewise.
83957         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
83958         The old name was backwards.
83959         (NOTSWAP): Remove; not used.
83960         (rol): New macro, moved here from md5.h.
83961         (sha1_process_block): Remove a FIXME that doesn't make sense.
83962
83963 2005-09-12  Derek Price  <derek@ximbiot.com>
83964
83965         Return usable errors from canon-host.
83966         * lib/canon-host.h: New file.
83967         * lib/canon-host.c (canon_host): Wrap...
83968         (canon_host_r): ...this new function, which now relies exclusively on
83969         getaddrinfo.
83970         (ch_strerror): New function.
83971         (last_cherror): New global.
83972         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
83973         interface.
83974         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
83975         void *.
83976         (freeaddrinfo): Free ai->ai_canonname when set.
83977
83978 2005-09-12  Derek Price  <derek@ximbiot.com>
83979
83980         Make canon-host require getaddrinfo.
83981         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
83982         AC_LIBSOURCE canon-host.h.  Call...
83983         (gl_PREREQ_CANON_HOST): ...this new function, which requires
83984         gl_GETADDRINFO.
83985         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
83986
83987 2005-09-12  Derek Price  <derek@ximbiot.com>
83988
83989         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
83990         LGPL.
83991         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
83992
83993 2005-09-12  Derek Price  <derek@ximbiot.com>
83994
83995         * lib/gai_strerror.c: Include config.h when available.  Include
83996         getaddrinfo.h before other headers to test interface.
83997         Reported by Larry Jones <lawrence.jones@ugs.com>.
83998
83999 2005-09-12  Derek Price  <derek@ximbiot.com>
84000             Paul Eggert  <eggert@cs.ucla.edu>
84001
84002         * modules/glob (Files): Add glob-libc.h.
84003
84004 2005-09-12  Derek Price  <derek@ximbiot.com>
84005             Paul Eggert  <eggert@cs.ucla.edu>
84006
84007         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
84008         glob_.h, glob-libc.h.
84009         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
84010
84011 2005-09-12  Derek Price  <derek@ximbiot.com>
84012             Paul Eggert  <eggert@cs.ucla.edu>
84013
84014         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
84015         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
84016         protecting things that should be done only in gnulib contexts.
84017         * lib/glob_.h: New file, containing only the glob things needed for
84018         gnulib.
84019         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
84020         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
84021         (glob, globfree, glob_pattern_p): Now defined simply in terms of
84022         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
84023         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
84024         and to respect the namespace rules better.
84025
84026 2005-09-08  Simon Josefsson  <jas@extundo.com>
84027
84028         * modules/socklen: New file.
84029
84030 2005-09-08  Simon Josefsson  <jas@extundo.com>
84031
84032         * m4/socklen.m4: New file.
84033
84034 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
84035
84036         * modules/utimens (Files): Add m4/utimbuf.m4, since
84037         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
84038         Reported by Sergey Poznyakoff.
84039
84040 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
84041
84042         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
84043         definitions, since that's the preferred style in glibc.
84044         Fix a minor spacing issue, and update copyright notice to match
84045         glibc's.
84046
84047 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
84048
84049         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
84050
84051 2005-09-06  Simon Josefsson  <jas@extundo.com>
84052
84053         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
84054         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
84055
84056 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
84057
84058         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
84059         warning.
84060
84061 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
84062
84063         * config/srclist.txt: Add glibc bug 1302.
84064
84065 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
84066
84067         Change bitset word type from unsigned int to unsigned long int,
84068         as this has better performance on typical 64-bit hosts.
84069         Port bitset code to hosts with unusual word sizes.
84070         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
84071         (build_collating_symbol):
84072         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
84073         argument is a bitset.  This is merely a style issue, but it makes
84074         it clearer that an entire array is expected.
84075         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
84076         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
84077         Port to the case where bitset_word is not the same as unsigned int.
84078         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
84079         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
84080         Likewise.
84081         * lib/regexec.c (check_dst_limits_calc_pos_1,
84082         check_subexp_matching_top):
84083         (build_trtable, group_nodes_into_DFAstates):
84084         Likewise.
84085         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
84086         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
84087         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
84088         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
84089         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
84090         * lib/regcomp.c (optimize_subexps, lower_subexp):
84091         Work even if bitset_word has holes in its bitwise representation.
84092         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
84093         * lib/regexec.c (check_dst_limits_calc_pos_1,
84094         check_subexp_matching_top):
84095         Likewise.
84096         * lib/regex_internal.c (re_string_reconstruct):
84097         Don't assume UCHAR_MAX == 255.
84098         * lib/regex_internal.h (bitset_set_all): Likewise.
84099         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
84100         All uses changed.
84101         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
84102         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
84103         All uses changed.
84104         (BITSET_WORD_MAX): New macro.
84105         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
84106         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
84107         (bitset_empty, bitset_copy):
84108         Prefer sizeof (bitset) to multiplying it out ourselves.
84109         (bitset_not_merge): Remove; unused.
84110         (bitset_contain): Return bool, not unsigned int with one bit on.
84111         All callers changed.
84112         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
84113         alignment than re_node_set; do this by defining a new internal
84114         type struct dests_alloc and using it to allocate memory.
84115
84116 2005-09-05  Bruno Haible  <bruno@clisp.org>
84117
84118         * gnulib-tool (func_import): Fix comparison in handling of symbolic
84119         links.
84120
84121 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
84122
84123         * modules/size_max (Makefile.am): Add size_max.h
84124
84125 2005-09-04  Derek Price  <derek@ximbiot.com>
84126
84127         * gnulib-tool (func_import): Fix reversed $symbolic logic.
84128
84129 2005-09-03  Simon Josefsson  <jas@extundo.com>
84130
84131         * gnulib-tool: Fix typo.
84132
84133 2005-09-03  Simon Josefsson  <jas@extundo.com>
84134
84135         * config/srclist.txt: Add glibc bug 1293.
84136
84137 2005-09-03  Derek Price  <derek@ximbiot.com>
84138
84139         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
84140         From Larry Jones <lawrence.jones@ugs.com>.
84141
84142 2005-09-02  Simon Josefsson  <jas@extundo.com>
84143
84144         * modules/socklen: New file.
84145
84146 2005-09-02  Simon Josefsson  <jas@extundo.com>
84147
84148         * modules/havelib: New module.
84149
84150         * modules/gettext, modules/iconv, modules/lock, modules/readline:
84151         Use havelib.
84152
84153 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
84154
84155         Check for arithmetic overflow when calculating sizes, to prevent
84156         some buffer-overflow issues.  These patches are conservative, in the
84157         sense that when I couldn't determine whether an overflow was possible,
84158         I inserted a run-time check.
84159         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
84160         macros.
84161         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
84162         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
84163         (re_xnrealloc, re_x2nrealloc): New inline functions.
84164         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
84165         parse_bracket_exp):
84166         (build_equiv_class, build_charclass): Check for arithmetic overflow
84167         in size expression calculations.
84168         * lib/regex_internal.c (re_string_realloc_buffers):
84169         (build_wcs_upper_buffer, re_node_set_add_intersect):
84170         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
84171         (re_dfa_add_node, register_state): Likewise.
84172         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
84173         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
84174         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
84175         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
84176
84177 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
84178
84179         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
84180         m4/ulonglong.m4.  Problem reported by Martin Lambers.
84181
84182 2005-09-02  Bruno Haible  <bruno@clisp.org>
84183
84184         Support for lib vs. lib64 distinction on biarch platforms.
84185         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
84186         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
84187         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
84188
84189 2005-09-02  Bruno Haible  <bruno@clisp.org>
84190
84191         * gnulib-tool (import): In the other first-use case, provide defaults
84192         as well.
84193
84194 2005-09-02  Bruno Haible  <bruno@clisp.org>
84195
84196         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
84197         patches not yet found in the latest gettext release.
84198
84199 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
84200
84201         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
84202         to avoid a collision with bits/local_lim.h in glibc.
84203         All uses changed.  Problem reported by Dmitry V. Levin in
84204         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
84205
84206         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
84207         bugs in int versus size_t comparisons.
84208         (re_string_context_at): Fix bug where the code assumed that
84209         Idx is signed.
84210
84211         Use bool where appropriate.
84212         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
84213         All callers changed.
84214         (calc_eclosure_iter): Likewise, for ROOT arg.
84215         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
84216         (build_charclass_op): Likewise, for NON_MATCH arg.
84217         * lib/regex_internal.c (re_string_allocate, re_string_construct):
84218         (re_string_construct_common): Likewise, for ICASE arg.
84219         * lib/regexec.c (re_search_2_stub, re_search_stub):
84220         Likewise, for RET_LEN arg.
84221         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
84222         (set_regs): Likewise, for FL_BACKTRACK arg.
84223         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
84224         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
84225         (calc_eclosure_iter, parse_bracket_exp):
84226         Use bool for internal variables that are booleans.
84227         * lib/regexec.c (re_search_internal, check_matching,
84228         proceed_next_node):
84229         (set_regs, build_sifted_states, sift_states_bkref):
84230         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
84231         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
84232         (find_collation_sequence_value):
84233         Likewise.
84234         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
84235         (re_node_set_compare):
84236         Return bool, not int. All callers changed.
84237         * lib/regexec.c (check_halt_node_context, check_dst_limits):
84238         (build_trtable, check_node_accept): Likewise.
84239         * lib/regex_internal.h: Include stdbool.h.
84240
84241         Fix bugs uncovered when converting to bool.
84242         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
84243         failure instead of charging ahead blindly.
84244         * lib/regex_internal.c (register_state): Likewise.
84245         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
84246         for freeing internal storage.
84247         (group_nodes_into_DFA_states): Use unsigned int, not int, for
84248         bitset pieces used as boolean, to avoid undefined behavior
84249         on hosts that do int overflow checking.
84250
84251 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
84252
84253         * config/srclist.txt: Add glibc bugs 1285-1287.
84254
84255 2005-09-01  Jim Meyering  <jim@meyering.net>
84256
84257         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
84258         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
84259         Require gl_STAT_MACROS, too.
84260
84261 2005-09-01  Bruno Haible  <bruno@clisp.org>
84262
84263         * gnulib-tool (import): In the first-use case, provide defaults.
84264
84265 2005-09-01  Bruno Haible  <bruno@clisp.org>
84266
84267         * gnulib-tool (func_import): Remove the .tmp files.
84268
84269 2005-09-01  Bruno Haible  <bruno@clisp.org>
84270
84271         * gnulib-tool (func_import): Fix handling of symbolic links.
84272
84273 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
84274
84275         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
84276         old glibc regex code mishandles strings longer than 2**31 bytes.
84277         This patch fixes this when the regex code is used in gnulib
84278         (i.e., outside glibc).
84279
84280         This patch should not affect the use of the regex code inside
84281         glibc.  No doubt this problem also needs to be handled for glibc
84282         as well, but the result will be an incompatible change to the
84283         glibc ABI, and the old ABI will have to be supported too.  That
84284         can be the the subject for another patch.
84285
84286         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
84287         governing whether the rest of this patch is active.  By default,
84288         the macro is disabled and the patch has no effect.
84289         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
84290         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
84291         (struct re_pattern_buffer, re_search, re_search_2, re_match):
84292         (re_match_2, re_set_registers): Use the new types.
84293         * lib/regex_internal.h (Idx, re_hashval_t): New types.
84294         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
84295         New macros.
84296         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
84297         (re_string_context_at, bin_tree_t, re_dfastate_t):
84298         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
84299         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
84300         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
84301         (re_string_char_size_at, re_string_wchar_at):
84302         (re_string_elem_size_at):
84303         Use the new types and macros to port to 64-bit hosts.
84304         Use unsigned types for internal values, so that the code
84305         mostly works even for arrays larger than SSIZE_MAX.
84306         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
84307         (search_duplicated_node, calc_eclosure_iter, fetch_number):
84308         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
84309         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
84310         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
84311         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
84312         (calc_inveclosure, parse_dup_op, build_range_exp):
84313         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
84314         (fetch_number, create_token_tree, mark_opt_subexp):
84315         Likewise.
84316         * lib/regex_internal.c (re_string_construct_common,
84317         create_ci_newstate):
84318         (create_cd_newstate, re_string_allocate, re_string_construct):
84319         (re_string_realloc_buffers, build_wcs_upper_buffer):
84320         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
84321         (re_string_reconstruct, re_string_peek_byte_case):
84322         (re_string_fetch_byte_case, re_string_context_at):
84323         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
84324         (re_node_set_init_copy, re_node_set_add_intersect):
84325         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
84326         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
84327         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
84328         (re_acquire_state, re_acquire_state_context, register_state):
84329         Likewise.
84330         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
84331         search_cur_bkref_entry):
84332         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
84333         (re_search_internal, re_search_2_stub, re_search_stub)
84334         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
84335         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
84336         (update_cur_sifted_state, check_dst_limits):
84337         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
84338         (check_subexp_limits, sift_states_bkref, merge_state_array):
84339         (check_subexp_matching_top, get_subexp, get_subexp_sub):
84340         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
84341         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
84342         (expand_bkref_cache, check_node_accept_bytes):
84343         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
84344         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
84345         (acquire_init_state_context, check_halt_node_context):
84346         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
84347         (sift_states_backward, clean_state_log_if_needed):
84348         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
84349         (find_recover_state, transit_state_sb, transit_state_mb):
84350         (transit_state_bkref, build_trtable, match_ctx_clean):
84351         Likewise.
84352         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
84353         to work around an assumption that REG_MISSING is negative.
84354
84355         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
84356         (seek_collating_symbol_entry) [defined _LIBC]:
84357         (lookup_collation_sequence_value) [defined _LIBC]:
84358         (build_range_exp, build_collating_symbol) [defined _LIBC]:
84359         Use prototypes rather than old-style function definitions.
84360         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
84361         (transit_state_sb) [0]:
84362         (find_collation_sequence_value) [defined _LIBC]: Likewise.
84363
84364         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
84365         rm_eo.
84366
84367         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
84368         (optimize_subexps, lower_subexp):
84369         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
84370         since the signed shift might overflow.  Use 1u<<31 instead.
84371         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
84372         Likewise.
84373         * lib/regexec.c (check_dst_limits_calc_pos_1,
84374         check_subexp_matching_top): Likewise.
84375
84376         * lib/regcomp.c (optimize_subexps, lower_subexp):
84377         Use CHAR_BIT rather than 8, for clarity.
84378         * lib/regexec.c (check_dst_limits_calc_pos_1):
84379         (check_subexp_matching_top): Likewise.
84380         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
84381         have to worry about portability issues when shifting it left.
84382         Remove no-longer-needed test for table_size > 0.
84383         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
84384         in a word, as the resulting behavior is undefined.
84385         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
84386         in one case, a <= should have been an <, and in another case the
84387         whole test was missing.
84388         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
84389         the standard name CHAR_BIT.
84390         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
84391         this is not true on one's complement and signed-magnitude hosts.
84392
84393         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
84394         next_last_offset.
84395         (struct re_dfa_t): Remove unused member states_alloc.
84396         * lib/regcomp.c (init_dfa): Don't initialize unused members.
84397
84398 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
84399
84400         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
84401         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
84402         and large-file glibc and in 32-bit large-file Solaris.
84403
84404 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
84405
84406         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
84407         lengths fit in regoff_t; this isn't true if regoff_t is the same
84408         width as size_t.
84409         * lib/regex.c (re_search_internal): 5th arg is LAST_START
84410         (= START + RANGE) instead of RANGE.  This avoids overflow
84411         problems when regoff_t is the same width as size_t.
84412         All callers changed.
84413         (re_search_2_stub): Check for overflow when adding the
84414         sizes of the two strings.
84415         (re_search_stub): Check for overflow when adding START
84416         to RANGE; if it occurs, substitute the extreme value.
84417
84418 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
84419
84420         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
84421
84422 2005-08-31  Jim Meyering  <jim@meyering.net>
84423
84424         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
84425         a pointer-to-const.
84426         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
84427         (register_state): Likewise.
84428         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
84429         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
84430         (group_nodes_into_DFAstates): Likewise.
84431
84432 2005-08-31  Jim Meyering  <jim@meyering.net>
84433
84434         * check-module: Add a FIXME comment.
84435
84436 2005-08-31  Eric Blake  <ebb9@byu.net>
84437
84438         * modules/unistd-safer (Files): Add unistd--.h.
84439         * modules/stdio-safer (Files): Add stdio--.h.
84440
84441 2005-08-31  Derek Price  <derek@ximbiot.com>
84442
84443         * lib/getdelim.c (getdelim): Return EOF on EOF.
84444         Reported by Larry Jones <lawrence.jones@ugs.com>.
84445
84446 2005-08-31  Bruno Haible  <bruno@clisp.org>
84447
84448         Avoid unnecessary diffs in the generated lib/Makefile.am.
84449         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
84450         the generated files.
84451         (func_import): Don't set cmd.
84452
84453 2005-08-31  Bruno Haible  <bruno@clisp.org>
84454
84455         * lib/strstr.c: Include <stddef.h>, for NULL.
84456         * lib/strcasestr.c: Likewise.
84457         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
84458
84459 2005-08-31  Bruno Haible  <bruno@clisp.org>
84460
84461         * gnulib-tool: New option --macro-prefix.
84462         (func_import): Use macro_prefix.
84463         (import): Handle option --macro-prefix.
84464
84465 2005-08-31  Bruno Haible  <bruno@clisp.org>
84466
84467         * gnulib-tool (import): Rename most ac_* variables to cached_*.
84468         Also use new variables cached_lgpl, cached_libtool.
84469
84470 2005-08-31  Bruno Haible  <bruno@clisp.org>
84471
84472         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
84473         always instantiating them.
84474
84475 2005-08-31  Bruno Haible  <bruno@clisp.org>
84476
84477         * gnulib-tool (func_import): Read the previous cached settings
84478         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
84479         earlier added by gnulib but are now dropped. Warn when a gnulib file
84480         overwrites a non-gnulib file.
84481
84482 2005-08-31  Bruno Haible  <bruno@clisp.org>
84483
84484         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
84485         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
84486         projects that don't keep autogenerated files in CVS. Put into
84487         actioncmd only the specified modules, not the transitive closure.
84488
84489 2005-08-31  Bruno Haible  <bruno@clisp.org>
84490
84491         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
84492         Create directories that shall be filled.
84493         (import): Don't look for gl_* macros in configure.ac. Recurse across
84494         all directories containing a gnulib-cache.m4 files, if meaningful.
84495
84496 2005-08-31  Bruno Haible  <bruno@clisp.org>
84497
84498         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
84499         (import): Set seen_libtool when we see gl_LIBTOOL.
84500
84501 2005-08-31  Bruno Haible  <bruno@clisp.org>
84502
84503         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
84504         declaration macro definitions from generated gnulib.m4.
84505
84506 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
84507
84508         * lib/iconvme.h: Add prototype for iconv_alloc.
84509
84510 2005-08-29  Simon Josefsson  <jas@extundo.com>
84511
84512         * lib/iconvme.c: Fix errno.
84513
84514 2005-08-29  Bruno Haible  <bruno@clisp.org>
84515
84516         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
84517         that it works when the directory contains spaces.
84518
84519 2005-08-29  Bruno Haible  <bruno@clisp.org>
84520
84521         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
84522
84523 2005-08-29  Bruno Haible  <bruno@clisp.org>
84524
84525         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
84526         Emit more advice.
84527
84528 2005-08-29  Bruno Haible  <bruno@clisp.org>
84529         and Stepan Kasal  <kasal@ucw.cz>
84530
84531         * check-module: If more parameters are given, check each of them
84532         separately; add more exceptions, as noted by Jim Meyering.
84533         (check_module): New procedure.
84534         (%exempt_header): Now contains all exceptions.
84535
84536 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
84537
84538         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
84539
84540 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
84541
84542         * lib/iconvme.c: Split iconv_string into iconv_alloc.
84543
84544 2005-08-28  Bruno Haible  <bruno@clisp.org>
84545
84546         * m4/gnulib-tool.m4: New file.
84547
84548 2005-08-27  Jim Meyering  <jim@meyering.net>
84549
84550         * modules/unistd-safer (Files): Add pipe-safer.c.
84551         * modules/fcntl-safer (Files): Add creat-safer.c.
84552
84553 2005-08-27  Jim Meyering  <jim@meyering.net>
84554
84555         * m4/stdlib-safer.m4: New file.  From coreutils.
84556         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
84557         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
84558         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
84559         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
84560         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
84561
84562 2005-08-27  Jim Meyering  <jim@meyering.net>
84563
84564         * lib/fopen-safer.c: Merge minor changes from coreutils.
84565         * lib/dup-safer.c: Likewise.
84566         * lib/fd-safer.c: Likewise.
84567
84568         Merge from coreutils.
84569         * lib/stdio--.h: New file.
84570         * lib/stdlib--.h: New file.
84571         * lib/mkstemp-safer.c: New file.
84572
84573         GNU tar needs these.
84574         * lib/pipe-safer.c: New file.
84575         * lib/creat-safer.c: New file.
84576         * lib/fcntl--.h (creat): Define to creat_safer.
84577         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
84578         * lib/unistd--.h (pipe): Define to pipe_safer.
84579         * lib/unistd-safer.h: Declare pipe_safer.
84580
84581 2005-08-26  Simon Josefsson  <jas@extundo.com>
84582
84583         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
84584         Haible <bruno@clisp.org>.
84585
84586 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
84587
84588         * lib/regex_internal.h: Remove all references to
84589         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
84590         or better.
84591         (bitset_not, bitset_merge, bitset_not_merge):
84592         (bitset_mask, re_string_allocate, re_string_construct):
84593         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
84594         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
84595         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
84596         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
84597         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
84598         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
84599         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
84600         (re_acquire_state_context):
84601         Remove unnecessary forward decls.
84602         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
84603         Put __attribute at function definition,
84604         now that the function decl has been removed.
84605         * lib/regex_internal.c (re_string_peek_byte_case):
84606         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
84607         Likewise.
84608
84609 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
84610
84611         * m4/regex.m4: Add AC_PREREQ(2.50).
84612         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
84613
84614 2005-08-25  Simon Josefsson  <jas@extundo.com>
84615
84616         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
84617         __fsetlocking.
84618
84619 2005-08-25  Simon Josefsson  <jas@extundo.com>
84620
84621         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
84622         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
84623         GLIBC specific code.
84624
84625 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
84626
84627         Make regex safe for g++.  This fixes one real bug (an "err"
84628         that should have been "*err").  g++ problem reported by
84629         Sam Steingold.
84630         * lib/regex_internal.h (re_calloc): New macro, consistent with
84631         re_malloc etc.  All callers of calloc changed to use re_calloc.
84632         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
84633         not int.  All callers changed.
84634         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
84635         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
84636         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
84637         (find_recover_state): Change "err" to "*err"; this fixes what
84638         appears to be a real bug.
84639         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
84640         versus int.
84641
84642 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
84643
84644         * modules/regex (Depends-on): Add malloc, since the code
84645         assumes that !malloc(0) means failure.
84646
84647 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
84648
84649         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
84650
84651         alloca modernization/simplification for regex.
84652         * lib/regex.c: Remove portability cruft for alloca.  This no longer
84653         needs to be at the start of the file, and can be moved into
84654         regex_internal.h and simplified.
84655         * lib/regex_internal.h: Include <alloca.h>.
84656         (__libc_use_alloca) [!defined _LIBC]: New macro.
84657         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
84658         now works outside glibc.
84659
84660 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
84661
84662         * config/srclist.txt: Add glibc bugs 1241, 1245.
84663
84664 2005-08-25  Jim Meyering  <jim@meyering.net>
84665
84666         * lib/open-safer.c: Include <config.h>.
84667         Otherwise, we'd lose LARGEFILE support in any file using
84668         e.g. "fcntl--.h"
84669
84670 2005-08-25  Bruno Haible  <bruno@clisp.org>
84671
84672         * m4/minmax.m4: Require autoconf 2.52.
84673         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
84674         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
84675         alternatives of translit over the alphabet.
84676         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
84677
84678 2005-08-24  Simon Josefsson  <jas@extundo.com>
84679
84680         * tests/test-getpass.c: New file.
84681
84682 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
84683
84684         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
84685         for GNU regex features.
84686
84687 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
84688
84689         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
84690         * lib/regex.h (regerror): Likewise.
84691
84692         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
84693         requires this.  (The code never needed it.)
84694
84695         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
84696         All uses of recently-renamed identifiers changed to use the new,
84697         POSIX-compliant names.  The code will build and run just fine
84698         without these changes, but it's better to eat our own dog food
84699         and use the standard-conforming names.
84700
84701         * lib/regex.h: Fix a multitude of POSIX name space violations.
84702         These changes have an effect only for programs that define
84703         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
84704         do not change anything for programs compiled in the normal way.
84705         Also, there is no effect on the ABI.
84706
84707         (_REGEX_SOURCE): New macro.
84708         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
84709         defined and _GNU_SOURCE is not; this fixes a name space violation.
84710
84711         Rename the following macros to obey POSIX requirements.
84712         The old names are still visible as macros if _REGEX_SOURCE is defined.
84713         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
84714         RE_BACKSLASH_ESCAPE_IN_LISTS.
84715         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
84716         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
84717         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
84718         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
84719         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
84720         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
84721         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
84722         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
84723         (REG_INTERVALS): renamed from RE_INTERVALS.
84724         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
84725         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
84726         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
84727         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
84728         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
84729         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
84730         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
84731         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
84732         RE_UNMATCHED_RIGHT_PAREN_ORD.
84733         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
84734         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
84735         (REG_DEBUG): renamed from RE_DEBUG.
84736         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
84737         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
84738         unusual, since we can't clash with the POSIX REG_ICASE.
84739         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
84740         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
84741         (REG_NO_SUB): renamed from RE_NO_SUB.
84742         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
84743         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
84744         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
84745         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
84746         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
84747         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
84748         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
84749         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
84750         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
84751         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
84752         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
84753         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
84754         RE_SYNTAX_POSIX_MINIMAL_BASIC.
84755         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
84756         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
84757         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
84758         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
84759         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
84760         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
84761         (REG_FIXED): Renamed from REGS_FIXED.
84762         (REG_NREGS): Renamed from RE_NREGS.
84763
84764         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
84765         of other REG_* macros, since POSIX says the user is allowed to
84766         #undef these macros selectively.
84767
84768         (reg_errcode_t): Update comment stating what other tables need
84769         to be consistent.
84770
84771         Rename the following enum values to obey POSIX requirements.
84772         The old names are still visible as macros.
84773         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
84774         is not defined, since GNU is supposed to be a superset of POSIX as
84775         much as possible, and since we want reg_errcode_t to be a signed
84776         type for implementation consistency.
84777         (_REG_NOERROR): Renamed from REG_NOERROR.
84778         (_REG_NOMATCH): Renamed from REG_NOMATCH.
84779         (_REG_BADPAT): Renamed from REG_BADPAT.
84780         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
84781         (_REG_ECTYPE): Renamed from REG_ECTYPE.
84782         (_REG_EESCAPE): Renamed from REG_EESCAPE.
84783         (_REG_ESUBREG): Renamed from REG_ESUBREG.
84784         (_REG_EBRACK): Renamed from REG_EBRACK.
84785         (_REG_EPAREN): Renamed from REG_EPAREN.
84786         (_REG_EBRACE): Renamed from REG_EBRACE.
84787         (_REG_BADBR): Renamed from REG_BADBR.
84788         (_REG_ERANGE): Renamed from REG_ERANGE.
84789         (_REG_ESPACE): Renamed from REG_ESPACE.
84790         (_REG_BADRPT): Renamed from REG_BADRPT.
84791         (_REG_EEND): Renamed from REG_EEND.
84792         (_REG_ESIZE): Renamed from REG_ESIZE.
84793         (_REG_ERPAREN): Renamed from REG_ERPAREN.
84794         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
84795         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
84796         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
84797         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
84798
84799         (_REG_RE_NAME, _REG_RM_NAME): New macros.
84800         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
84801         changed.  But support the old name if the new one is not defined
84802         and if _REGEX_SOURCE.
84803
84804         Change the following member names in struct re_pattern_buffer.
84805         The old names are still supported if !_REGEX_SOURCE.
84806         The new names are always supported, regardless of _REGEX_SOURCE.
84807         (re_buffer): Renamed from buffer.
84808         (re_allocated): Renamed from allocated.
84809         (re_used): Renamed from used.
84810         (re_syntax): Renamed from syntax.
84811         (re_fastmap): Renamed from fastmap.
84812         (re_translate): Renamed from translate.
84813         (re_can_be_null): Renamed from can_be_null.
84814         (re_regs_allocated): Renamed from regs_allocated.
84815         (re_fastmap_accurate): Renamed from fastmap_accurate.
84816         (re_no_sub): Renamed from no_sub.
84817         (re_not_bol): Renamed from not_bol.
84818         (re_not_eol): Renamed from not_eol.
84819         (re_newline_anchor): Renamed from newline_anchor.
84820
84821         Change the following member names in struct re_registers.
84822         The old names are still supported if !_REGEX_SOURCE.
84823         The new names are always supported, regardless of _REGEX_SOURCE.
84824         (rm_num_regs): Renamed from num_regs.
84825         (rm_start): Renamed from start.
84826         (rm_end): Renamed from end.
84827
84828         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
84829         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
84830         Prepend __ to parameter names.
84831
84832         Undo yesterday's changes.
84833
84834 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
84835
84836         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
84837         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
84838         lib/regex.c.
84839
84840 2005-08-24  Jim Meyering  <jim@meyering.net>
84841
84842         Sync from coreutils.
84843         * m4/fcntl-safer.m4: New file.
84844
84845         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
84846         and object files for this module.
84847
84848 2005-08-24  Jim Meyering  <jim@meyering.net>
84849
84850         Sync from coreutils.
84851         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
84852
84853 2005-08-24  Jim Meyering  <jim@meyering.net>
84854
84855         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
84856         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
84857
84858 2005-08-24  Jim Meyering  <jim@meyering.net>
84859
84860         * modules/fcntl-safer: New module.
84861         * modules/fts (Depends-on): Add fcntl-safer.
84862         * MODULES.html.sh (File descriptor based Input/Output):
84863         Add fcntl-safer.
84864
84865 2005-08-24  Bruno Haible  <bruno@clisp.org>
84866
84867         Support for unit test modules.
84868         * modules/README: Mention tests modules.
84869         * modules/TEMPLATE-TESTS: New file.
84870         * gnulib-tool: New options --extract-tests-module, --with-tests and
84871         --tests-base (unused for the moment).
84872         (testsbase, inctests): New variables.
84873         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
84874         (func_verify_module): Exclude TEMPLATE-TESTS.
84875         (func_verify_nontests_module, func_verify_tests_module): New functions.
84876         (func_get_dependencies): Add implicit dependency for tests modules.
84877         (func_get_tests_module): New function.
84878         (func_modules_transitive_closure): When --with-tests was specified,
84879         include the unit tests as well, unless explicitly avoided.
84880         (func_emit_lib_Makefile_am): Ignore the tests modules here.
84881         (func_emit_tests_Makefile_am): New function.
84882         (func_create_testdir): When --with-tests was specified, emit a
84883         tests/ directory.
84884         * MODULES.html.sh (Future developments): Update.
84885
84886 2005-08-24  Bruno Haible  <bruno@clisp.org>
84887
84888         * modules/tls-tests: New file.
84889         * tests/test-tls.c: New file, from GNU gettext.
84890
84891 2005-08-24  Bruno Haible  <bruno@clisp.org>
84892
84893         * modules/lock-tests: New file.
84894         * tests/test-lock.c: New file, from GNU gettext.
84895
84896 2005-08-24  Bruno Haible  <bruno@clisp.org>
84897
84898         * lib/lock.h: Add multiple inclusion guard.
84899         * lib/tls.h: Add multiple inclusion guard.
84900
84901 2005-08-24  Bruno Haible  <bruno@clisp.org>
84902
84903         * gnulib-tool: Add support for the --aux-dir option to
84904         --create-testdir, --create-megatestdir, --test, --megatest.
84905         (func_create_testdir, func_create_megatestdir): Optionally emit a
84906         AC_CONFIG_AUX_DIR directive.
84907         (create-testdir, create-megatestdir, test, megatest): Provide a
84908         default value for $auxdir.
84909
84910 2005-08-24  Bruno Haible  <bruno@clisp.org>
84911
84912         * gnulib-tool (import): Use compound statement instead of subshell
84913         where possible.
84914
84915 2005-08-24  Bruno Haible  <bruno@clisp.org>
84916
84917         * gnulib-tool (import): Change --aux-dir default to "build-aux".
84918
84919 2005-08-24  Bruno Haible  <bruno@clisp.org>
84920
84921         * gnulib-tool (func_version): Update.
84922
84923 2005-08-24  Bruno Haible  <bruno@clisp.org>
84924
84925         * gnulib-tool (func_import, func_create_testdir,
84926         func_create_megatestdir): Quote all autoconf macro arguments.
84927
84928 2005-08-24  Bruno Haible  <bruno@clisp.org>
84929
84930         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
84931         option --force, because --force causes the aclocal.m4 of each
84932         subdirectory to be newer than the corresponding config.h.in.
84933
84934 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
84935
84936         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
84937         All contents moved to gl_REGEX.
84938         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
84939         assume that it does.
84940
84941 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
84942
84943         * lib/regex.h (REG_NOSYS)
84944         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
84945         Define, since POSIX requires it as of 2001.
84946         (_REG_ENOSYS)
84947         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
84948         New private symbol, used to keep the enum signed in all cases.
84949         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
84950         Youngman in
84951         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
84952
84953         * lib/regex_internal.c (re_string_skip_chars, register_state):
84954         (calc_state_hash):
84955         Remove forward decls; no longer needed now that we use prototypes.
84956         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
84957         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
84958         (clean_state_log_if_needed): Likewise.
84959
84960 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
84961
84962         * config/srclist.txt: Add glibc bugs 1231-1233.
84963
84964 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
84965
84966         Fix problems reported by Sam Steingold in
84967         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
84968         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
84969         assumed that reg_errcode_t is a signed type, which is not
84970         necessarily true if _XOPEN_SOURCE is not defined.
84971         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
84972         since some compilers warn about it otherwise.
84973
84974 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
84975
84976         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
84977         (init_word_char, create_initial_state, duplicate_node_closure):
84978         (fetch_token, peek_token_bracket, build_range_exp):
84979         (build_collating_symbol): Remove forward decls; no longer needed
84980         now that we use prototypes.
84981
84982         * lib/regcomp.c:
84983         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
84984         (re_compile_fastmap_iter, regcomp, regerror, regfree):
84985         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
84986         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
84987         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
84988         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
84989         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
84990         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
84991         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
84992         (build_range_exp, build_collating_symbol, parse_bracket_exp):
84993         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
84994         (build_charclass, build_charclass_op, fetch_number, create_tree):
84995         (create_token_tree, mark_opt_subexp, duplicate_tree):
84996         Use prototypes rather than old-style definitions.
84997
84998         * lib/regex_internal.c:
84999         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
85000         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
85001         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
85002         (re_string_reconstruct, re_string_peek_byte_case):
85003         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
85004         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
85005         (re_node_set_init_copy, re_node_set_add_intersect):
85006         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
85007         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
85008         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
85009         (re_acquire_state, re_acquire_state_context, register_state):
85010         (create_ci_newstate, create_cd_newstate, free_state):
85011         Likewise.
85012         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
85013         re_search_2):
85014         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
85015         (re_search_internal, prune_impossible_nodes):
85016         (acquire_init_state_context, check_matching, static):
85017         (check_halt_node_context, check_halt_state_context, proceed_next_node):
85018         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
85019         (update_regs, sift_states_backward, build_sifted_states):
85020         (clean_state_log_if_needed, merge_state_array):
85021         (update_cur_sifted_state, add_epsilon_src_nodes):
85022         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
85023         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
85024         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
85025         (find_recover_state, check_subexp_matching_top, transit_state_mb):
85026         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
85027         (check_arrival, check_arrival_add_next_nodes):
85028         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
85029         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
85030         (check_node_accept_bytes, check_node_accept, extend_buffers):
85031         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
85032         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
85033         (sift_ctx_init):
85034         Likewise.
85035
85036         * lib/regex_internal.h:
85037         (re_string_allocate, re_string_construct, re_string_reconstruct):
85038         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
85039         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
85040         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
85041         (re_string_context_at, re_string_peek_byte_case):
85042         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
85043         is defined, since we now use prototypes always.
85044
85045         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
85046         C89 or better.  All uses removed.
85047
85048 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
85049
85050         * config/srclist.txt: Add glibc bugs 1220-1227.
85051
85052 2005-08-20  Jim Meyering  <jim@meyering.net>
85053
85054         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
85055         of unused local, dfa.
85056
85057 2005-08-20  Bruno Haible  <bruno@clisp.org>
85058
85059         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
85060
85061 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
85062
85063         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
85064         (re_node_set_insert_last, re_dfa_add_node):
85065         Rename local variables to avoid GCC shadowing warnings.
85066
85067 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
85068
85069         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
85070         [defined lint]: Suppress bogus uninitialized-variable warnings.
85071
85072         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
85073         and let the caller return REG_ESPACE if out of space.  This
85074         removes an uninitialied-variable warning with GCC 4.0.1, and also
85075         avoids taking the address of a local variable.  All callers
85076         changed.
85077
85078 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
85079
85080         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
85081         $LIBCSRC/posix/regexec.c.
85082         Add glibc bug 1217 for regcomp.c.
85083
85084 2005-08-19  Jim Meyering  <jim@meyering.net>
85085
85086         * lib/regexec.c (proceed_next_node): Redo local variables to
85087         avoid GCC shadowing warnings.
85088
85089 2005-08-18  Bruno Haible  <bruno@clisp.org>
85090
85091         * lib/strstr.c (strstr): Fix return value in multibyte case.
85092         * lib/strcasestr.c (strcasestr): Likewise.
85093
85094 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
85095
85096         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
85097
85098 2005-08-17  Jim Meyering  <jim@meyering.net>
85099
85100         Make the %s format (seconds since the epoch) work for a negative
85101         number and when used with a zero-padded field width, e.g. %015s.
85102
85103         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
85104         label so that it precedes the code to set `digits'.  Otherwise,
85105         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
85106         print `00-22'.  Now, it prints `-0022', as it should.
85107
85108 2005-08-17  Bruno Haible  <bruno@clisp.org>
85109
85110         * modules/strstr (Files): Add m4/mbrtowc.m4.
85111         (Depends-on): Add mbuiter.
85112
85113 2005-08-17  Bruno Haible  <bruno@clisp.org>
85114
85115         * modules/strcasestr: New file.
85116         * MODULES.html.sh (String handling, based on ANSI C 89): Add
85117         strcasestr.
85118
85119 2005-08-17  Bruno Haible  <bruno@clisp.org>
85120
85121         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
85122
85123 2005-08-17  Bruno Haible  <bruno@clisp.org>
85124
85125         * modules/mbuiter: New file.
85126         * MODULES.html.sh (Extended multibyte and wide character utilities):
85127         Add mbuiter.
85128
85129 2005-08-17  Bruno Haible  <bruno@clisp.org>
85130
85131         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
85132         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
85133
85134 2005-08-17  Bruno Haible  <bruno@clisp.org>
85135
85136         * m4/strcasestr.m4: New file.
85137
85138 2005-08-17  Bruno Haible  <bruno@clisp.org>
85139
85140         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
85141         * lib/strstr.c: Completely rewritten, with multibyte locale support.
85142
85143 2005-08-17  Bruno Haible  <bruno@clisp.org>
85144
85145         * lib/strcasestr.h: New file.
85146         * lib/strcasestr.c: New file.
85147
85148 2005-08-17  Bruno Haible  <bruno@clisp.org>
85149
85150         * lib/strcasecmp.c: Use mbuiter.h.
85151
85152 2005-08-17  Bruno Haible  <bruno@clisp.org>
85153
85154         * lib/mbuiter.h: New file.
85155
85156 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
85157
85158         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
85159         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
85160         and gl_GETOPT are both invoked via different paths (as happens
85161         with GNU tar CVS because it uses both argp and getopt), the former
85162         wins.
85163
85164 2005-08-16  Bruno Haible  <bruno@clisp.org>
85165
85166         * modules/tls: New file.
85167         * MODULES.html.sh (Multithreading): Add tls.
85168
85169 2005-08-16  Bruno Haible  <bruno@clisp.org>
85170
85171         * modules/strnlen1: New file.
85172         * MODULES.html.sh (String handling): Add strnlen1.
85173
85174 2005-08-16  Bruno Haible  <bruno@clisp.org>
85175
85176         * modules/strcase (Files): Add m4/mbrtowc.m4.
85177         (Depends-on): Add strnlen1, mbchar.
85178
85179 2005-08-16  Bruno Haible  <bruno@clisp.org>
85180
85181         * modules/mbiter: New file.
85182         * MODULES.html.sh (Extended multibyte and wide character utilities):
85183         Add mbiter.
85184
85185 2005-08-16  Bruno Haible  <bruno@clisp.org>
85186
85187         * modules/mbfile: New file.
85188         * MODULES.html.sh (Extended multibyte and wide character utilities):
85189         Add mbfile.
85190
85191 2005-08-16  Bruno Haible  <bruno@clisp.org>
85192
85193         * modules/mbchar: New file.
85194         * MODULES.html.sh (Extended multibyte and wide character utilities):
85195         New section.
85196
85197 2005-08-16  Bruno Haible  <bruno@clisp.org>
85198
85199         * m4/tls.m4: New file, from GNU gettext.
85200
85201 2005-08-16  Bruno Haible  <bruno@clisp.org>
85202
85203         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
85204         always.
85205         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
85206
85207 2005-08-16  Bruno Haible  <bruno@clisp.org>
85208
85209         * m4/mbiter.m4: New file.
85210
85211 2005-08-16  Bruno Haible  <bruno@clisp.org>
85212
85213         * m4/mbfile.m4: New file.
85214
85215 2005-08-16  Bruno Haible  <bruno@clisp.org>
85216
85217         * m4/mbchar.m4: New file.
85218
85219 2005-08-16  Bruno Haible  <bruno@clisp.org>
85220
85221         * lib/tls.h: New file, from GNU gettext.
85222         * lib/tls.c: New file, from GNU gettext.
85223
85224 2005-08-16  Bruno Haible  <bruno@clisp.org>
85225
85226         * lib/strnlen1.h: New file.
85227         * lib/strnlen1.c: New file.
85228
85229 2005-08-16  Bruno Haible  <bruno@clisp.org>
85230
85231         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
85232         (mbi_init): Update.
85233         (mbi_avail, mbi_advance): Let the iteration end before the terminating
85234         NUL byte, not after it.
85235
85236 2005-08-16  Bruno Haible  <bruno@clisp.org>
85237
85238         * lib/strcase.h (strcasecmp): Add note in comments.
85239         * lib/strncasecmp.c: Use code from strcasecmp.c.
85240         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
85241         (strcasecmp): Work correctly in multibyte locales.
85242
85243 2005-08-16  Bruno Haible  <bruno@clisp.org>
85244
85245         * lib/mbiter.h: New file.
85246
85247 2005-08-16  Bruno Haible  <bruno@clisp.org>
85248
85249         * lib/mbfile.h: New file.
85250
85251 2005-08-16  Bruno Haible  <bruno@clisp.org>
85252
85253         * lib/mbchar.h: New file.
85254         * lib/mbchar.c: New file.
85255
85256 2005-08-16  Bruno Haible  <bruno@clisp.org>
85257
85258         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
85259         the valid ones. Makes the comparison operations transitive:
85260         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
85261         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
85262
85263 2005-08-15  Simon Josefsson  <jas@extundo.com>
85264
85265         * modules/ssize_t (License): Change to 'unlimited'.
85266
85267         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
85268
85269 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
85270
85271         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
85272         Add comments for each pending glibc patch.
85273
85274 2005-08-15  Bruno Haible  <bruno@clisp.org>
85275
85276         * lib/regex.h (__restrict_arr): Don't define to __restrict if
85277         __cplusplus is defined.
85278
85279 2005-08-14  Jim Meyering  <jim@meyering.net>
85280
85281         Sync from coreutils.
85282
85283         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
85284         Use the hash-table-based cycle-detection code not just when
85285         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
85286         Reported by James Youngman in
85287         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
85288         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
85289         FTS_TIGHT_CYCLE_CHECK.
85290         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
85291         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
85292         once again.
85293         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
85294         * lib/fts.c (fd_safer): Remove decl.
85295         Include fcntl--.h rather than unistd-safer.h
85296         (fts_safe_changedir): Don't call fd_safer; no longer needed
85297         now that we include fcntl--.h.
85298
85299 2005-08-12  Simon Josefsson  <jas@extundo.com>
85300
85301         * modules/getndelim2: Use ssize_t module.
85302         * modules/getnline: Likewise.
85303         * modules/safe-read: Likewise.
85304         * modules/xreadlink: Likewise.
85305
85306         * modules/ssize_t: New file.
85307
85308 2005-08-12  Simon Josefsson  <jas@extundo.com>
85309
85310         * m4/readline.m4: Look for termcap, curses or ncurses if required.
85311
85312 2005-08-12  Simon Josefsson  <jas@extundo.com>
85313
85314         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
85315         ssize_t.
85316
85317 2005-08-12  Simon Josefsson  <jas@extundo.com>
85318
85319         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
85320         readline, getdelim and check_version.
85321         (Support for systems lacking ISO C 99: Sizes of integer types):
85322         Add size_max.
85323
85324 2005-08-12  Bruno Haible  <bruno@clisp.org>
85325
85326         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
85327
85328 2005-08-11  Simon Josefsson  <jas@extundo.com>
85329
85330         * modules/readline: New file.
85331
85332         * modules/strnlen (Files): Add strnlen.h.
85333
85334 2005-08-11  Simon Josefsson  <jas@extundo.com>
85335
85336         * m4/readline.m4: New file.
85337
85338 2005-08-11  Simon Josefsson  <jas@extundo.com>
85339
85340         * lib/readline.h, readline.c: New file.
85341
85342 2005-08-11  Simon Josefsson  <jas@extundo.com>
85343
85344         * doc/gnulib.texi (Initial import, Finishing touches): Mention
85345         gl_AVOID.
85346
85347 2005-08-11  Bruno Haible  <bruno@clisp.org>
85348
85349         * lib/strnlen.h (strnlen): Change parameter name to match comment.
85350
85351 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
85352
85353         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
85354
85355 2005-08-10  Simon Josefsson  <jas@extundo.com>
85356
85357         * tests/test-iconvme.c: New file.
85358
85359 2005-08-10  Simon Josefsson  <jas@extundo.com>
85360
85361         * m4/strnlen.m4: New file.
85362
85363         * m4/strndup.m4: Don't check for strnlen declaration, done in
85364         strnlen.m4.
85365
85366 2005-08-10  Simon Josefsson  <jas@extundo.com>
85367
85368         * lib/strndup.c: Use strnlen.h.
85369
85370         * lib/strnlen.h: New file.
85371
85372 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
85373
85374         * README: Typos.
85375
85376 2005-08-02  Simon Josefsson  <jas@extundo.com>
85377
85378         * modules/readline: New file.
85379
85380 2005-08-02  Simon Josefsson  <jas@extundo.com>
85381
85382         * modules/getdelim: New file.
85383
85384         * modules/getline: Rewrite, don't use getndelim2.
85385
85386 2005-08-02  Simon Josefsson  <jas@extundo.com>
85387
85388         * m4/getline.m4: Separate out getdelim stuff into separate module.
85389
85390         * m4/getdelim.m4: New file.
85391
85392 2005-08-02  Simon Josefsson  <jas@extundo.com>
85393
85394         * lib/getline.h, getline.c: Rewrite.
85395
85396         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
85397
85398 2005-07-31  Bruno Haible  <bruno@clisp.org>
85399
85400         * lib/lock.h (gl_lock_initializer): New macro.
85401         (gl_lock_define_initialized): Use it.
85402         (gl_rwlock_initializer): New macro.
85403         (gl_rwlock_define_initialized): Use it.
85404         (gl_recursive_lock_initializer): New macro.
85405         (gl_recursive_lock_define_initialized): Use it.
85406
85407 2005-07-30  Karl Berry  <karl@gnu.org>
85408
85409         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
85410         Report from Ben Pfaff, regarding getopt.
85411
85412 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
85413
85414         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
85415         normal way.
85416         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
85417         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
85418         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
85419         (gl_GETOPT): Use the new macros.  Most of the implementation
85420         is moved to the new macros.  This is for programs like Emacs
85421         that don't want all the functionality of gl_GETOPT.
85422
85423 2005-07-26  Bruno Haible  <bruno@clisp.org>
85424
85425         * m4/lock.m4: Update from GNU gettext.
85426
85427 2005-07-26  Bruno Haible  <bruno@clisp.org>
85428
85429         * lib/lock.h: Update from GNU gettext.
85430         * lib/lock.c: Update from GNU gettext.
85431
85432 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
85433
85434         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
85435         obsolescent AC_TRY_RUN.  Include the default includes files, for
85436         'exit'.
85437
85438 2005-07-24  Bruno Haible  <bruno@clisp.org>
85439
85440         * modules/visibility: New file.
85441         * MODULES.html.sh (Misc): Add visibility.
85442
85443 2005-07-24  Bruno Haible  <bruno@clisp.org>
85444
85445         * m4/visibility.m4: New file.
85446
85447 2005-07-24  Bruno Haible  <bruno@clisp.org>
85448
85449         * doc/visibility.texi: New file.
85450
85451 2005-07-22  Bruno Haible  <bruno@clisp.org>
85452
85453         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
85454         $(ALLOCA_H), redundant through BUILT_SOURCES.
85455         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
85456         redundant through BUILT_SOURCES.
85457         * modules/byteswap (Makefile.am): Remove explicit dependency on
85458         $(BYTESWAP_H), redundant through BUILT_SOURCES.
85459         * modules/fnmatch (Makefile.am): Remove explicit dependency on
85460         $(FNMATCH_H), redundant through BUILT_SOURCES.
85461         * modules/getopt (Makefile.am): Remove explicit dependency on
85462         $(GETOPT_H), redundant through BUILT_SOURCES.
85463         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
85464         redundant through BUILT_SOURCES.
85465         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
85466         redundant through BUILT_SOURCES.
85467         * modules/stdbool (Makefile.am): Remove explicit dependency on
85468         $(STDBOOL_H), redundant through BUILT_SOURCES.
85469         * modules/stdint (Makefile.am): Remove explicit dependency on
85470         $(STDINT_H), redundant through BUILT_SOURCES.
85471         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
85472         Remove explicit dependency on $(SYSEXITS_H).
85473         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
85474
85475 2005-07-18  Simon Josefsson  <jas@extundo.com>
85476
85477         * lib/check-version.c (check_version): Accept identical versions too.
85478
85479 2005-07-18  Bruno Haible  <bruno@clisp.org>
85480
85481         * modules/lock: New file.
85482         * MODULES.html.sh (Multithreading): New section.
85483
85484 2005-07-18  Bruno Haible  <bruno@clisp.org>
85485
85486         * m4/lock.m4: New file, from GNU gettext.
85487
85488 2005-07-18  Bruno Haible  <bruno@clisp.org>
85489
85490         * lib/lock.h: New file, from GNU gettext.
85491         * lib/lock.c: New file, from GNU gettext.
85492
85493 2005-07-18  Bruno Haible  <bruno@clisp.org>
85494
85495         * lib/lock.h (gl_once_t): New type.
85496         (gl_once_define, gl_once): New macros.
85497         * lib/lock.c (fresh_once): New variable.
85498         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
85499         functions.
85500
85501 2005-07-16  Simon Josefsson  <jas@extundo.com>
85502
85503         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
85504         workaround, suggested by Bruno.
85505
85506 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
85507
85508         * modules/xalloc (Depends-on): Add xalloc-die.
85509         * modules/xvasprintf (Depends-on): Add xalloc-die.
85510
85511 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
85512
85513         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
85514         with a minor change.
85515
85516 2005-07-15  Bruno Haible  <bruno@clisp.org>
85517
85518         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
85519         When using lib/poll.c, define poll as rpl_poll.
85520
85521 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
85522
85523         * modules/argp (Depends-on): Remove unlocked-io.
85524
85525 2005-07-14  Derek Price  <derek@ximbiot.com>
85526
85527         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
85528         for glob symlink bug.
85529
85530 2005-07-14  Bruno Haible  <bruno@clisp.org>
85531
85532         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
85533         Instead, test for *_unlocked function declarations directly.
85534
85535 2005-07-11  Simon Josefsson  <jas@extundo.com>
85536
85537         * modules/size_max: New file.
85538
85539         * modules/xsize: Depend on size_max module for size_max.m4.
85540
85541 2005-07-11  Simon Josefsson  <jas@extundo.com>
85542
85543         * lib/size_max.h: New file.
85544
85545 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
85546
85547         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
85548         copyright symbol and the year.
85549         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
85550         (version_etc_va): Use parameterized copyright notice.
85551         Reword to conform to the current GNU coding standards.
85552
85553 2005-07-11  Karl Berry  <karl@gnu.org>
85554
85555         * doc/gnulib.texi (Quoting): new node.
85556         (Initial import): more info, from Patrice.
85557
85558 2005-07-11  Bruno Haible  <bruno@clisp.org>
85559
85560         * gnulib-tool (func_usage): Document option --avoid.
85561         (Command line options): Handle --avoid.
85562         (func_acceptable): New function.
85563         (func_modules_transitive_closure): Use it.
85564
85565 2005-07-11  Bruno Haible  <bruno@clisp.org>
85566
85567         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
85568         Reported by Jim Meyering.
85569
85570 2005-07-10  Bruno Haible  <bruno@clisp.org>
85571
85572         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
85573         Needed when size_t is smaller than 'unsigned int'.
85574         Reported by Paul Eggert.
85575
85576 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
85577
85578         * modules/argp (Depends-on): Add unlocked-io
85579
85580 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
85581
85582         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
85583         block of defines.
85584
85585 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
85586
85587         * config/srclist.txt: Comment out regcomp.c, since we have a porting
85588         fix now.
85589
85590 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
85591         and Paul Eggert  <eggert@cs.ucla.edu>
85592
85593         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
85594         in wint_t, not wchar_t.  Remove now-unnecessary cast.
85595
85596 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
85597
85598         * modules/regex (Files): Add lib/regex_internal.c,
85599         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
85600         (Depends-on): Add extensions.
85601         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
85602
85603 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
85604
85605         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
85606         pathconf.
85607         * m4/same.m4 (gl_SAME): Likewise.
85608         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
85609
85610         * m4/regex.m4: Adjust to new libc regex implementation.
85611         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
85612         all the .c and .h parts of (the new) regex.
85613         Quote the m4 stuff better.
85614         Check for RE_ICASE bug of old gnulib.
85615         Check for REG_STARTEND of recent libc.
85616         Rename local variables from jm_* to gl_*.
85617         Quote operand of "test -f".
85618         Say "recent enough" version of libc, not "version 2".
85619         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
85620         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
85621         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
85622         Remove check for btowc, isascii.
85623         Require AM_LANGINFO_CODESET.
85624
85625 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
85626
85627         * lib/regex.c, regex.h: Sync from libc.
85628         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
85629         * lib/regexec.c:
85630         New files, synced from libc, except that regex_internal.h
85631         currently has a small porting fix.
85632
85633 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
85634
85635         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
85636         regex_internal.c, regexec.c.
85637         Add regex_internal.h too, but as a comment, since the libc version
85638         is currently broken in gnulib mode.
85639
85640 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
85641
85642         Support programs like Emacs that use gnulib but not gettext.
85643         * MODULES.html.sh (Internationalization functions): Add gettext-h.
85644         * modules/gettext-h: New file.
85645         * modules/gettext (Files): Remove lib/gettext.h.
85646         (Depends-on): Add gettext-h.
85647         (Makefile.am): Remove lib_SOURCES.
85648         * modules/argmatch, modules/c-stack, modules/closeout:
85649         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
85650         * modules/execute, modules/file-type, modules/getaddrinfo:
85651         * modules/getopt, modules/human, modules/javacomp:
85652         * modules/javaexec, modules/mkdir-p, modules/obstack:
85653         * modules/openat, modules/pagealign_alloc, modules/pipe:
85654         * modules/quotearg, modules/regex, modules/rpmatch:
85655         * modules/unicodeio, modules/userspec, modules/version-etc:
85656         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
85657         * modules/xsetenv:
85658         Depend on gettext-h, not gettext.
85659
85660 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
85661
85662         * gnulib-tool (func_import): Add support for 'public domain' license.
85663         * modules/alloca, modules/atexit, modules/memmove:
85664         Now public domain, not GPL.
85665         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
85666         * modules/realloc, modules/strerror, modules/strtod:
85667         Now LGPL, not GPL.
85668
85669 2005-07-05  Bruno Haible  <bruno@clisp.org>
85670
85671         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
85672         autoconf CVS. Needed for mingw.
85673
85674 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
85675
85676         Remove the dependency of the strftime module on the tzset module.
85677         * modules/strftime (Depends-on): Remove dependency on tzset.
85678
85679 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
85680
85681         Remove the dependency of the strftime module on the tzset module.
85682         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
85683         gl_FUNC_TZSET_CLOBBER.
85684
85685 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
85686
85687         Remove the dependency of the strftime module on the tzset module.
85688         * lib/strftime.c (my_strftime)
85689         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
85690         Copy the input structure, to work around some of the bug with
85691         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
85692         Solaris releases, you should also use the tzset module, but we won't
85693         require it as a dependency any more since we don't want LGPLed code
85694         to depend on GPLed code.
85695
85696 2005-07-02  Jim Meyering  <jim@meyering.net>
85697
85698         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
85699         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
85700         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
85701         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
85702
85703 2005-07-02  Jim Meyering  <jim@meyering.net>
85704
85705         * lib/backupfile.c (backup_args): Change a `0' to NULL.
85706
85707 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
85708
85709         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
85710         declares only 'struct timespec;' (!).
85711
85712 2005-07-01  Jim Meyering  <jim@meyering.net>
85713
85714         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
85715         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
85716         * lib/save-cwd.c, tempname.c:
85717         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
85718         and don't include <sys/file.h>).
85719
85720 2005-06-29  Jim Meyering  <jim@meyering.net>
85721
85722         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
85723         type name.  Use the variable name instead.
85724         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
85725         Likewise.
85726
85727 2005-06-28  Simon Josefsson  <jas@extundo.com>
85728
85729         * modules/check-version (Files): Add check-version.m4.
85730
85731 2005-06-28  Simon Josefsson  <jas@extundo.com>
85732
85733         * m4/check-version.m4: New file, suggested by Jim Meyering
85734         <jim@meyering.net>.
85735
85736 2005-06-28  Simon Josefsson  <jas@extundo.com>
85737
85738         * lib/check-version.h, lib/check-version.c: New files.
85739
85740 2005-06-28  Simon Josefsson  <jas@extundo.com>
85741
85742         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
85743         collision with global variable.  Better indentation.  Don't
85744         increment buffer pointer beyond buffer end.  Based on comments
85745         from Paul Eggert <eggert@cs.ucla.edu>.
85746
85747         * lib/base64.h: Indent.
85748
85749 2005-06-28  Simon Josefsson  <jas@extundo.com>
85750
85751         * doc/gnulib.texi (Library version handling): New section.
85752
85753 2005-06-28  Jim Meyering  <jim@meyering.net>
85754
85755         * check-module (find_included_lib_files): Hard-code another
85756         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
85757         but modules/fts-lgpl (correctly) does not list those files.
85758
85759         * modules/canonicalize (Files): Add lib/pathmax.h.
85760
85761 2005-06-25  Simon Josefsson  <jas@extundo.com>
85762
85763         * modules/check-version: New file.
85764
85765 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
85766
85767         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
85768         initializer of struct addrinfo, as an indication that we don't
85769         care how many members the structure has.
85770
85771 2005-06-24  Derek Price  <derek@ximbiot.com>
85772         and Bruno Haible  <bruno@clisp.org>
85773
85774         Remove stat module & update lstat.
85775         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
85776         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
85777         * m4/stat.m4: Remove this file.
85778
85779 2005-06-24  Derek Price  <derek@ximbiot.com>
85780         and Bruno Haible  <bruno@clisp.org>
85781
85782         Remove stat module & update lstat.
85783         * lib/stat.c: Remove this file...
85784         (slash_aware_lstat): ...moving this content and its support...
85785         * lib/lstat.c (rpl_lstat): ...into here.
85786         * lib/lstat.h: New file.
85787
85788 2005-06-24  Derek Price  <derek@ximbiot.com>
85789         and Bruno Haible  <bruno@clisp.org>
85790
85791         Remove stat module & update lstat.
85792         * config/srclist.txt (libc sources): Remove stat.
85793
85794 2005-06-24  Derek Price  <derek@ximbiot.com>
85795         and Bruno Haible  <bruno@clisp.org>
85796
85797         Remove stat module & update lstat.
85798         * MODULES.html.sh (stat): Remove.
85799         * MODULES.html: Regenerated.
85800         * modules/lstat (Description): Correct function name.
85801         (Files): Add "lstat.h".
85802         (Depends-on): Remove stat, add xalloc, stat-macros.
85803         * modules/stat: Remove this file.
85804         (Include): Add "lstat.h", remove <sys/stat.h>.
85805
85806 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
85807
85808         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
85809         (ranged_convert): Don't save conversion in a temporary struct.
85810         This causes a warning with GCC 4.0.0, and anyway in the typical
85811         case it's not worth the extra 100 bytes or so of code.
85812         (ranged_convert, __mktime_internal): When calling a function via a
85813         pointer P, use P () rather than (*P) (), as we now assume C89 or
85814         better.
85815
85816 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
85817
85818         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
85819         "who -r" failed to give output.  Problem reported by Tim Waugh.
85820
85821         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
85822         (xcalloc): Use it to avoid needless tests.
85823         Problem reported by Jim Meyering.
85824
85825 2005-06-20  Derek Price  <derek@ximbiot.com>
85826
85827         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
85828         unnecessary for Autoconfs > 2.59c.
85829
85830 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85831
85832         * lib/argp.h (__option_is_short): Check upper limit of
85833         __key. Isprint() requires its argument to have the value
85834         of an unsigned char or EOF.
85835
85836 2005-06-16  Jim Meyering  <jim@meyering.net>
85837
85838         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
85839         when either N or S is zero.
85840
85841 2005-06-16  Derek Price  <derek@ximbiot.com>
85842
85843         * m4/bison.m4: Declare YACC & YFLAGS precious.
85844
85845 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
85846
85847         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
85848         multibyte string or pattern, fall back on unibyte matching.
85849         Problem reported by James Youngman.
85850
85851 2005-06-08  Bruno Haible  <bruno@clisp.org>
85852
85853         * modules/csharpcomp: New file.
85854         * MODULES.html.sh (C#): Add csharpcomp.
85855
85856 2005-06-08  Bruno Haible  <bruno@clisp.org>
85857
85858         * m4/csharpcomp.m4: New file, from GNU gettext.
85859
85860 2005-06-08  Bruno Haible  <bruno@clisp.org>
85861
85862         * lib/csharpcomp.h: New file, from GNU gettext.
85863         * lib/csharpcomp.c: New file, from GNU gettext.
85864         * lib/csharpcomp.sh.in: New file, from GNU gettext.
85865
85866 2005-06-08  Bruno Haible  <bruno@clisp.org>
85867
85868         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
85869         warning on mingw.
85870
85871 2005-06-07  Derek Price  <derek@ximbiot.com>
85872
85873         Sync from CVS.
85874         * lib/glob_.h: Indent nested #ifdef.
85875
85876 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
85877
85878         Sync from coreutils.
85879         Use "file name" when talking about file names, instead of "filename"
85880         or "path", as per the GNU coding standards.
85881         * lib/mkdir-p.c: Renamed from makepath.c.
85882         (make_dir_parents): Renamed from make_path.  All callers changed.
85883         * lib/mkdir-p.h: Likewise.  All includers changed.
85884         * lib/filenamecat.c: Renamed from path-concat.c.
85885         (file_name_concat): Renamed from path_concat.  All callers changed.
85886         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
85887         * lib/filenamecat.h: Likewise.  All includers changed.
85888         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
85889         in comments or local variable names.
85890         * lib/basename.c: Likewise.
85891         * lib/canonicalize.c, canonicalize.h: Likewise.
85892         * lib/dirname.c, dirname.h: Likewise.
85893         * lib/euidaccess.c: Likewise.
85894         * lib/exclude.c: Likewise
85895         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
85896         * lib/fsusage.c, fsuage.h: Likewise.
85897         * lib/fts.c, fts_.h: Likewise.
85898         * lib/getcwd.c: Likewise.
85899         * lib/getloadavg.c: Likewise.
85900         * lib/mkstemp.c: Likewise.
85901         * lib/mountlist.c, mountlist.h: Likewise.
85902         * lib/openat.c, openat.h: Likewise.
85903         * lib/readlink-stub.c: Likewise.
85904         * lib/readutmp.c, readutmp.h: Likewise.
85905         * lib/rename.c: Likewise.
85906         * lib/rmdir.c: Likewise.
85907         * lib/same.c: Likewise.
85908         * lib/savedir.c: Likewise.
85909         * lib/stripslash.c: Likewise.
85910         * lib/tempname.c: Likewise.
85911         * lib/xreadlink.c: Likewise.
85912         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
85913         All uses changed.
85914         * lib/exclude.h: Likewise.
85915
85916         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
85917         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
85918         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
85919         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
85920         * lib/pathmax.h: Include <limits.h> unconditionally, since other
85921         files have been getting away with it for years (MORE/BSD 4.3
85922         is extinct now).
85923         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
85924         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
85925
85926         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
85927         Define to 256, not 255, as per modern POSIX.
85928
85929 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
85930
85931         Sync from coreutils.
85932         Use "file name" when talking about file names, instead of "filename"
85933         or "path", as per the GNU coding standards.
85934         * MODULES.html.sh: mkdir-p renamed from makepath.
85935         filenamecat renamed from path-concat.
85936         * modules/filenamecat: Renamed from modules/path-concat.
85937         (Files): filenamecat.h and filenamecat.c renamed from
85938         path-concat.h and path-concat.c.
85939         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
85940         (Include): filenamecat.h, not path-concat.h.
85941         * modules/mkdir-p: Renamed from modules/makepath.
85942         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
85943         makepath.c.
85944         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
85945         (Include): mkdir-p.h, not makepath.h.
85946
85947 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
85948
85949         Sync from coreutils.
85950         * m4/mkdir-p.m4: Renamed from makepath.m4.
85951         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
85952         Rename files from makepath.c to mkdir-p.c, and from
85953         makepath.h to mkdir-p.h.
85954         * m4/filenamecat.m4: Renamed from path-concat.m4.
85955         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
85956         Rename files from path-concat.c to filenamecat.c,
85957         and from path-concat.h to filenamecat.h.
85958         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
85959         "file name" in local variables or comments.
85960         * m4/rename.m4: Likewise.
85961
85962 2005-06-01  Bruno Haible  <bruno@clisp.org>
85963
85964         * modules/csharpexec: New file.
85965         * MODULES.html.sh (C#): New section.
85966
85967 2005-06-01  Bruno Haible  <bruno@clisp.org>
85968
85969         * m4/csharp.m4: New file, from GNU gettext.
85970         * m4/csharpexec.m4: New file, from GNU gettext.
85971
85972 2005-06-01  Bruno Haible  <bruno@clisp.org>
85973
85974         * lib/csharpexec.h: New file, from GNU gettext.
85975         * lib/csharpexec.c: New file, from GNU gettext.
85976         * lib/csharpexec.sh.in: New file, from GNU gettext.
85977
85978 2005-05-31  Derek Price  <derek@ximbiot.com>
85979             Paul Eggert  <eggert@cs.ucla.edu>
85980
85981         Sync from cvs.
85982         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
85983
85984 2005-05-31  Derek Price  <derek@ximbiot.com>
85985             Paul Eggert  <eggert@cs.ucla.edu>
85986
85987         Sync from cvs.
85988         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
85989
85990 2005-05-29  Derek Price  <derek@ximbiot.com>
85991
85992         * config/srclist.txt (glob_.h, glob.c): Add these files.
85993
85994 2005-05-29  Derek Price  <derek@ximbiot.com>
85995
85996         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
85997         * modules/glob: New file.
85998         * modules/getlogin_r: Add link to POSIX spec in description.
85999
86000 2005-05-29  Derek Price  <derek@ximbiot.com>
86001             Paul Eggert  <eggert@cs.ucla.edu>
86002
86003         * m4/glob.m4: New file.
86004
86005 2005-05-29  Derek Price  <derek@ximbiot.com>
86006             Paul Eggert  <eggert@cs.ucla.edu>
86007
86008         * lib/glob_.h, lib/glob.c: New files.
86009
86010 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
86011
86012         * modules/fts (Files): Remove m4/inttypes-pri.m4.
86013         * modules/fts-lgpl (Depends-on): Remove gettext.
86014
86015 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
86016
86017         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
86018         and don't require gt_INTTYPES_PRI.
86019
86020 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
86021
86022         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
86023
86024         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
86025         the configuration hassle isn't worth it.
86026         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
86027         (LONGEST_MODIFIER, PRIuMAX): Remove.
86028
86029 2005-05-27  Bruno Haible  <bruno@clisp.org>
86030
86031         * lib/getlogin_r.h: Remove second include of <stddef.h>.
86032
86033 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
86034
86035         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
86036         _POSIX_PTHREAD_SEMANTICS for Solaris.
86037
86038 2005-05-25  Derek Price  <derek@ximbiot.com>
86039
86040         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
86041
86042 2005-05-25  Derek Price  <derek@ximbiot.com>
86043             Paul Eggert  <eggert@cs.ucla.edu>
86044
86045         * modules/getlogin_r, m4/getlogin_r.m4: New files.
86046         * lib/getlogin_r.c, getlogin_r.h: New files.
86047
86048 2005-05-25  Bruno Haible  <bruno@clisp.org>
86049             Derek Price  <derek@ximbiot.com>
86050
86051         * lib/getlogin_r.h: Simplify API documentation.
86052
86053 2005-05-23  Derek Price  <derek@ximbiot.com>
86054
86055         * modules/minmax (Files): Add m4/minmax.m4.
86056         (configure.ac): Add gl_MINMAX.
86057
86058 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
86059
86060         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
86061         so that unistd-safer.h (GPL'ed code) need not be included.
86062
86063 2005-05-22  Bruno Haible  <bruno@clisp.org>
86064
86065         * m4/minmax.m4: New file.
86066         Based on a patch by Derek Price <derek@ximbiot.com>.
86067
86068 2005-05-22  Bruno Haible  <bruno@clisp.org>
86069
86070         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
86071         (INT64_MIN): Fix definition.
86072         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
86073
86074         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
86075         NEED_SIGNED_INT_TYPES.
86076
86077         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
86078         HAVE_SYSTEM_INTTYPES.
86079
86080 2005-05-22  Bruno Haible  <bruno@clisp.org>
86081
86082         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
86083         Also include <sys/param.h> if it defines MIN, MAX.
86084         Based on a patch by Derek Price <derek@ximbiot.com>.
86085
86086 2005-05-21  Jim Meyering  <jim@meyering.net>
86087
86088         * modules/fts (Files): Add m4/inttypes-pri.m4.
86089         (Depends-on): Add lstat and remove gettext.  Alphabetize.
86090
86091 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
86092
86093         New fts module.
86094         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
86095         (setup_dir, free_dir): New functions.
86096         (enter_dir, leave_dir): Define trivial
86097         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
86098         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
86099         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
86100         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
86101         Move to fts-cycle.c.
86102         (fts_open): Use setup_dir.
86103         (fts_close): Use free_dir.
86104         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
86105         This adds a label and some gotos, but the alternatives were messier.
86106         Check for memory allocation failure when entering a dir.
86107         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
86108         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
86109         (FTS): New member fts_cycle, that is a union that contains the
86110         old active_dir_ht and cycle_state.  All uses changed to mention
86111         fts_cycle.ht and fts_cycle.state.
86112         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
86113         fts.c, with the following changes:
86114         (setup_dir, free_dir): New functions.
86115         (enter_dir): Now returns bool.  Return true if successful, false
86116         if memory exhausted.  All callers changed.
86117         Do not bother partly cleaning up on
86118         memory allocation failure; that is free_dir's job.
86119         However, free ad if hash_insert fails, to avoid memory leak.
86120         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
86121         fts->fts_options to see which union member to use.
86122
86123 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
86124
86125         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
86126         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
86127
86128 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
86129
86130         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
86131
86132 2005-05-20  Jim Meyering  <jim@meyering.net>
86133
86134         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
86135         Now a macro, to pacify GCC.
86136
86137 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
86138
86139         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
86140         of -1.
86141
86142 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
86143
86144         * lib/chown.c (rpl_chown): Return -1 on failure.
86145
86146 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
86147
86148         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
86149         Don't check for stddef.h.
86150         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
86151         don't use its results.
86152         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
86153         since we include them unconditionally.  Don't require
86154         AM_STDBOOL_H, since stdbool is a prerequisite.
86155         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
86156         since we assume C89 or better.
86157         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
86158         as we don't use their results.
86159         Don't check for fchdir, memmove, memset, strrchr, as we use
86160         them unconditionally.
86161         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
86162         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
86163
86164 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
86165
86166         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
86167         Include <stddef.h> unconditionally, since we assume C89 now.
86168         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
86169         * lib/fts.c: Include fts_.h first, to check interface.
86170         Do not include intprops.h; no longer needed.
86171         Include cycle-check.h and hash.h, since fts_.h no longer does.
86172         Remove unnecessary casts of closedir to void.
86173         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
86174         decide whether to decrement nlinks.
86175         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
86176         (FTS): Use struct hash_table * instead of Hash_table, so that
86177         we no longer need to include hash.h here.
86178
86179 2005-05-18  Jim Meyering  <jim@meyering.net>
86180
86181         * modules/dirfd (License): Change to LGPL.  Most of the code
86182         is already in the public domain.
86183
86184 2005-05-18  Jim Meyering  <jim@meyering.net>
86185
86186         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
86187         Reported by Yoann Vandoorselaere.
86188
86189 2005-05-17  Jim Meyering  <jim@meyering.net>
86190
86191         * m4/fts.m4: New file, from coreutils.
86192
86193 2005-05-17  Jim Meyering  <jim@meyering.net>
86194
86195         * lib/fts.c, lib/fts_.h: New files, from coreutils.
86196
86197 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
86198
86199         Sync from coreutils.
86200         * m4/unlinkdir.m4: New file.
86201
86202 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
86203
86204         Sync from coreutils.
86205         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
86206         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
86207         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
86208         White space changes only.
86209         * lib/makepath.c (make_path): Port to hosts where leading "//" is
86210         special.
86211         * lib/yesno.c: Include getline.h, not ctype.h.
86212         (yesno): Don't remove leading white space; POSIX doesn't allow it.
86213         Use getline to remove arbitrary restriction on response length.
86214
86215 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
86216
86217         * config/srclist-update: Spell out "Street" in FSF postal
86218         mail address; this is the style the FSF seems to prefer.
86219
86220         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
86221         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
86222         this updates FSF postal mail address.
86223
86224         Sync from coreutils.
86225         * modules/unlinkdir: New file.
86226         * modules/yesno (Depends-on): Add getline.
86227         * MODULES.html.sh (File system functions): Add unlinkdir.
86228
86229 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
86230
86231         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
86232         lib/strsep.h:
86233         Change the initial comment to refer to GPL, not LGPL.
86234         gnulib-tool will change it to LGPL as needed.
86235
86236         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
86237         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
86238         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
86239         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
86240         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
86241         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
86242         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
86243         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
86244         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
86245         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
86246         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
86247         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
86248         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
86249         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
86250         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
86251         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
86252         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
86253         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
86254         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
86255         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
86256         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
86257         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
86258         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
86259         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
86260         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
86261         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
86262         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
86263         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
86264         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
86265         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
86266         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
86267         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
86268         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
86269         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
86270         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
86271         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
86272         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
86273         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
86274         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
86275         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
86276         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
86277         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
86278         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
86279         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
86280         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
86281         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
86282         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
86283         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
86284         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
86285         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
86286         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
86287         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
86288         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
86289         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
86290         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
86291         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
86292         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
86293         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
86294         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
86295         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
86296         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
86297         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
86298         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
86299         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
86300         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
86301         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
86302         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
86303         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
86304         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
86305         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
86306         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
86307         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
86308         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
86309         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
86310         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
86311         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
86312         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
86313         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
86314         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
86315         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
86316         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
86317         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
86318         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
86319         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
86320         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
86321         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
86322         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
86323         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
86324         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
86325         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
86326         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
86327         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
86328         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
86329         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
86330         lib/yesno.c, lib/yesno.h:
86331         Update FSF postal mail address.
86332
86333 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
86334
86335         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
86336         tests/test-memmem.c, tests/test-stpncpy.c:
86337         Update FSF postal mail address.
86338
86339 2005-05-13  Bruno Haible  <bruno@clisp.org>
86340
86341         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
86342         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
86343         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
86344         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
86345         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
86346         Add support for 64-bit integers in the MSVC compiler.
86347
86348 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86349
86350         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
86351
86352 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
86353
86354         * gnulib-tool (func_import): Sort and uniquify recommended includes.
86355
86356 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
86357
86358         * doc/getdate.texi (General date syntax): Don't say that date
86359         date --iso-8601=ns generates acceptable dates; it doesn't yet.
86360         Problem reported by Nic Ferrier.
86361
86362 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
86363
86364         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
86365         specified in ai_socktype. Fix invalid ai_protocol
86366         check. ai_protocol is usually set to 0 or depending on
86367         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
86368         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
86369         ai_socktype / ai_protocol in the returned addrinfo structure.
86370
86371 2005-05-10  Simon Josefsson  <jas@extundo.com>
86372
86373         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
86374         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
86375
86376 2005-05-10  Karl Berry  <karl@gnu.org>
86377
86378         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
86379         (from http://www.gnu.org/licenses).
86380         * doc/COPYING.LIB: also rename to COPYING.LESSER.
86381         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
86382         fdl.texi suffices.
86383
86384 2005-05-10  Karl Berry  <karl@gnu.org>
86385
86386         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
86387         (COPYING.DOC): remove.
86388
86389         * config/srclist-update: new FSF address.
86390
86391 2005-05-10  Derek Price  <derek@ximbiot.com>
86392
86393         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
86394         possible.
86395
86396 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
86397             Bruno Haible  <bruno@clisp.org>
86398
86399         * modules/inet_ntop: New file.
86400         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
86401         inet_ntop.
86402
86403 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
86404             Bruno Haible  <bruno@clisp.org>
86405
86406         * m4/inet_ntop.m4: New file.
86407
86408 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
86409             Bruno Haible  <bruno@clisp.org>
86410
86411         * lib/inet_ntop.h: New file.
86412         * lib/inet_ntop.c: New file, from glibc with modifications.
86413
86414 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
86415
86416         * modules/time_r (License): Change to LGPL.
86417         * modules/extensions (License): Change to LGPL.  Actually,
86418         the license is more permissive than that, but currently gnulib-tool
86419         doesn't know how to handle more-permissive licenses.
86420
86421         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
86422         Problem reported by Dave Love.
86423
86424 2005-05-08  Jim Meyering  <jim@meyering.net>
86425
86426         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
86427         blank.
86428
86429 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
86430
86431         * modules/argmatch (Depends-on): Add stdbool.
86432         * modules/backupfile (Depends-on): Likewise.
86433         * modules/chdir-long (Depends-on): Likewise.
86434         * modules/closeout (Depends-on): Likewise.
86435         * modules/cycle-check (Depends-on): Likewise.
86436         * modules/dirname (Depends-on): Likewise.
86437         * modules/fnmatch (Depends-on): Likewise.
86438         * modules/fsusage (Depends-on): Likewise.
86439         * modules/fwriteerror (Depends-on): Likewise.
86440         * modules/getcwd (Depends-on): Likewise.
86441         * modules/getloadavg (Depends-on): Likewise.
86442         * modules/hard-locale (Depends-on): Likewise.
86443         * modules/makepath (Depends-on): Likewise.
86444         * modules/mountlist (Depends-on): Likewise.
86445         * modules/nanosleep (Depends-on): Likewise.
86446         * modules/posixtm (Depends-on): Likewise.
86447         * modules/quotearg (Depends-on): Likewise.
86448         * modules/readtokens (Depends-on): Likewise.
86449         * modules/readtokens0 (Depends-on): Likewise.
86450         * modules/readutmp (Depends-on): Likewise.
86451         * modules/save-cwd (Depends-on): Likewise.
86452         * modules/strftime (Depends-on): Likewise.
86453         * modules/userspec (Depends-on): Likewise.
86454         * modules/utimecmp (Depends-on): Likewise.
86455         * modules/xgetcwd (Depends-on): Likewise.
86456         * modules/xnanosleep (Depends-on): Likewise.
86457         * modules/xstrtod (Depends-on): Likewise.
86458         * modules/yesno (Depends-on): Likewise.
86459
86460 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
86461
86462         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
86463         needless checks.
86464
86465 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
86466
86467         Merge from coreutils.  Among other things,
86468         add bulletproofing for cases where stdin, stdout, or stderr are closed.
86469         * lib/fd-safer.c: New file.
86470         * lib/fcntl-safer.h, open-safer.c: Remove.
86471         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
86472         * lib/dup-safer.c: Include unistd-safer.h first.
86473         Don't include errno.h.
86474         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
86475         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
86476         * lib/file-type.c: Rely on file-type.h change.
86477         * lib/getloadavg.c: Include unistd-safer.h.
86478         (getloadavg): Use safer open.
86479         * lib/getusershell.c: Include "stdio-safer.h".
86480         (getusershell): Use safer fopen.
86481         * lib/long-options.c (long_options): Use NULL rather than 0.
86482         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
86483         'free'.
86484         * lib/modechange.c: Likewise.
86485         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
86486         (MODE_DONE): New constant.
86487         (struct mode_change): Remove 'next' member.
86488         (make_node_op_equals): New function; like the old one of the
86489         same name, except it allocates an array.
86490         (mode_compile, mode_create_from_ref): Use it.
86491         (mode_compile): Allocate result as an array, not a linked list.
86492         Parse octal string ourself, so that we catch mistakes like "+0".
86493         (mode_adjust): Arg is an array, not a linked list.
86494         * lib/modechange.c: Include stat-macros.h, xalloc.h.
86495         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
86496         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
86497         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
86498         Remove.  This is now stat-macros.h's job.
86499         (talloc): Remove.  All callers replaced by xalloc, so that
86500         our invokers don't have to worry about reporting memory failures.
86501         (make_node_op_equals): Remove.
86502         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
86503         New constants.
86504         (struct mode_change): Moved here from modechange.h.
86505         (mode_append_entry): Remove.
86506         (mode_compile): Remove MASKED_OPS arg, since it encouraged
86507         apps to have incorrect behavior.  Use simpler algorithm for head
86508         and tail.  Don't futz with umask; that's now the job of mode_adjust.
86509         Detect more invalid usages rather than having somewhat-random behavior.
86510         Don't insert an "a=" action, as that leads to incorrect behavior.
86511         (mode_compile, mode_create_from_ref): Return NULL on error instead
86512         of an enum, since now there's only one way to have an error.  All
86513         callers changed.
86514         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
86515         at the correct time.  Simplify calculation of "+u" and its ilk.
86516         Don't mishandle "+X".
86517         (mode_free): Remove "register" and localize decls.
86518         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
86519         (struct mode_change): Move to modechange.c; callers don't
86520         need to see this stuff.
86521         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
86522         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
86523         (mode_change, mode_adjust): Reflect the new signatures noted above.
86524         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
86525         that might redefine system include files.
86526         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
86527         (my_usleep): Use NULL rather than (void *) 0.
86528         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
86529         Use siginterrupt to specify that system calls should be interrupted.
86530         (rpl_nanosleep): Move initialization of suspended closer to call of
86531         my_usleep.
86532         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
86533         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
86534         (desirable_utmp_entry): New function.
86535         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
86536         using x2nrealloc, to simplify logic.
86537         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
86538         size calculation.  Do not assume utmp file is a regular file.
86539         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
86540         (READ_UTMP_CHECK_PIDS): New constant.
86541         * lib/save-cwd.c: Include unistd-safer.h.
86542         (save_cwd): Use fd_safer.
86543         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
86544         [!_LIBC] Include "stat-macros.h" instead.
86545         * lib/unistd-safer.h (fd_safer): New decl.
86546
86547 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
86548
86549         * modules/getloadavg (Depends-on): Add unistd-safer.
86550         * modules/getusershell (Depends-on): Add stdio-safer.
86551         * modules/lstat (Depends-on): Remove xalloc.
86552         * modules/mkstemp (Depends-on): Add stat-macros.
86553         * modules/modechange (Depends-on): Remove xstrtol.
86554         Add stat-macros, xalloc.
86555         * modules/save-cwd (Depends-on): Add unistd-safer.
86556         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
86557         * modules/unistd-safer (Files): Add lib/fd-safer.c
86558         (Makefile.am): Remove lib_SOURCES.
86559
86560         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
86561         Remove fcntl-safer; unistd-safer supersedes it.
86562
86563 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
86564
86565         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
86566         AC_HEADER_STAT.
86567         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
86568         (gl_PREREQ_CHOWN): Remove.
86569         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
86570         it.  Don't require AC_HEADER_STAT.
86571         (gl_PREREQ_LSTAT): Remove.
86572         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
86573         Don't require AC_HEADER_STAT.
86574         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
86575         (gl_PREREQ_RMDIR): Remove.
86576         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
86577         mention stat-macros.h or AC_HEADER_STAT, since we'll make
86578         the stat-macros module a prerequisite.
86579         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
86580         * m4/filemode.m4 (gl_FILEMODE): Likewise.
86581         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
86582         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
86583         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
86584         variable names.
86585         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
86586         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
86587         variable prefixes.
86588         * m4/fcntl-safer.m4: Remove.
86589         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
86590         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
86591         Invoke gl_PREREQ_FD_SAFER.
86592         (gl_PREREQ_FD_SAFER): New macro.
86593         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
86594         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
86595         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
86596         Remove duplicate call to AC_LIBOBJ(readutmp).
86597         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
86598
86599         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
86600         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
86601
86602 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
86603
86604         * MODULES.html.sh (Misc): Add byteswap.
86605
86606 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
86607
86608         * modules/getcwd (Depends-on): Add extensions.
86609         * modules/openat (Depends-on): Likewise.
86610
86611 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
86612
86613         * modules/byteswap: New file.
86614
86615 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
86616
86617         * m4/byteswap.m4: New file.
86618
86619 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
86620
86621         * lib/byteswap_.h: New file.
86622
86623 2005-04-25  Karl Berry  <karl@gnu.org>
86624
86625         * m4/gettext.m4: Update from GNU gettext 0.14.4.
86626
86627 2005-04-25  Albert Chin  <china@thewrittenword.com>
86628
86629         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
86630         Toolkit C bug.
86631
86632 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
86633
86634         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
86635         (func_ln_if_changed): Remove forcibly for no error message
86636         in case file does not exist.
86637
86638 2005-04-19  Simon Josefsson  <jas@extundo.com>
86639
86640         * gnulib-tool (Options): Make --symlink mean --symbolic.
86641
86642 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
86643
86644         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
86645
86646 2005-04-16  Simon Josefsson  <jas@extundo.com>
86647
86648         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
86649
86650 2005-04-15  Simon Josefsson  <jas@extundo.com>
86651
86652         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
86653
86654 2005-04-15  Simon Josefsson  <jas@extundo.com>
86655
86656         * gnulib-tool: Rename --symlink to --symbolic.
86657
86658 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
86659
86660         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
86661         symbolic links to files instead of copying/moving.  Add --aux-dir,
86662         specifying directory relative --dir where auxiliary build tools
86663         are placed.
86664
86665 2005-04-14  Bruno Haible  <bruno@clisp.org>
86666
86667         * modules/allocsa (License): Change to LGPL.
86668         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
86669
86670 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
86671
86672         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
86673         that "UTC +1 second" continues to work.  Problem reported
86674         by Dmitry V. Levin.
86675         (relunit_snumber): New rule.
86676         (relunit): Use it.
86677
86678 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
86679
86680         * lib/getdate.y (universal_time_zone_table): New constant.
86681         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
86682         universal_time_zone_table.
86683         (lookup_zone): Prefer universal_time_zone_table to
86684         local_time_zone_table, so that "GMT" time stamps are allowed in
86685         London during the summer.  Problem reported by Ian Abbott.
86686
86687 2005-04-12  Jim Meyering  <jim@meyering.net>
86688
86689         * lib/human.c (humblock): Set *options even when returning due to
86690         xstrtoumax conversion failure.  Thanks to a used-uninitialized
86691         warning from gcc-4.
86692
86693 2005-04-09  Jim Meyering  <jim@meyering.net>
86694
86695         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
86696         -Wuninitialized: initialize tm0.tm_year.
86697
86698 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
86699
86700         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
86701         count, since there's no maximum.  All uses changed.
86702         Add member dsts_seen.
86703         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
86704         not being INT_MAX.
86705         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
86706         Use pc_rels_seen to decide whether a date is absolute.
86707
86708         * lib/getdate.y (number): Don't overwrite year.
86709         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
86710         check.
86711
86712 2005-04-02  Simon Josefsson  <jas@extundo.com>
86713
86714         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
86715         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
86716
86717 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
86718
86719         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
86720         where no absolute path name can be longer than PATH_MAX.
86721
86722 2005-03-27  Jim Meyering  <jim@meyering.net>
86723
86724         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
86725
86726 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
86727
86728         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
86729         "one's complement" -> "ones' complement" in comment, as per Knuth.
86730         "value of type" -> "type or expression" in comment.
86731         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
86732
86733 2005-03-26  Jim Meyering  <jim@meyering.net>
86734
86735         Comment nits.
86736         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
86737         Correct typos: s/or/of/.
86738
86739 2005-03-26  Jim Meyering  <jim@meyering.net>
86740
86741         * modules/check-include-files: Move to ../ and rename to...
86742         * check-module: ...this.
86743
86744 2005-03-25  Jim Meyering  <jim@meyering.net>
86745
86746         * modules/xvasprintf (Files): Add xalloc.h.
86747
86748 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
86749
86750         * modules/gettext (Files): config/config.rpath ->
86751         build-aux/config.rpath
86752         * modules/iconv (Files): Likewise.
86753         Problem reported by Oskar Liljeblad.
86754
86755 2005-03-23  Jim Meyering  <jim@meyering.net>
86756
86757         * modules/check-include-files: New script to check for
86758         missing dependencies, multiple includes, etc.
86759
86760         * modules/c-strtold (Depends-on): Add xalloc.
86761         * modules/c-strtod (Depends-on): Add xalloc.
86762         * modules/hash (Depends-on): Add xalloc.
86763         (Files): Remove lib/xalloc.h.
86764
86765         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
86766         * modules/userspec (Files): Add lib/inttostr.h.
86767
86768 2005-03-23  Jim Meyering  <jim@meyering.net>
86769
86770         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
86771
86772 2005-03-22  Jim Meyering  <jim@meyering.net>
86773
86774         * modules/stat-macros: New module.
86775         * modules/canonicalize, modules/euidaccess, modules/file-type,
86776         * modules/filemode, modules/lchown, modules/makepath,
86777         * modules/rmdir, modules/stat: Depend on new stat-macros module
86778         rather than listing lib/stat-macros.h manually.
86779         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
86780
86781 2005-03-22  Jim Meyering  <jim@meyering.net>
86782
86783         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
86784
86785 2005-03-22  Bruno Haible  <bruno@clisp.org>
86786
86787         * config/srclist.txt: Replace target directory 'config' with
86788         'build-aux'.
86789         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
86790         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
86791         ../build-aux/.
86792
86793 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
86794
86795         * modules/chdir-long (Depends-on): Add mempcpy.
86796
86797         * modules/acl, modules/backupfile, modules/c-strtod,
86798         modules/c-strtold, modules/canon-host, modules/canonicalize,
86799         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
86800         modules/exclude, modules/exitfail, modules/file-type,
86801         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
86802         modules/getdate, modules/getline, modules/getpagesize,
86803         modules/getpass, modules/getugroups, modules/group-member,
86804         modules/hard-locale, modules/hash, modules/human, modules/idcache,
86805         modules/inttostr, modules/long-options, modules/makepath,
86806         modules/md5, modules/memcasecmp, modules/memcoll,
86807         modules/modechange, modules/mountlist, modules/path-concat,
86808         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
86809         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
86810         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
86811         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
86812         modules/strftime, modules/strndup, modules/strverscmp,
86813         modules/timespec, modules/unlocked-io, modules/userspec,
86814         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
86815         modules/yesno:
86816         Remove lib_SOURCES line from Makefile.am section, as this is now
86817         done automatically by the corresponding Autoconf macro.
86818
86819 2005-03-21  Jim Meyering  <jim@meyering.net>
86820
86821         Changes imported from coreutils.
86822
86823         * lib/cycle-check.c: Don't include xalloc.h.
86824
86825         * lib/path-concat.c: Don't include assert.h.
86826         (path_concat): Remove assertion that would have triggered
86827         for ABASE starting with more than one slash.
86828         Reported by Andreas Schwab.
86829
86830         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
86831         properly when ABASE is an absolute file name.
86832         Correct the description of this function.
86833         Include <assert.h>.
86834         Add an assertion and a test driver.
86835         This fixes a bug introduced on 2004-07-02.
86836         Andreas Schwab reported the resulting failure of cp --parents:
86837         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
86838
86839 2005-03-21  Jim Meyering  <jim@meyering.net>
86840
86841         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
86842         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
86843
86844 2005-03-21  Jim Meyering  <jim@meyering.net>
86845         and  Paul Eggert  <eggert@cs.ucla.edu>
86846
86847         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
86848         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
86849         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
86850         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
86851         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
86852         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
86853         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
86854         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
86855         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
86856         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
86857         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
86858         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
86859         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
86860         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
86861         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
86862         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
86863         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
86864         for these modules.
86865
86866 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
86867
86868         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
86869         (which shouldn't happen), generate nothing instead of returning 0
86870         immediately, so that nstrftime (NULL, ...) doesn't return 0.
86871
86872 2005-03-16  Bruno Haible  <bruno@clisp.org>
86873
86874         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
86875         HAVE_LONGLONG_64BIT.
86876
86877 2005-03-16  Bruno Haible  <bruno@clisp.org>
86878
86879         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
86880         HAVE_LONGLONG_64BIT.
86881
86882 2005-03-16  Bruno Haible  <bruno@clisp.org>
86883
86884         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
86885         HAVE_LONGLONG_64BIT.
86886
86887 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
86888
86889         * lib/strftime.c (my_strftime): Prepend space to format so that we can
86890         reliably distinguish strftime failure from empty output on POSIX
86891         hosts.
86892
86893 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
86894
86895         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
86896         (iconv_string): Don't guess a size-zero buffer, as that might cause
86897         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
86898         result would be 'too large', where 'too large' is (heuristically)
86899         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
86900         overflow concerns.  This will prevent some unwanted malloc failures
86901         when the inputs are very large.
86902
86903 2005-03-15  Karl Berry  <karl@gnu.org>
86904
86905         * config/srclist.txt (config.rpath): from gettext.
86906         * config/config.rpath: update.
86907
86908 2005-03-15  Bruno Haible  <bruno@clisp.org>
86909
86910         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
86911         to 'negate'.
86912
86913         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
86914         variable.
86915
86916         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
86917         results.
86918
86919 2005-03-14  Simon Josefsson  <jas@extundo.com>
86920
86921         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
86922         <fx@gnu.org>.
86923
86924 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
86925
86926         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
86927         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
86928         intprops.h.
86929         * lib/strtol.c: Likewise.
86930
86931 2005-03-14  Jim Meyering  <jim@meyering.net>
86932
86933         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
86934         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
86935         to be nonzero so that we (and caller) can detect the difference
86936         between a valid zero-length expansion and an error return, even
86937         when the underlying strftime fails before writing anything into
86938         that location.
86939
86940 2005-03-14  Bruno Haible  <bruno@clisp.org>
86941
86942         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
86943         Update from GNU gettext 0.14.3.
86944
86945 2005-03-10  Jim Meyering  <jim@meyering.net>
86946
86947         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
86948
86949 2005-03-10  Jim Meyering  <jim@meyering.net>
86950
86951         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
86952         so that this module works on systems without fchdir.
86953
86954 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
86955
86956         Factor int-properties macros into a single file, except for
86957         glibc-related files.
86958         * lib/intprops.h: New file.
86959         * lib/getloadavg.c: Include it instead of limits.h.
86960         (INT_STRLEN_BOUND): Remove.
86961         * lib/human.c: Include intprops.h.
86962         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
86963         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
86964         302/1000.
86965         * lib/inttostr.h: Include intprops.h instead of limits.h.
86966         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
86967         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
86968         for consistency with intprops.h.
86969         (time_t_is_integer, twos_complement_arithmetic): Use them.
86970         * lib/sig2str.h: Include <signal.h>, intprops.h.
86971         (INT_STRLEN_BOUND): Remove.
86972         * lib/strftime.c (TYPE_SIGNED): Remove.
86973         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
86974         * lib/strtol.c: Adjust comments to match intprops.h.
86975         * lib/userspec.c: Include intprops.h.
86976         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
86977         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
86978         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
86979         instead of rolling our own expressions.
86980         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
86981
86982         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
86983         instead of int.
86984         (my_strftime): Do not mishandle years close to INT_MAX, by doing
86985         the right thing even if adding 1900 would overflow.  Similarly
86986         for tm_mon + 1 and tm_yday + 1.
86987         Make %Y always equivalent to %C%y, and similarly for %G and %g.
86988         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
86989         (DO_SIGNED_NUMBER): New macro.
86990         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
86991
86992 2005-03-07  Bruno Haible  <bruno@clisp.org>
86993
86994         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
86995
86996 2005-03-07  Bruno Haible  <bruno@clisp.org>
86997
86998         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
86999
87000 2005-03-04  Derek R. Price  <derek@ximbiot.com>
87001
87002         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
87003         (func_import): Only replace files via --import when they have actually
87004         changed.
87005
87006 2005-03-03  Derek R. Price  <derek@ximbiot.com>
87007
87008         * m4/mmap-anon.m4: New file.
87009         * m4/pagealign_alloc.m4: New file.
87010
87011 2005-03-03  Derek R. Price  <derek@ximbiot.com>
87012             Bruno Haible  <bruno@clisp.org>
87013
87014         * modules/pagealign_alloc: New file.
87015         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
87016
87017 2005-03-03  Derek R. Price  <derek@ximbiot.com>
87018             Bruno Haible  <bruno@clisp.org>
87019
87020         * lib/pagealign_alloc.h: New file.
87021         * lib/pagealign_alloc.c: New file.
87022
87023 2005-03-03  Bruno Haible  <bruno@clisp.org>
87024
87025         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
87026         Use an all-permissive copyright notice, recommended by RMS.
87027
87028 2005-03-02  Bruno Haible  <bruno@clisp.org>
87029
87030         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
87031         of AIX, the replacement has to be done only after <string.h> is
87032         included, therefore not in config.h. stpncpy.h does the replacement,
87033         and stpncpy.c uses it.
87034
87035 2005-03-02  Bruno Haible  <bruno@clisp.org>
87036
87037         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
87038         stpncpy.c uses it.
87039
87040 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
87041
87042         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
87043         The workaround isn't strictly needed for POSIX conformance, and
87044         it's too much of a pain to configure and maintain.  We'll ask
87045         people to fix their kernels instead.
87046         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
87047         (NANOSLEEP_BUG_WORKAROUND): Remove.
87048         (xnanosleep): Remove the workaround.
87049
87050 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
87051
87052         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
87053         Reported by Derek Price.
87054         (Include): Add "timespec.h".
87055
87056         * modules/xnanosleep (Depends-on): Remove gethrxtime.
87057
87058 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
87059
87060         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
87061         to detect nanosleep bug.
87062
87063 2005-03-01  Bruno Haible  <bruno@clisp.org>
87064
87065         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
87066
87067 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
87068
87069         * modules/gethrxtime: New file.
87070         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
87071         (Depends-on): Add gethrxtime.
87072         (configure.ac): Add gl_XNANOSLEEP.
87073         (Makefile.am): Remove lib_SOURCES line.
87074
87075 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
87076
87077         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
87078         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
87079
87080 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
87081
87082         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
87083         * lib/timespec.h (gettime): Return void, since it always
87084         succeeds now.  All uses changed.
87085         * lib/gettime.c (gettime): Likewise.
87086         [HAVE_NANOTIME]: Prefer nanotime.
87087         Assume gettimeofday succeeds, as POSIX requires.
87088         Assime time () succeeds, since other code already does.
87089         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
87090         (timespec_subtract): Remove.
87091         (NANOSLEEP_BUG_WORKAROUND): New constant.
87092         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
87093         things considerably.  Use it only on GNU/Linux hosts, since the
87094         workaround shouldn't be needed elsewhere.
87095
87096 2005-02-24  Bruno Haible  <bruno@clisp.org>
87097
87098         * modules/gettext (Files): Add m4/glibc2.m4.
87099
87100 2005-02-24  Bruno Haible  <bruno@clisp.org>
87101
87102         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
87103         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
87104         * m4/progtest.m4:
87105         Update from GNU gettext 0.14.2.
87106         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
87107
87108 2005-02-24  Bruno Haible  <bruno@clisp.org>
87109
87110         * lib/localcharset.c: Update from GNU gettext 0.14.2.
87111         * lib/config.charset: Update from GNU gettext 0.14.2.
87112
87113 2005-02-24  Bruno Haible  <bruno@clisp.org>
87114
87115         * lib/gettext.h: Update from GNU gettext 0.14.2.
87116
87117 2005-02-23  Simon Josefsson  <jas@extundo.com>
87118
87119         * m4/iconvme.m4: New file.
87120
87121 2005-02-23  Jim Meyering  <jim@meyering.net>
87122
87123         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
87124         change.
87125         Thanks to Bruno Haible for catching it.
87126
87127 2005-02-22  Simon Josefsson  <jas@extundo.com>
87128
87129         * modules/iconvme: New file.
87130
87131         * MODULES.html.sh: Add iconvme.
87132
87133 2005-02-22  Simon Josefsson  <jas@extundo.com>
87134
87135         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
87136
87137 2005-02-22  Simon Josefsson  <jas@extundo.com>
87138
87139         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
87140
87141 2005-02-22  Jim Meyering  <jim@meyering.net>
87142
87143         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
87144         s/ifndef/ifdef/.
87145
87146 2005-02-20  Neil Conway  <neilc@samurai.com>
87147
87148         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
87149         returned by OSX/Darwin if the specified buffer is not large
87150         enough for the hostname.
87151
87152 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87153
87154         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
87155         pass it to _help, otherwise the latter coredumps trying to
87156         dereference state.root_argp.
87157
87158 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
87159
87160         * modules/chdir-long (Depends-on): Add memrchr.
87161         * modules/memrchr (Files): Add lib/memrchr.h.
87162         (Include): "memrchr.h".
87163
87164 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
87165
87166         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
87167
87168 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
87169
87170         * lib/memrchr.h: New file.
87171         * lib/chdir-long.c: Include it.
87172         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
87173         Don't bother including stddef.h.
87174
87175 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
87176
87177         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
87178         inclusion.
87179         Include <sys/types.h>, for dev_t.
87180         (ME_DUMMY, ME_REMOTE): Move from here....
87181         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
87182         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
87183         Dmitry V. Levin.
87184         Include mountlist.h first, to test the interface.
87185
87186 2005-01-29  Bruno Haible  <bruno@clisp.org>
87187
87188         * lib/progname.c (program_name): Initialize.
87189         Needed when linking statically on MacOS X.
87190
87191 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
87192
87193         Sync from coreutils.
87194         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
87195         (Depends-on): Add c-strtod.
87196         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
87197
87198 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
87199
87200         Sync from coreutils.
87201         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
87202
87203         Remove files that are specific to coreutils.
87204         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
87205
87206 2005-01-28  Bruno Haible  <bruno@clisp.org>
87207
87208         * modules/javacomp: New file.
87209         * MODULES.html.sh (Java): Add javacomp.
87210
87211 2005-01-28  Bruno Haible  <bruno@clisp.org>
87212
87213         * m4/javacomp.m4: New file, from GNU gettext.
87214
87215 2005-01-28  Bruno Haible  <bruno@clisp.org>
87216
87217         * lib/javacomp.sh.in: New file, from GNU gettext.
87218         * lib/javacomp.h: New file, from GNU gettext.
87219         * lib/javacomp.c: New file, from GNU gettext.
87220
87221 2005-01-26  Simon Josefsson  <jas@extundo.com>
87222
87223         * lib/gai_strerror.c: Use GPL in header.
87224
87225 2005-01-26  Bruno Haible  <bruno@clisp.org>
87226
87227         * modules/javaexec: New file.
87228         * MODULES.html.sh (Java): Add javaexec.
87229
87230 2005-01-26  Bruno Haible  <bruno@clisp.org>
87231
87232         * m4/javaexec.m4: New file, from GNU gettext.
87233
87234 2005-01-26  Bruno Haible  <bruno@clisp.org>
87235
87236         * lib/javaexec.sh.in: New file, from GNU gettext.
87237         * lib/javaexec.h: New file, from GNU gettext.
87238         * lib/javaexec.c: New file, from GNU gettext.
87239
87240 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87241
87242         * modules/lchown (Depends-on): Remove lchown.h
87243
87244 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87245
87246         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
87247         must be defined if the header file was not found, in order
87248         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
87249
87250 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87251
87252         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
87253         initializers for struct pentry_state.
87254         (__argp_error): Check return value of __asprintf
87255         (__argp_failure): Translate error message
87256
87257         * lib/argp-parse.c: Removed braces around the expansion of N_()
87258
87259 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
87260
87261         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
87262         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
87263         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
87264         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
87265         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
87266         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
87267         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
87268         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
87269         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
87270         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
87271         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
87272         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
87273         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
87274         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
87275         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
87276         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
87277         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
87278         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
87279         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
87280         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
87281         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
87282         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
87283         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
87284         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
87285         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
87286         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
87287         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
87288         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
87289         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
87290         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
87291         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
87292         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
87293         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
87294         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
87295         xstrtol.m4, xstrtoumax.m4, yesno.m4:
87296         Use an all-permissive copyright notice, recommended by RMS.
87297
87298 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
87299
87300         * modules/chdir-long (Depends-on): Remove mempcpy.
87301
87302 2005-01-21  Jim Meyering  <jim@meyering.net>
87303
87304         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
87305         same value as for Solaris 9.
87306
87307         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
87308         component length.  This included changing the parameter to be
87309         of type `char *' rather than `char const *'.
87310         * lib/chdir-long.h (chdir_long): Update prototype.
87311
87312         * lib/openat.c (fdopendir, fstatat): New functions.
87313         * lib/openat.h: Include headers required for use of DIR and struct
87314         stat.
87315         [AT_SYMLINK_NOFOLLOW]: Define.
87316         (fdopendir, fstatat): Add prototypes.
87317
87318 2005-01-21  Bruno Haible  <bruno@clisp.org>
87319
87320         * modules/classpath: New file.
87321         * MODULES.html.sh (Java): Add classpath.
87322
87323 2005-01-21  Bruno Haible  <bruno@clisp.org>
87324
87325         * lib/classpath.h: New file, from GNU gettext.
87326         * lib/classpath.c: New file, from GNU gettext.
87327
87328 2005-01-20  Simon Josefsson  <jas@extundo.com>
87329
87330         * modules/version-etc-fsf: New file.
87331
87332 2005-01-20  Simon Josefsson  <jas@extundo.com>
87333
87334         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
87335         * lib/version-etc.c: Remove version_etc_copyright.
87336         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
87337         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
87338
87339 2005-01-20  Simon Josefsson  <jas@extundo.com>
87340
87341         * lib/base64.h (isbase64): Add.
87342
87343         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
87344         using a unsigned prototype, don't inline.
87345         (base64_decode): Use it.
87346
87347 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
87348
87349         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
87350         it.
87351
87352 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
87353
87354         * lib/save-cwd.c (save_cwd): Remove code to support the case
87355         where fchdir is missing or flaky.
87356
87357 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
87358
87359         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
87360
87361 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
87362
87363         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
87364         AC_LIBSOURCES now does this.
87365         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
87366         with new ullong_max module.
87367
87368 2005-01-19  Bruno Haible  <bruno@clisp.org>
87369
87370         * modules/sh-quote: New file.
87371         * MODULES.html.sh (Executing programs): Add sh-quote.
87372
87373 2005-01-19  Bruno Haible  <bruno@clisp.org>
87374
87375         * lib/sh-quote.h: New file, from GNU gettext.
87376         * lib/sh-quote.c: New file, from GNU gettext.
87377
87378 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
87379
87380         Merge from coreutils.
87381         * m4/ullong_max.m4: New file.
87382         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
87383         (gl_MACROS): Assume localeconv exists.
87384
87385 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
87386
87387         Merge changes from coreutils, as described below in several
87388         changelogs dated today.
87389
87390         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
87391         (O_DIRECTORY): Remove; not needed here, since "." must be
87392         a directory.  All uses removed.
87393         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
87394         universal on Suns, and we also need to test for IRIX.
87395         Revamp code to use 'if' rather than '#if'.
87396         Avoid unnecessary comparison of cwd->desc to 0.
87397
87398         * lib/utimens.c (futimens): Robustify the previous patch, by checking
87399         for known valid error numbers rather than observed invalid ones.
87400
87401 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
87402
87403         * modules/ullong_max: New file.
87404
87405         * modules/chdir-long, modules/openat: New files.
87406         * modules/save-cwd (Depends-on): Depend on chdir-long.
87407         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
87408
87409 2005-01-18  Jim Meyering  <jim@meyering.net>
87410
87411         Merge from coreutils.
87412         * m4/chdir-long.m4, m4/openat.m4: New files.
87413         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
87414         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
87415         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
87416         is sane and DOES follow symlinks.  Besides, testing 20 different
87417         systems found no broken chown implementations.
87418         Prompted by a change in rsync's copy of this macro.
87419         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
87420
87421         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
87422
87423         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
87424         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
87425         NULL-means-set-to-current-time semantics.
87426         Remove temporary file immediately, rather than waiting
87427         for configure's at-exit trap code to do it.
87428
87429 2005-01-18  Jim Meyering  <jim@meyering.net>
87430
87431         * lib/version-etc.c (version_etc_copyright): Update copyright date.
87432
87433         * lib/utimens.c (futimens): Account for the fact that futimes
87434         can also fail with errno == ENOSYS or errno == ENOENT.
87435         Patch from Dmitry V. Levin.
87436
87437         Change the name of the robust chdir function from chdir to chdir_long.
87438         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
87439         (restore_cwd): Use chdir_long, not chdir.
87440         * lib/chdir-long.c: Renamed from chdir.c.
87441         * lib/chdir-long.h: Renamed from chdir.h.
87442         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
87443         Hurd.
87444
87445 2005-01-18  Bruno Haible  <bruno@clisp.org>
87446
87447         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
87448         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
87449         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
87450         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
87451         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
87452         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
87453         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
87454         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
87455         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
87456         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
87457         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
87458         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
87459         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
87460         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
87461         Use an all-permissive copyright notice, recommended by RMS.
87462
87463 2005-01-18  Bob Proulx  <bob@proulx.com>
87464
87465         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
87466         simplify offsetof() macro construct to avoid compile failure with
87467         native HP-UX 11.0 ANSI C compiler.
87468
87469 2005-01-17  Bruno Haible  <bruno@clisp.org>
87470
87471         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
87472         redundant because stpncpy.m4 takes care of it.
87473
87474 2005-01-17  Bruno Haible  <bruno@clisp.org>
87475
87476         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
87477
87478 2005-01-17  Bruno Haible  <bruno@clisp.org>
87479
87480         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
87481         used.
87482
87483 2005-01-17  Bruno Haible  <bruno@clisp.org>
87484
87485         * lib/fwriteerror.h (fwriteerror): Change specification to include
87486         fclose.
87487         * lib/fwriteerror.c: Include <stdbool.h>.
87488         (fwriteerror): At the end, close the file stream. Record whether
87489         stdout was already closed.
87490
87491 2005-01-17  Bruno Haible  <bruno@clisp.org>
87492
87493         * lib/execute.c (environ): Declare if needed.
87494         * lib/pipe.c (environ): Likewise.
87495         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
87496
87497 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87498
87499         * modules/argp: Depend on vsnprintf
87500
87501 2005-01-10  Jim Meyering  <jim@meyering.net>
87502
87503         * modules/closeout (Depends-on): Add atexit.
87504
87505 2005-01-06  Bruno Haible  <bruno@clisp.org>
87506
87507         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
87508
87509 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
87510
87511         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
87512         definitions to be after all include files, to avoid collisions.
87513         Problem reported by Bob Proulx.
87514
87515 2005-01-04  Jim Meyering  <jim@meyering.net>
87516
87517         Changes imported from coreutils.
87518         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
87519         as the mkstemp template, use a temporary directory and an
87520         8.3-friendly template to avoid trouble on systems like DJGPP.
87521         Reported by Juan M. Guerrero via Stepan Kasal.
87522         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
87523         close. Remove the temporary directory right away, rather than waiting
87524         for configure's at-exit trap code to do it.
87525         Suggestion from Stepan Kasal.
87526
87527 2005-01-01  Simon Josefsson  <jas@extundo.com>
87528
87529         * gnulib-tool: Print #include directives when --import'ing.
87530
87531 2004-12-28  Simon Josefsson  <jas@extundo.com>
87532
87533         * tests/test-base64.c: Include required header files.  Remove
87534         unused variables.
87535
87536 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
87537
87538         * modules/error (Depends-on): Remove gettext.
87539
87540 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
87541
87542         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
87543         not needed.  This removes a dependency on the gettext module.
87544         [defined _LIBC]: Do not include <libintl.h>; not needed.
87545
87546 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
87547
87548         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
87549         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
87550
87551 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
87552
87553         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
87554         HAVE_DECL_STRTOLD.
87555
87556 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
87557
87558         * modules/getdate (Depends-on): Remove alloca-opt.
87559
87560 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
87561
87562         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
87563
87564 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
87565
87566         * lib/argp-parse.c: Include <stddef.h>.
87567         (alignof, alignto): New macros.
87568         (parser_init): Don't assume that void * is aligned sufficiently
87569         for struct option.
87570
87571         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
87572         need to extend the stack.
87573         (YYINITDEPTH): New macro, so that the initial stack isn't overly
87574         large.
87575
87576 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87577
87578         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
87579
87580 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
87581
87582         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
87583         (2004-10-24) change.  Apparently this was a false alarm.
87584
87585         * modules/getdate: Depend on alloca-opt, not alloca.
87586
87587 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
87588
87589         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
87590         Remove now-obsolete comment about AIX.
87591         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
87592         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
87593         (YYMAXDEPTH): New macro.
87594
87595 2004-12-18  Simon Josefsson  <jas@extundo.com>
87596
87597         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
87598
87599 2004-12-18  Bruno Haible  <bruno@clisp.org>
87600
87601         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
87602
87603 2004-12-18  Bruno Haible  <bruno@clisp.org>
87604
87605         * lib/fatal-signal.c (fatal_signals): Make non-const.
87606         (init_fatal_signals): New function.
87607         (uninstall_handlers, install_handlers): Ignore signals that were set to
87608         SIG_IGN.
87609         (at_fatal_signal): Call init_fatal_signals.
87610         (init_fatal_signal_set): Likewise. Ignore signals that were set to
87611         SIG_IGN.
87612         Reported by Paul Eggert.
87613
87614 2004-12-18  Bruno Haible  <bruno@clisp.org>
87615
87616         * doc/alloca.texi: New file.
87617         * doc/alloca-opt.texi: New file.
87618
87619 2004-12-17  Jim Meyering  <jim@meyering.net>
87620
87621         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
87622         Otherwise, install-sh could exit with improper exit status when
87623         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
87624
87625 2004-12-16  Simon Josefsson  <jas@extundo.com>
87626
87627         * tests/test-base64.c: Add license.
87628
87629 2004-12-15  Stepan Kasal  <address@hidden>
87630
87631         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
87632
87633 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
87634
87635         * modules/getcwd (Files): Add m4/d-ino.m4.
87636         Suggested by Mark D. Baushke.
87637
87638 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
87639
87640         * lib/getdate.y (textint): New member "negative".
87641         (time_zone_hhmm): New function.
87642         Expect 14 shift-reduce conflicts, not 13.
87643         (o_colon_minutes): New rule.
87644         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
87645         (yylex): Set the "negative" member of signed numbers.
87646
87647 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
87648
87649         * doc/getdate.texi (Time of day items, Time zone items):
87650         Describe new formats +00:00, UTC+00:00.
87651
87652 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
87653
87654         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
87655         spurious "-l"s.  Problem reported by Stepan Kasal.
87656
87657 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
87658
87659         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
87660         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
87661
87662 2004-12-04  Simon Josefsson  <jas@extundo.com>
87663
87664         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
87665         Vandoorselaere <yoann@prelude-ids.org>.
87666
87667 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
87668
87669         Changes imported from coreutils.
87670         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
87671         exist.
87672         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
87673
87674 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
87675
87676         Changes imported from coreutils.
87677         * lib/hard-locale.c: Assume <locale.h> exists.
87678         Include "strdup.h".
87679         (GLIBC_VERSION): New macro.
87680         (hard_locale): Assume setlocale exists.
87681         Rewrite to avoid #ifdef.
87682         Use strdup rather than malloc + strcpy.
87683         * lib/human.c: Assume <locale.h> exists.
87684         (human_readable): Assume localeconv exists.
87685
87686 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
87687
87688         * modules/hard-locale (Depends-on): Add strdup.
87689
87690 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
87691
87692         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
87693         convert T2, not T.  (Imported from libc.)
87694
87695 2004-11-30  Simon Josefsson  <jas@extundo.com>
87696
87697         * modules/restrict (License): Change to LGPL.
87698
87699 2004-11-30  Simon Josefsson  <jas@extundo.com>
87700
87701         * m4/restrict.m4: Add copyright and copying conditions.
87702
87703 2004-11-30  Simon Josefsson  <jas@extundo.com>
87704
87705         * m4/base64.m4: New file.
87706
87707 2004-11-30  Simon Josefsson  <jas@extundo.com>
87708
87709         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
87710         base64.
87711
87712         * tests/test-base64.c: New file.
87713
87714         * modules/base64: New file.
87715
87716 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
87717
87718         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
87719         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
87720
87721         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
87722
87723 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
87724
87725         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
87726         (__getcwd.c): Don't restore errno; glibc doesn't.
87727         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
87728         first, falling back to our code only if its results look suspicious.
87729         Ensure that the resulting buffer is only as large as necessary.
87730
87731         * lib/readutmp.c: Include readutmp.h first.
87732         Include <errno.h>, since readutmp.h no longer does that.
87733         * lib/readutmp.h: Don't include <errno.h>,
87734         <sys/param.h>, <time.h>; not needed to establish interface.
87735         (errno): Remove decl.
87736         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
87737         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
87738         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
87739
87740 2004-11-28  Simon Josefsson  <jas@extundo.com>
87741
87742         * lib/base64.h, base64.c: New file.
87743
87744 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
87745
87746         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
87747
87748 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
87749
87750         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
87751         (Depends-on): Remove pathmax, same.  Add mempcpy.
87752         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
87753         (Makefile.am): Append getcwd.h to lib_SOURCES.
87754         (Include): Add getcwd.h.
87755         (Maintainer): Change from Jim Meyering to "all, glibc",
87756         since getdate now uses intended-for-glibc code.
87757         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
87758         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
87759
87760 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
87761
87762         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
87763         HP's ANSI C compiler.
87764         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
87765         Declaring int functions causes warnings on some modern systems and
87766         shouldn't be needed to compile on ancient ones.
87767         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
87768         defined.
87769
87770         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
87771         with the following changes.
87772         (__set_errno): Parenthesize properly.
87773         Include <stdbool.h>.
87774         (MIN, MAX, MATCHING_INO): New macros.
87775         (__getcwd): Define with prototype, not K&R form.
87776         Use heuristics to allocate default buffer on stack if possible.
87777         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
87778         behavior, and to avoid the PATH_MAX limit when computing
87779         ../../../../...
87780         Use MATCHING_INO to compare inode number to file.
87781         Check for arithmetic overflow in size calculations.
87782         Fix bug in reallocation of dot array that caused getcwd to fail
87783         on directories nested deeper than 75.
87784         Be more careful about saving errno on error.
87785         Do not use realloc; use only free+malloc, as this is a bit
87786         more flexible and avoids a needless copy operation.
87787         Do not inspect st_dev and st_ino for symbolic links; POSIX
87788         doesn't specify the latter.
87789         Check for closedir errors.
87790         Avoid needless casts.
87791         Use "#ifdef weak_alias" around weak_alias, to be like other
87792         glibc code.
87793         The following changes to getcwd.c have effect only when used in
87794         gnulib; they have no effect inside glibc proper.
87795         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
87796         as alloca isn't used.
87797         (alloca, __alloca): Likewise.
87798         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
87799         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
87800         unconditionally, as gnulib assumes C89 or better.
87801         Do not include <sys/param.h>.
87802         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
87803         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
87804         better.
87805         (NULL) [!defined NULL]: Remove; we assume C89 or better.
87806         Include <dirent.h> in a way that is compatible with modern Autoconf.
87807         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
87808         New macros, if not already defined.
87809         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
87810         Use "_LIBC", not "defined _LIBC", for consistency.
87811         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
87812         a mempcpy module.
87813         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
87814         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
87815         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
87816         credit only to Jim Meyering and adjust the copyright dates.
87817         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
87818         <stdlib.h>, <unistd.h>, "pathmax.h".
87819         Instead, include "xgetcwd.h" (first) and "getcwd.h".
87820         (INITIAL_BUFFER_SIZE): Remove.
87821         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
87822
87823 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
87824
87825         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
87826         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
87827         Use the _ONCE methods, for efficiency.
87828         Check for fcntl.h.  In test program, include <errno.h>
87829         and <fcntl.h> if available.  Remove old K&R cruft from
87830         test program.  Check for common errors in GNU/Linux,
87831         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
87832         don't do AC_LIBOBJ, as that's getcwd.m4's job.
87833         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
87834         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
87835         name accordingly.
87836         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
87837         accommodate new getcwd.c.
87838         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
87839         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
87840         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
87841         that's all we need now.
87842
87843 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87844
87845         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
87846         argp-parse.c depends on getopt internals, that means we should
87847         always use our getopt, to be on the safe side.
87848         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
87849         order not to spoil the result of an eventual previous invocation
87850         of gl_GETOPT_SUBSTITUTE.
87851
87852 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87853
87854         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
87855         redefinition warnings. To avoid them, include the defines
87856         in `#if !defined __need_getopt ... #endif'. The only place
87857         where __getopt_argv_const is used is in definitions
87858         of getopt_long and getopt_long_only below, which are as well
87859         protected by `#ifndef __need_getopt'.
87860         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
87861         __need_getopt after including <stdio.h> and <unistd.h> These
87862         headers might have defined it.
87863
87864 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
87865
87866         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
87867
87868 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
87869
87870         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
87871         (futimens): New function, which uses futimes if available.
87872         (futimens, utimens): Support timespec==NULL, with same semantics
87873         as utime and utimens.
87874         * lib/utimens.h (futimens): New decl.
87875
87876 2004-11-23  Jim Meyering  <jim@meyering.net>
87877
87878         * lib/getopt_.h: Remove trailing blanks.
87879
87880 2004-11-23  Jim Meyering  <jim@meyering.net>
87881
87882         * lib/__fpending.c: Add comment.
87883
87884 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
87885
87886         * modules/canonicalize (Depends-on): Add xreadlink.
87887         Problem reported by James Youngman.
87888
87889 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
87890
87891         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
87892         New macros.
87893         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
87894         optopt): Use them instead of invoking ## directly; otherwise, the
87895         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
87896
87897 2004-11-19  Bruno Haible  <bruno@clisp.org>
87898
87899         * lib/strtok_r.c: Move comments from here...
87900         * lib/strtok_r.h: ... to here.
87901
87902 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
87903
87904         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
87905         implementations that mishandle size_t overflow.
87906
87907 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
87908
87909         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
87910         might fail.  Problem reported by Yoann Vandoorselaere.
87911         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
87912         implementations that mishandle size_t overflow.
87913
87914 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
87915
87916         * modules/canon-host (Depends-on): Add strdup.
87917
87918 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
87919
87920         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
87921
87922 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
87923
87924         * lib/canon-host.c: Include "strdup.h".
87925         (canon_host): Use getaddrinfo if available, so that IPv6 works.
87926         Use strdup instead of malloc/strcpy to duplicate strings.
87927
87928         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
87929         (human_space_before_unit): New constant.
87930         * lib/human.c (human_readable): Support it.
87931
87932         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
87933         (xgetcwd): Set errno correctly when failing.
87934         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
87935         the failure is actually due to a PATH_MAX problem.
87936
87937         Further getopt changes to make it more likely that glibc will
87938         buy the changes back.
87939         * lib/getopt.c (POSIXLY_CORRECT): New constant.
87940         (getopt): Use it, so to preserve glibc semantic
87941         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
87942         when compiling for libc.
87943         * lib/getopt_.h (__getopt_argv_const): Bring it back.
87944         (getopt_long, getopt_long_only): Use it.
87945
87946         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
87947         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
87948         (getopt): Argv is now char * const *, as per standard.
87949         (_getopt_internal_r, _getopt_internal): Argv is now char **,
87950         not char *__getopt_argv_const *.
87951         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
87952         _getopt_long_only_r): Likewise.
87953         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
87954         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
87955         _getopt_long_r, _getopt_long_only_r): Likewise.
87956         * lib/getopt_.h (__getopt_argv_const): Remove.
87957         (getopt): Argv is now char * const *, as per standard.
87958
87959         * lib/getdate.y (tORDINAL): New token.
87960         (day, relunit): Allow it for relative times.
87961         (relative_time_table): Use tORDINAL for ordinals.
87962
87963 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
87964
87965         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
87966         Document that "second" isn't allowed as an ordinal number.
87967
87968 2004-11-16  Jim Meyering  <jim@meyering.net>
87969
87970         * modules/closeout (Depends-on): Add fpending.
87971
87972 2004-11-15  Jim Meyering  <jim@meyering.net>
87973
87974         * lib/closeout.c: Include "__fpending.h" once again.
87975         Include <stdbool.h>.
87976         (close_stdout): Don't fail just because stdout was closed initially,
87977         since some programs don't write to stdout in the normal course of
87978         operation (other than --version and --help), and we don't want this
87979         function to make e.g. `touch file >&-' fail.
87980         But do fail if it was closed and someone has tried to write to it.
87981         E.g., `printf foo >&-' must fail.
87982
87983 2004-11-13  Jim Meyering  <jim@meyering.net>
87984
87985         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
87986
87987 2004-11-12  Simon Josefsson  <jas@extundo.com>
87988
87989         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
87990         small doc fix is still pending.
87991
87992 2004-11-11  Simon Josefsson  <jas@extundo.com>
87993
87994         * modules/strtok_r: New file.
87995
87996         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
87997         strtok_r.
87998
87999 2004-11-11  Simon Josefsson  <jas@extundo.com>
88000
88001         * m4/strtok_r.m4: New file.
88002
88003         * m4/getopt.m4: Replace opterr.
88004
88005 2004-11-11  Simon Josefsson  <jas@extundo.com>
88006
88007         * lib/strtok_r.h, strtok_r.c: New file.
88008
88009 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
88010
88011         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
88012         of replacing opterr, getopt, etc.  This should handle the
88013         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
88014
88015 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
88016
88017         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
88018         we can stop lying to compilers about the constness of argv when we
88019         are compiled outside glibc.
88020         (getopt, getopt_long, getopt_long_only): Use it.
88021         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
88022         _getopt_internal, getopt): Likewise.
88023         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
88024         _getopt_long_only_r): Likewise.
88025         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
88026         _getopt_long_r, _getopt_long_only_r): Likewise.
88027
88028         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
88029         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
88030         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
88031         the other external symbols.
88032         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
88033         declaration, since the above renaming now works around collisions.
88034
88035 2004-11-11  Jim Meyering  <jim@meyering.net>
88036
88037         * lib/linebreak.c: Remove trailing blanks.
88038         * lib/alloca_.h: Likewise.
88039         * lib/acosl.c: Likewise.
88040         * lib/euidaccess.c: Likewise.
88041         * lib/allocsa.h: Likewise.
88042
88043 2004-11-10  Simon Josefsson  <jas@extundo.com>
88044
88045         * m4/getaddrinfo.m4: New file.
88046
88047 2004-11-10  Simon Josefsson  <jas@extundo.com>
88048
88049         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
88050
88051 2004-11-10  Simon Josefsson  <jas@extundo.com>
88052
88053         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
88054         getaddrinfo.
88055
88056         * modules/getaddrinfo: New file.
88057
88058 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
88059
88060         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
88061
88062 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
88063
88064         * lib/mktime.c (SHR): New macro, which is a portable
88065         substitute for >> that should work even on Crays.
88066         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
88067         Problem reported by Mark D. Baushke in
88068         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
88069         * lib/getdate.y (SHR): Likewise.
88070         (tm_diff): Use it.
88071         * lib/strftime.c (SHR): Likewise.
88072         (tm_diff): Use it.
88073         * lib/quotearg.c (struct quoting_options): Use unsigned int for
88074         quote_these_too, so that right shifts are well defined.  All uses
88075         changed.
88076
88077 2004-11-10  Jim Meyering  <jim@meyering.net>
88078
88079         Ensure that no close failure goes unreported.
88080         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
88081         return early when it seems there's nothing to flush.
88082         Don't include __fpending.h.
88083
88084 2004-11-10  Jim Meyering  <jim@meyering.net>
88085
88086         * modules/closeout (Depends-on): Remove fpending.
88087
88088 2004-11-10  Jim Meyering  <jim@meyering.net>
88089
88090         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
88091
88092 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
88093
88094         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
88095         gl_FUNC_STRFTIME.
88096         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
88097         and AC_REQUIRE when possible, to avoid duplicate checks.
88098         Check for <wchar.h>.
88099
88100 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
88101
88102         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
88103
88104 2004-11-09  Bruno Haible  <bruno@clisp.org>
88105
88106         * m4/sockpfaf.m4: New file.
88107
88108 2004-11-05  Bruno Haible  <bruno@clisp.org>
88109
88110         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
88111         Reported by Mark D. Baushke <mdb@cvshome.org>.
88112
88113 2004-11-04  Bruno Haible  <bruno@clisp.org>
88114
88115         2004-09-11  Bruno Haible  <bruno@clisp.org>
88116                 * allocsa.valgrind: New file.
88117         2004-02-06  Bruno Haible  <bruno@clisp.org>
88118                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
88119                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
88120                 Reported by Christopher Seip <chris.seip@hp.com>.
88121
88122 2004-11-04  Bruno Haible  <bruno@clisp.org>
88123
88124         * modules/allocsa (Files): Add lib/allocsa.valgrind.
88125         (Makefile.am): Distribute it.
88126
88127 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
88128
88129         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
88130         with errno == ERANGE if the buffer is too small.
88131         Problem reported by Mark D. Baushke.
88132
88133 2004-11-03  Albert Chin  <china@thewrittenword.com>
88134             Paul Eggert  <eggert@cs.ucla.edu>
88135
88136         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
88137         equivalent, substitute $ac_type for equivalent type rather than
88138         blindly using uint32_t *always* which won't work if uint32_t is not
88139         available.  Define _UINT32_T to work around typedef of uint32_t if
88140         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
88141         2.5.1.
88142
88143 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
88144
88145         * m4/jm-macros.m4: Sync from coreutils.
88146         (gl_MACROS): Check for mbrlen, for pathchk.
88147         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
88148
88149 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
88150
88151         * lib/xreadlink.c (MAXSIZE): New macro.
88152         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
88153         size does not exceed MAXSIZE.  Avoid cast.
88154         As suggested by Mark D. Baushke in
88155         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
88156         if readlink fails with buffer size just under MAXSIZE, try again
88157         with MAXSIZE.
88158
88159 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
88160
88161         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
88162
88163 2004-11-02  Derek R. Price  <derek@ximbiot.com>
88164         and  Paul Eggert  <eggert@cs.ucla.edu>
88165
88166         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
88167         (get_date): Overparenthesize to avoid GCC warning.
88168
88169 2004-11-02  Bruno Haible  <bruno@clisp.org>
88170
88171         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
88172         returns void.
88173
88174 2004-11-02  Bruno Haible  <bruno@clisp.org>
88175
88176         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
88177         function returns void.
88178
88179 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
88180
88181         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
88182         fflush_unlocked, flockfile, funlockfile, funlockfile,
88183         fputs_unlocked, putc_unlocked.
88184
88185 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
88186
88187         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
88188         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
88189         already declared.
88190
88191 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
88192
88193         * modules/getdate (Files): Add doc/getdate.texi.
88194         (Depends-on): Add setenv, xalloc.
88195
88196 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
88197
88198         * lib/getdate.y: Add support for TZ="foo" within a date string.
88199         Fix some bugs near time_t boundaries.  Reject dates with
88200         out-of-range components, e.g., "Sept 31".
88201         Include <stdlib.h>, "setenv.h", "xalloc.h".
88202         (ISDIGIT_LOCALE): Remove; unused.
88203         Note that the TZ and time functions used here are not reentrant.
88204         (mktime_ok, get_tz): New functions.
88205         (TZBUFSIZE): New constant.
88206         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
88207         This requires that we sometimes generate our own TZ="XXX..." setting.
88208
88209 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
88210
88211         * doc/getdate.texi: New file, from coreutils with modifications for
88212         the new TZ parsing.
88213
88214 2004-10-27  Derek R. Price  <derek@ximbiot.com>
88215
88216         * lib/mktime.c (not_equal_tm): Remove redundant check.
88217
88218 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
88219
88220         * modules/regex (lib_SOURCES): Add regex.c.
88221         Reported by James Youngman in
88222         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
88223
88224 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
88225
88226         * lib/getdate.y: Use Bison 1.875 features, and some minor
88227         code cleanups.  This change does not affect semantics.
88228         Don't include <stdlib.h>; no longer needed.
88229         Don't include unlocked-io.h; only the "#if TEST" code uses
88230         stdio, and performance isn't crucial there.
88231         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
88232         Bison 1.875 features as described below.
88233         All uses of "PC." replaced by "pc->".
88234         (YYSTYPE): Add a forward declaration.
88235         (yylex, yyerror): Use full prototypes in forward decls.
88236         Use "%pure-parser" rather than obsolescent "%pure_parser".
88237         Use %parse-param and %lex-param instead of obsolescent
88238         YYPARSE_PARAM and YYLEX_PARAM.
88239         (meridian_table, month_and_day_table, time_units_table,
88240         relative_time_table, time_zone_table, military_table,
88241         lookup_zone, lookup_word, get_date):
88242         Use NULL instead of 0 where appropriate.
88243         (to_hour): Avoid abort (), to avoid a dependency on
88244         stdlib.h.
88245         (yyerror, yylex): Now accepts parser_control * arg.
88246         (main) [TEST]: Use '\0' rather than 0 for char.
88247
88248 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
88249
88250         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
88251
88252 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
88253
88254         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
88255         It's now the caller's responsibility to handle the case where
88256         !HAVE_GETPAGESIZE && !defined getpagesize.
88257
88258         * lib/mktime.c (leapyear): Arg is long int, not int.
88259
88260 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
88261
88262         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
88263
88264 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
88265
88266         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
88267         missing.  Problem reported by James Youngman.
88268
88269 2004-10-16  Simon Josefsson  <jas@extundo.com>
88270
88271         * gnulib-tool: Fix comments.  Fix parse problem.
88272         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
88273
88274 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
88275
88276         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
88277         implementation of getopt_long.  Problem reported by Alexander Taler in:
88278         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
88279
88280 2004-10-15  Bruno Haible  <bruno@clisp.org>
88281
88282         * gnulib-tool: Untabify. Initialize supplied_libname.
88283         (func_usage): More homogenous output.
88284         (func_modules_transitive_closure, func_modules_to_filelist,
88285         func_emit_lib_Makefile_am): New functions.
88286         (func_import): New function, extracted from big case statement. Use
88287         func_get_license, func_modules_transitive_closure,
88288         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
88289         opt_lgpl. Don't use test -a, as it's not portable.
88290         (func_create_testdir): Use func_modules_transitive_closure,
88291         func_modules_to_filelist, func_emit_lib_Makefile_am.
88292
88293 2004-10-15  Bruno Haible  <bruno@clisp.org>
88294
88295         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
88296
88297 2004-10-15  Bruno Haible  <bruno@clisp.org>
88298
88299         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
88300         the portions belonging to each module.
88301         Suggested by Derek Robert Price <derek@ximbiot.com>.
88302
88303 2004-10-12  Simon Josefsson  <jas@extundo.com>
88304
88305         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
88306         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
88307         to real functions.
88308
88309 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
88310
88311         * modules/vsnprintf: New file.
88312
88313 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
88314
88315         * m4/vsnprintf.m4: New file.
88316
88317 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
88318
88319         * lib/vsnprintf.h: New file.
88320         * lib/vsnprintf.c: New file.
88321
88322 2004-10-11  Bruno Haible  <bruno@clisp.org>
88323
88324         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
88325         vsnprintf.
88326
88327 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
88328
88329         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
88330
88331 2004-10-07  Bruno Haible  <bruno@clisp.org>
88332
88333         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
88334         fits into the provided buffer.
88335
88336 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
88337
88338         * lib/diacrit.c, diacrit.h: Add GPL notice.
88339
88340         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
88341         notice.
88342         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
88343         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
88344         This avoids a potential constant-folding bug.
88345
88346 2004-10-05  Bruno Haible  <bruno@clisp.org>
88347
88348         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
88349         for the declaration of strsep.
88350
88351 2004-10-05  Bruno Haible  <bruno@clisp.org>
88352
88353         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
88354
88355 2004-10-04  Simon Josefsson  <jas@extundo.com>
88356
88357         * modules/memmem: New file.
88358         * tests/test-memmem.c: New file.
88359         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
88360
88361 2004-10-04  Simon Josefsson  <jas@extundo.com>
88362
88363         * m4/memmem.m4: New file.
88364
88365 2004-10-04  Simon Josefsson  <jas@extundo.com>
88366
88367         * lib/memmem.h: New file.
88368         * lib/memmem.c: New file, taken from glibc.
88369
88370 2004-10-04  Simon Josefsson  <jas@extundo.com>
88371
88372         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
88373         '#ifdef USE_UNLOCKED_IO'.
88374
88375 2004-10-04  Simon Josefsson  <jas@extundo.com>
88376
88377         * config/srclist.txt: Add memmem from glibc.
88378
88379 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
88380
88381         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
88382
88383         * modules/argmatch, modules/argp, modules/closeout, modules/error,
88384         modules/exclude, modules/getdate, modules/getline,
88385         modules/getndelim2, modules/getpass, modules/getpass-gnu,
88386         modules/getusershell, modules/linebuffer, modules/md5,
88387         modules/mountlist, modules/posixtm, modules/readtokens,
88388         modules/readutmp, modules/regex, modules/sha1,
88389         modules/version-etc, modules/yesno:
88390         Remove dependency on unlocked-io.
88391
88392 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
88393
88394         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
88395
88396         * m4/unlocked-io.m4: Add copyright notice.
88397         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
88398
88399 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
88400
88401         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
88402         * lib/xmalloc.c (xmemdup): Likewise.
88403         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
88404         XFREE): Remove these long-obsolescent macros.
88405         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
88406         * lib/xstrdup.c: Remove.
88407
88408         * lib/regex.c (re_comp): Cast gettext return value to char *,
88409         Problem reported by Martin Neitzel via Mark D. Baushke.
88410
88411 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
88412
88413         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
88414         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
88415         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
88416         regex.c, sha1.c, version-etc.c, yesno.c:
88417         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
88418         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
88419         the includer's responsibility.
88420
88421         Sync from coreutils.
88422
88423         * lib/modechange.c (mode_compile): Don't decrement a pointer that
88424         points to the start of a string, as the C Standard says the
88425         resulting behavior is undefined.
88426
88427         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
88428         simple -> simple_backups, numbered_existing ->
88429         numbered_existing_backups, numbered -> numbered_backups
88430         to avoid shadowing problems.  All uses changed.
88431         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
88432         * lib/backupfile.c (check_extension, numbered_backup):
88433         Rename locals to avoid shadowing 'basename'.
88434         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
88435         once.
88436
88437         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
88438         * lib/.cvsignore: Add getopt.h.
88439
88440 2004-10-04  Bruno Haible  <bruno@clisp.org>
88441
88442         * modules/README: New file.
88443         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
88444         not a module.
88445
88446 2004-10-02  Jim Meyering  <jim@meyering.net>
88447
88448         * lib/dirfd.h, getpagesize.h: Add copyright notice.
88449
88450 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
88451
88452         * modules/strsep: New file.
88453
88454 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
88455
88456         * m4/strsep.m4: New file.
88457
88458 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
88459
88460         * lib/strsep.h: New file.
88461         * lib/strsep.c: New file.
88462
88463 2004-10-01  Simon Josefsson  <jas@extundo.com>
88464
88465         * lib/snprintf.c (snprintf): Handle size==0.
88466
88467 2004-10-01  Simon Josefsson  <jas@extundo.com>
88468             Bruno Haible  <bruno@clisp.org>
88469
88470         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
88471         (snprintf): Declare 'args'.
88472
88473 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
88474
88475         * lib/snprintf.c: Remove comments as to why each header is needed.
88476
88477 2004-10-01  Bruno Haible  <bruno@clisp.org>
88478
88479         * MODULES.html.sh: Add strsep.
88480
88481 2004-09-30  Simon Josefsson  <jas@extundo.com>
88482
88483         * modules/snprintf: New file.
88484
88485 2004-09-30  Simon Josefsson  <jas@extundo.com>
88486
88487         * m4/snprintf.m4: New file.
88488
88489 2004-09-30  Simon Josefsson  <jas@extundo.com>
88490
88491         * lib/snprintf.h, lib/snprintf.c: New files.
88492
88493 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88494
88495         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
88496         (hol_entry_help): Never translate an empty string.
88497         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
88498         * lib/argp.h (OPTION_NO_TRANS): New option.
88499
88500 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
88501
88502         * modules/argp (Maintainer): Replace Simon Josefsson
88503         by Sergey Poznyakoff.
88504
88505 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
88506
88507         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
88508         changes merged back into glibc.
88509
88510 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
88511
88512         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
88513
88514 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
88515
88516         * lib/xvasprintf.c: Include xalloc.h.
88517         (xvasprintf): Use xalloc_die, not xmalloc_die.
88518
88519 2004-09-29  Bruno Haible  <bruno@clisp.org>
88520
88521         * modules/alloca-opt: New file, derived from modules/alloca.
88522         * modules/allocsa: Depend on alloca-opt instead of alloca.
88523         * modules/setenv: Likewise.
88524         * modules/vasnprintf: Likewise.
88525         * MODULES.html.sh: Add alloca-opt.
88526
88527 2004-09-28  Simon Josefsson  <jas@extundo.com>
88528
88529         * gnulib-tool: New parameter --lgpl, to asseert that modules are
88530         LGPL, and to replace license template from GPL to LGPL.
88531
88532 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
88533
88534         * modules/dummy: Change license to LGPL.
88535
88536 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
88537
88538         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
88539
88540 2004-09-24  Simon Josefsson  <jas@extundo.com>
88541
88542         * modules/minmax (License): Change from GPL to LGPL.
88543
88544 2004-09-23  Simon Josefsson  <jas@extundo.com>
88545
88546         * gnulib-tool (--import): Typo.
88547
88548 2004-09-23  Simon Josefsson  <jas@extundo.com>
88549
88550         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
88551
88552 2004-09-22  Bruno Haible  <bruno@clisp.org>
88553
88554         * modules/*: Add 'License' field.
88555         * gnulib-tool: Accept --extract-license option.
88556         (func_get_license): New function.
88557
88558 2004-09-21  Bruno Haible  <bruno@clisp.org>
88559
88560         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
88561         Reported by Simon Josefsson.
88562
88563 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
88564
88565         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
88566         gl_AC_TYPE_LONG_LONG.
88567
88568 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
88569
88570         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
88571
88572 2004-09-18  Simon Josefsson  <jas@extundo.com>
88573         and  Paul Eggert  <eggert@cs.ucla.edu>
88574
88575         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
88576         calls with autoreconf.  Define GL_LIB.
88577
88578 2004-09-14  Karl Berry  <karl@gnu.org>
88579
88580         * config/srclist.txt: unsync setenv.c, sigh.
88581
88582 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
88583
88584         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
88585         Problem reported by Bruno Haible in:
88586         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
88587
88588 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
88589
88590         * config/srclist.txt: Comment out argp-pvh.c.
88591
88592 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
88593
88594         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
88595         in case some system header has #define'd it.  Problem reported by
88596         Soeren D. Schulze in
88597         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
88598
88599 2004-09-09  Karl Berry  <karl@gnu.org>
88600
88601         * regex.[ch]: delete from the root.  These were supposed to be
88602                 synced with emacs cvs, but this has not happened for about
88603                 a year, and anyway nothing else uses emacs regex.[ch].
88604                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
88605                 lib/regex[.ch] is untouched.
88606
88607 2004-09-09  Bruno Haible  <bruno@clisp.org>
88608
88609         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
88610
88611 2004-09-09  Bruno Haible  <bruno@clisp.org>
88612
88613         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
88614         modifications.
88615         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
88616
88617 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
88618
88619         * modules/xvasprintf: New file.
88620         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
88621
88622 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
88623
88624         * lib/xvasprintf.h: New file.
88625         * lib/xvasprintf.c: New file.
88626         * lib/xasprintf.c: New file.
88627
88628 2004-09-08  Bruno Haible  <bruno@clisp.org>
88629
88630         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
88631
88632 2004-09-08  Bruno Haible  <bruno@clisp.org>
88633
88634         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
88635         length is > INT_MAX.
88636         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
88637         more.
88638
88639 2004-09-08  Bruno Haible  <bruno@clisp.org>
88640
88641         * lib/stdint_.h: New file, taken from GNU clisp.
88642
88643 2004-09-08  Bruno Haible  <bruno@clisp.org>
88644             Oskar Liljeblad  <oskar@osk.mine.nu>
88645
88646         * modules/stdint: New file.
88647         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
88648
88649 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
88650
88651         Import from coreutils.
88652         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
88653         strings on unbounded length.  alloca's performance benefits aren't
88654         that important here.
88655         (V_STRDUP): Remove.
88656         (parse_with_separator): New function, with most of the internals
88657         of the old parse_user_spec.  Allow user to omit both user and group,
88658         for compatibility with FreeBSD.
88659         Clone only the user name, not the entire spec.
88660         Do not set *uid, *gid unless entirely successful.
88661         Avoid memory leak in some failing cases.
88662         Fix regression for USER.GROUP reported by Dmitry V. Levin in
88663         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
88664         (parse_user_spec): Rewrite to use parse_with_separator.
88665
88666 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
88667
88668         * modules/userspec: Don't depend on alloca.
88669
88670 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
88671
88672         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
88673
88674 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
88675
88676         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
88677         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
88678         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
88679
88680 2004-08-16  Simon Josefsson  <jas@extundo.com>
88681
88682         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
88683         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
88684         Add --dry-run for --import.
88685         Let user provided command line parameters override configure.ac
88686         settings.
88687
88688 2004-08-12  Simon Josefsson  <jas@extundo.com>
88689
88690         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
88691         as discussed with Paul Eggert in threads rooted at
88692         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
88693         and
88694         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
88695         Before, the test was empty, and relied on ELIDE_CODE in source
88696         code.)
88697         (gl_PREREQ_GETOPT): New macro.
88698         (gl_GETOPT): Use them.
88699
88700 2004-08-12  Simon Josefsson  <jas@extundo.com>
88701
88702         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
88703         * lib/getopt_.h: Renamed from getopt.h.
88704
88705 2004-08-12  Simon Josefsson  <jas@extundo.com>
88706
88707         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
88708         Change default library name from libfoo to libgnu.
88709         Now, if you have a configure.ac that says:
88710                 gl_SOURCE_BASE(gl)
88711                 gl_M4_BASE(gl/m4)
88712                 gl_MODULES(error getopt etcetera)
88713                 gl_INIT
88714         you can import all you need by running:
88715                 ../gnulib/gnulib-tool --import
88716
88717         * modules/getopt (Files): Rename getopt.h to getopt_.h.
88718         (Makefile.am): Rewrite, use logic from argz.
88719         (Include): Use <getopt.h> instead of "getopt.h".
88720
88721 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
88722
88723         * modules/argp (Files): Add m4/unlocked-io.m4.
88724         (Depends-on): Add extensions.
88725
88726 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
88727
88728         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
88729         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
88730         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
88731         Check for program_invocation_name, program_invocation_short_name,
88732         flockfile, funlockfile, features.h, _getopt_long_only_r.
88733
88734 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
88735
88736         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
88737         its complicated substitute.
88738         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
88739         and program_invocation_name.
88740         (__argp_basename) [!_LIBC]: Remove; the only use was
88741         replaced by its body.
88742         (__argp_short_program_name): Change condition from
88743         !defined __argp_short_program_name to
88744         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
88745         to match argp-namefrob.h.
88746         (__argp_failure): Don't assume strerror_r returns char *.
88747         * lib/argp-parse.c (N_): Define unconditionally.
88748         (argp_default_options): Fill out initializers with 0 to avoid
88749         gcc warnings.
88750
88751 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
88752
88753         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
88754         getopt1.c.
88755
88756 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
88757
88758         Merge from coreutils.
88759
88760         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
88761
88762         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
88763         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
88764
88765 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
88766
88767         Merge from coreutils.
88768
88769         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
88770         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
88771         for Reliant Unix 5.43.
88772
88773         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
88774         (union fooround): Use uintmax_t, not long int.
88775         The rest is a merge from libc:
88776         [defined _LIBC]: Include <shlib-compat.h>.
88777         (_obstack) [defined _LIBC]: Remove after 2.3.4.
88778
88779         * lib/settime.c (settime): Recode to avoid warning with
88780         Sun Forte C 6U2.
88781
88782         * lib/strverscmp.c: Convert to UTF-8.
88783
88784 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
88785
88786         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
88787         m4/uintmax_t.m4.
88788
88789 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
88790
88791         * modules/xalloc-die: New file.
88792         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
88793
88794         * modules/md5 (Files): Add m4/uint32_t.m4.
88795         * modules/sha1: Renamed from modules/sha.
88796         (Files):
88797         Rename lib/sha.h to lib/sha1.h.
88798         Rename lib/sha.c to lib/sha1.c.
88799         Rename m4/sha.m4 to m4/sha1.m4.
88800         (lib_SOURCES): Likewise.
88801         (configure.ac): Rename gl_SHA to gl_SHA1.
88802         (Include): sha.h -> sha1.h.
88803
88804 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
88805
88806         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
88807         * m4/sha1.m4: Renamed from sha.m4.
88808         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
88809
88810 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
88811
88812         * lib/obstack.h (obstack_empty_p):
88813         Don't assume that chunk->contents is suitably aligned.
88814         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
88815         Likewise. Problem reported by Benno in
88816         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
88817
88818         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
88819         readable.  This could be improved further but it'd take some work.
88820
88821 2004-08-08  Simon Josefsson  <jas@extundo.com>
88822
88823         * modules/xgethostname (Depends-on): Remove exit and error (not
88824         used).
88825
88826         * modules/getpass-gnu: Add getpass.h.
88827         (Depends-on): Add stdbool.
88828         * modules/getpass: Add getpass.h.
88829
88830 2004-08-08  Simon Josefsson  <jas@extundo.com>
88831
88832         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
88833         Check getpass declaration.
88834
88835 2004-08-08  Simon Josefsson  <jas@extundo.com>
88836
88837         * lib/xgethostname.c: Don't include error.h (not used).
88838
88839         * lib/getpass.h: Add.
88840         * lib/getpass.c: Include getpass.h first.
88841
88842 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
88843
88844         * lib/xalloc-die.c: New file.
88845         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
88846         All uses removed.
88847         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
88848         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
88849         xalloc-die.c.
88850         (_, N_, xalloc_die): Move to xalloc-die.c.
88851         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
88852         so that we needn't mess with xalloc_msg_memory_exhausted.
88853
88854         * lib/sha1.h: Renamed from sha.h.
88855         (SHA1_H): Renamed from _SHA_H.
88856         (sha1_ctx): Renamed from sha_ctx.
88857         (sha1_init_ctx): Renamed from sha_init_ctx.
88858         (sha1_process_block): Renamed from sha_process_block.
88859         (sha1_process_bytes): Renamed from sha_process_bytes.
88860         (sha1_finish_ctx): Renamed from sha_finish_ctx.
88861         (sha1_read_ctx): Renamed from sha_read_ctx.
88862         (sha1_stream): Renamed from sha_stream.
88863         (sha1_buffer): Renamed from sha_buffer.
88864         * lib/sha1.c: Likewise; renamed from sha.c.
88865         Do not include <sys/types.h>.
88866         Include <stddef.h> rather than <stdlib.h>.
88867
88868 2004-08-08  Bruno Haible  <bruno@clisp.org>
88869
88870         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
88871         FILESYSTEM_PREFIX_LEN.
88872         * lib/progreloc.c: Likewise.
88873         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
88874
88875 2004-08-06  Simon Josefsson  <jas@extundo.com>
88876
88877         * modules/progname (Depends-on): Don't depend on stdbool.
88878
88879 2004-08-06  Simon Josefsson  <jas@extundo.com>
88880
88881         * modules/getsubopt: New file.
88882         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
88883         getsubopt.
88884
88885 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
88886
88887         More merge from coreutils.
88888
88889         * m4/utimens.m4, m4/utimecmp.m4: New files.
88890         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
88891         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
88892         prereq.m4, sha.m4: Import changes from coreutils.
88893
88894 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
88895
88896         More merge from coreutils.
88897         * modules/raise, modules/readtokens0, modules/utimens:
88898         * modules/utimecmp, module/xnanosleep: New files.
88899         * modules/strftime: Add lib/strftime.h.
88900         Change include from <time.h> to "strftime.h".
88901         * modules/yesno: Add lib/yesno.h.
88902         * modules/backupfile: Remove lib/addext.c.
88903         * modules/euidaccess: Add stat-macros.h.
88904         * modules/canonicalize, modules/euidaccess,
88905         modules/filemode, modules/lchown, modules/makepath,
88906         modules/rmdir, modules/stat: Likewise.
88907
88908 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
88909
88910         Merge from tar.
88911         * lib/argp-help.c (make_hol, hol_append): Don't assume that
88912         SIZE_MAX is a valid preprocessor constant.
88913         (__argp_basename): Change from "#ifndef _LIBC"
88914         to "#ifndef __argp_short_program_name", so that
88915         we don't compile these functions for tar.
88916
88917         More merges from coreutils.
88918         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
88919         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
88920         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
88921         * lib/addext.c: Remove; no longer needed.
88922         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
88923         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
88924         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
88925         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
88926         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
88927         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
88928         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
88929         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
88930         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
88931         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
88932         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
88933         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
88934         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
88935         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
88936         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
88937         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
88938         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
88939         Import changes from coreutils.
88940
88941 2004-08-05  Simon Josefsson  <jas@extundo.com>
88942
88943         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
88944
88945 2004-08-05  Simon Josefsson  <jas@extundo.com>
88946
88947         * m4/getsubopt.m4: New file.
88948
88949 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
88950
88951         Merge from coreutils.
88952
88953         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
88954         * m4/getcwd-path-max.m4: New files.
88955
88956         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
88957         FILESYSTEM_PREFIX_LEN ->
88958         FILE_SYSTEM_PREFIX_LEN.
88959         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
88960         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
88961         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
88962         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
88963
88964         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
88965         prerequisite modules now handle the DOS stuff.
88966         Don't check for unistd.h.
88967
88968 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
88969
88970         Merge from coreutils.
88971
88972         * lib/.gdb-history: Remove; this doesn't belong here.
88973
88974         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
88975         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
88976         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
88977         * lib/getcwd.c: New files.
88978
88979         * lib/dirname.h: Include <stdbool.h>.
88980         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
88981         for consistency with POSIX terminology.  All uses changed.
88982         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
88983         (strip_trailing_slashes): Use bool for booleans.
88984         * lib/stripslash.c (strip_trailing_slashes): Likewise.
88985
88986         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
88987         sometimes returns a positive errno value even when it succeeds.
88988         (print_errno_message) [!LIBC]: Fall back on strerror if
88989         __strerror_r fails.
88990
88991         * lib/path-concat.c (mempcpy): Don't define if a system header defines
88992         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
88993         (longest_relative_suffix): New function.
88994         (path_concat): Use it.  Assume first argument is not NULL.
88995         Port to DOS.  Omit redundant separators.
88996         Report an error instead of returning NULL.
88997         Use mempcpy instead of memcpy.
88998         (xpath_concat): Remove: not declared or used.
88999
89000         * lib/same.h: Include <stdbool.h>
89001         (same_name): Return bool, not int.
89002         * lib/same.c (same_name): Likewise.
89003         (errno): Don't declare; we assume C89 or better now.
89004
89005         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
89006         if not already defined.
89007
89008         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
89009         * lib/dup-safer.c (errno): Likewise.
89010
89011 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
89012
89013         Merge from coreutils.
89014         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
89015         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
89016         * modules/path-concat: Don't depend on strdup.
89017
89018 2004-08-03  Simon Josefsson  <jas@extundo.com>
89019
89020         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
89021         * lib/progname.h: Don't include stdbool.h.
89022
89023 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
89024
89025         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
89026         * MODULES.html.sh (func_all_modules): Remove fatal.
89027
89028 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
89029
89030         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
89031
89032 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
89033
89034         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
89035         working.
89036
89037 2004-08-02  Simon Josefsson  <jas@extundo.com>
89038
89039         * lib/getsubopt.h: New file, with comments from Bruno Haible.
89040         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
89041         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
89042
89043 2004-08-01  Simon Josefsson  <jas@extundo.com>
89044
89045         * lib/xgetdomainname.c: Include stdlib.h, for free().
89046
89047 2004-07-19  Bruno Haible  <bruno@clisp.org>
89048
89049         * MODULES.html.sh (func_all_modules): Add dummy.
89050
89051 2004-07-16  Simon Josefsson  <jas@extundo.com>
89052
89053         * modules/dummy: New file.
89054
89055 2004-07-16  Simon Josefsson  <jas@extundo.com>
89056
89057         * lib/dummy.c: New file.
89058
89059 2004-07-16  Bruno Haible  <bruno@clisp.org>
89060
89061         * lib/backupfile.h: Add extern "C" for C++.
89062         * lib/closeout.h: Likewise.
89063         * lib/copy-file.h: Likewise.
89064         * lib/findprog.h: Likewise.
89065         * lib/full-write.h: Likewise.
89066         * lib/pathname.h: Likewise.
89067         * lib/progname.h: Likewise.
89068         * lib/stpcpy.h: Likewise.
89069         * lib/stpncpy.h: Likewise.
89070         * lib/strcase.h: Likewise.
89071         * lib/strstr.h: Likewise.
89072         * lib/xalloc.h: Likewise.
89073
89074         * lib/mbswidth.h: Add extern "C" for C++.
89075         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
89076
89077 2004-07-13  Robert Millan  <robertmh@gnu.org>
89078
89079         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
89080
89081 2004-07-09  Simon Josefsson  <jas@extundo.com>
89082
89083         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
89084         failed without this.)
89085
89086 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
89087
89088         * modules/chown (Files): Add lib/fchown-stub.c, since
89089         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
89090
89091 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
89092
89093         * lib/fchown-stub.c: New file.
89094
89095 2004-06-24  Jim Meyering  <jim@meyering.net>
89096
89097         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
89098
89099 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
89100
89101         * modules/argz: Omit "#include".
89102
89103         * MODULES.html.sh (func_all_modules): Add calloc, to match
89104         2004-06-01 addition of calloc module.
89105
89106 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
89107
89108         * m4/argz.m4: New file, which is autoupdated from libtool.
89109
89110 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
89111
89112         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
89113         libtool.
89114
89115 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
89116
89117         * config/srclist-update: Don't insist on "USA." before the
89118         close-comment, as libtool omits the period and puts the */ on a
89119         separate line.
89120         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
89121         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
89122
89123 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
89124
89125         * modules/argz: New file.
89126         * MODULES.html.sh (func_all_modules): Add argz.
89127
89128 2004-06-12  Jim Meyering  <jim@meyering.net>
89129         and  Paul Eggert  <eggert@cs.ucla.edu>
89130
89131         * modules/hash (Files): Add lib/xalloc.h.
89132         * modules/pipe (Depends-on): Add wait-process.
89133         * modules/stat (Depends-on): Add xalloc.
89134         * modules/userspec (Files): Add lib/userspec.h.
89135         * modules/xstrto
89136
89137         Upgrade from gettext-0.13.
89138         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
89139         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
89140         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
89141
89142 2004-06-10  Jim Meyering  <jim@meyering.net>
89143
89144         * lib/calloc.c: New file.
89145
89146 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
89147
89148         * lib/getdate.y (yylex): Allow space between sign and number.
89149         Problem reported by Dan Jacobson.
89150
89151 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
89152
89153         Merge from coreutils CVS.
89154
89155         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
89156         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
89157         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
89158         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
89159         xstrtol.m4: Fix copyright date and/or serial number.
89160
89161         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
89162         See if we need an fchown replacement.
89163         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
89164         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
89165         and use the replacement function if we detect either defect.
89166
89167         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
89168         gl_UTIMECMP.
89169
89170 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
89171         and  Jim Meyering  <jim@meyering.net>
89172
89173         Merge from coreutils CVS.
89174
89175         * lib/stat-macros.h: New file, with contents from file-type.h
89176         and coreutils' system.h.
89177         * lib/file-type.c: Include "stat-macros.h".
89178         * lib/file-type.h (file_type): Move all macro definitions to new file,
89179         stat-macros.h.
89180
89181         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
89182         Wrap old code with this conditional.
89183         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
89184         function that does not dereference symlinks.
89185         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
89186
89187         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
89188         dependency problems.
89189         (xreadlink): Accept new arg SIZE, for efficiency.
89190         All decls and uses changed.
89191         * lib/xreadlink.h: Include <stddef.h>, for size_t.
89192
89193         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
89194         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
89195
89196         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
89197         sysexits.h.
89198
89199 2004-06-01  Jim Meyering  <jim@meyering.net>
89200
89201         * m4/calloc.m4: New file.
89202
89203 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
89204
89205         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
89206         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
89207         Also, fix a typo in a diagnostic.
89208
89209 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
89210
89211         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
89212         or AC_FUNC_REALLOC.
89213
89214 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
89215
89216         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
89217         macros to be defined.
89218         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
89219         the allocator returns NULL because the requested size is zero.
89220
89221 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
89222
89223         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
89224         var.  Add comment explaining why libc still defines it.  This
89225         merges the following patch from glibc:
89226         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
89227
89228 2004-05-20  Andreas Schwab  <schwab@suse.de>
89229
89230         * m4/free.m4: Replace free if it not known to work, not the other
89231         way round.
89232
89233 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
89234
89235         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
89236         present in glibc since revision 1.1 of this file.
89237         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
89238         obstack_alignment_mask, obstack_alloc, obstack_base,
89239         obstack_blank, obstack_blank_fast, obstack_chunk_size,
89240         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
89241         obstack_grow0, obstack_init, obstack_int_grow,
89242         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
89243         obstack_next_free, obstack_object_size, obstack_ptr_grow,
89244         obstack_ptr_grow_fast, obstack_room): Remove declarations of
89245         nonexistent functions.
89246
89247 2004-05-18  Karl Berry  <karl@gnu.org>
89248
89249         * config/srclist.txt: break link for vasnprintf.c.
89250
89251 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
89252
89253         Port obstack to the AS/400, where pointers are 16 bytes wide and
89254         you cannot cast an integer to a valid pointer.  This patch is
89255         currently waiting to be integrated into glibc; see
89256         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
89257
89258         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
89259         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
89260         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
89261         (struct obstack): temp member is now a union of a pointer and
89262         an integer, instead of an integer.  All integer uses changed.
89263         This does not affect the physical layout of struct obstack,
89264         except on hosts (like the AS/400) where the size or alignment of
89265         void * is greater than that of ptrdiff_t.
89266         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
89267         __STDC__)]: Store temporary in pointer member of union, not
89268         integer member.
89269         * lib/obstack.c: Include <stddef.h>, for offsetof.
89270         (struct fooalign): Remove; it doesn't need a name.
89271         (union fooround): Change double to long double, and add void *.
89272         (DEFAULT_ALIGNMENT): Use offsetof to compute.
89273         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
89274         not a macro.  Hence the values are always int; so remove all
89275         casts-to-int in uses.
89276
89277 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
89278
89279         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
89280         we can get this patch merged into glibc.
89281
89282 2004-05-17  Derek R. Price  <derek@ximbiot.com>
89283             Paul Eggert  <eggert@cs.ucla.edu>
89284
89285         * m4/argp: Depend on alloca.
89286
89287 2004-05-17  Derek R. Price  <derek@ximbiot.com>
89288             Paul Eggert  <eggert@cs.ucla.edu>
89289
89290         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
89291         freecoding.
89292
89293 2004-05-17  Bruno Haible  <bruno@clisp.org>
89294
89295         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
89296         precision that consists of a '.' followed by an empty digit string.
89297         Patch by Tor Lillqvist <tml@iki.fi>.
89298
89299 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
89300
89301         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
89302         for backward compatibility with older code.  We need our own
89303         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
89304         it under some other name, and our alloca.h will define it.
89305
89306 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
89307             Derek Price  <derek@ximbiot.com>
89308
89309         * lib/alloca.c: Include <alloca.h>, to get our interface.
89310         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
89311         include <alloca.h> first.  Use C89 prototype for alloca; this
89312         requires including <stddef.h> for size_t.  Use extern "C" if C++.
89313         Use #elif for simplicity, since we can assume C89 now.
89314         Don't try to source the system alloca.h since it will not be found
89315         and to prevent recursively including its replacement.
89316         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
89317         * lib/regex.c: Likewise.
89318
89319 2004-05-16  Derek Price  <derek@ximbiot.com>
89320             Paul Eggert  <eggert@cs.ucla.edu>
89321
89322         getline cleanup.  This changes the getndelim2 API: both order of
89323         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
89324         no delimiter).
89325
89326         * lib/getline.c: Don't include stddef.h or stdio.h, since our
89327         interface does that.
89328         (getline): Always use getdelim, so that we don't have two
89329         copies of this code.
89330         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
89331         if available.
89332         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
89333         (GETNDELIM2_MAXIMUM): New macro.
89334         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
89335         instead of the old practice of delim2==0.  All callers changed.
89336         Return -1 on overflow, instead of returning junk.
89337         Do not set *linesize unless allocation succeeds.
89338         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
89339         that we include sys/types.h.
89340         * lib/getnline.h: Likewise.
89341         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
89342         (getndelim2): Reorder arguments.
89343         * lib/getnline.c (getnline, getndelim):
89344         Don't discard the NMAX argument.
89345         (getnline): Invoke getndelim, to avoid code duplication.
89346         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
89347         of (size_t) -1 by callers of the getnline family.
89348
89349 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
89350
89351         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
89352         Check for gettimeofday.
89353         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
89354         Check for settimeofday, stime.
89355
89356 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
89357
89358         * lib/nanosleep.c (suspended): Change its type from int to
89359         sig_atomic_t volatile.
89360         (first_call): Make it private to rpl_nanosleep, and have it
89361         be zero initially as that's a bit faster.
89362         (my_usleep): Round up fractional times instead of truncating them,
89363         as this is the usual meaning for 'sleep'.
89364
89365         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
89366         doesn't work.
89367         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
89368         (ENOSYS): Define if not defined.
89369         (settime): Fall back on stime if it exists and settimeofday fails.
89370         But don't bother with fallbacks if a method fails with errno == EPERM.
89371
89372 2004-05-11  Jim Meyering  <jim@meyering.net>
89373
89374         Prior to this change, the save_cwd caller required read access to the
89375         current directory on most systems (ones with the fchdir function).
89376
89377         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
89378         fails, try write-only, and finally, resort to using xgetcwd.
89379
89380 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
89381
89382         * lib/obstack.c, obstack.h: Import changes from libc.
89383
89384 2004-04-28  Bruno Haible  <bruno@clisp.org>
89385
89386         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
89387         also implicitly appends .exe to executables.
89388         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
89389         accepts Windows pathnames.
89390         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
89391         Treat Cygwin like Windows, since it now accepts Windows pathnames.
89392         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
89393         Treat Cygwin like Windows, since it now accepts Windows pathnames.
89394         Reported by Derek Robert Price <derek@ximbiot.com>.
89395
89396 2004-04-21  Karl Berry  <karl@gnu.org>
89397
89398         * config/srclist.txt (localcharset.c): break sync.
89399
89400 2004-04-20  Paul Eggert  <eggert@twinsun.com>
89401
89402         * m4/host-os.m4: Add a copyright notice.
89403
89404 2004-04-20  Jim Meyering  <jim@meyering.net>
89405
89406         Change UTILS_ to gl_ in AC_DEFINE'd names.
89407         Change utils_- and jm_-prefixed variables, too.
89408         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
89409         UTILS_FUNC_MKDIR_TRAILING_SLASH.
89410         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
89411
89412         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
89413         Don't emit trailing blanks.
89414         Also rename jm_-prefixed variables to have gl_ prefix.
89415
89416         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
89417         Also rename jm_-prefixed variables to have gl_ prefix.
89418
89419         * m4/jm-macros.m4: Reflect the renamings.
89420         * m4/prereq.m4: Likewise.
89421
89422 2004-04-20  Jim Meyering  <jim@meyering.net>
89423
89424         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
89425         memory.
89426
89427 2004-04-20  Jim Meyering  <jim@meyering.net>
89428             Bruno Haible  <bruno@clisp.org>
89429
89430         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
89431         memory when realloc fails.
89432
89433 2004-04-19  Jim Meyering  <jim@meyering.net>
89434
89435         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
89436         now that readutmp.c may call `free (0)'.
89437
89438 2004-04-19  Bruno Haible  <bruno@clisp.org>
89439
89440         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
89441         * m4/inttypes_h.m4: Likewise.
89442         * m4/stdint_h.m4: Likewise.
89443         * m4/intmax_t.m4: Likewise.
89444         * m4/uintmax_t.m4: Likewise.
89445
89446 2004-04-18  Jim Meyering  <jim@meyering.net>
89447
89448         * m4/prereq.m4: Don't forbid jm_ prefix.
89449
89450         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
89451         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
89452         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
89453         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
89454         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
89455         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
89456         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
89457         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
89458         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
89459         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
89460         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
89461         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
89462         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
89463         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
89464         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
89465         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
89466         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
89467         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
89468         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
89469
89470 2004-04-18  Jim Meyering  <jim@meyering.net>
89471
89472         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
89473         failure, don't leak memory and do call END_UTMP_ENT.
89474
89475 2004-04-16  Jim Meyering  <jim@meyering.net>
89476
89477         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
89478         coreutils' stat program.
89479         (gl_PREREQ): Don't require jm_PREREQ_STAT.
89480
89481 2004-04-11  Paul Eggert  <eggert@twinsun.com>
89482
89483         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
89484         C89.
89485         (CHAR_BIT): Remove, since we assume C89.
89486         Include <stdint.h> if available, as per current Autoconf CVS advice.
89487
89488 2004-03-31  Jim Meyering  <jim@meyering.net>
89489
89490         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
89491         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
89492         * m4/xalloc.m4: Likewise.
89493
89494 2004-03-30  Paul Eggert  <eggert@twinsun.com>
89495
89496         Merge from coreutils.
89497
89498         * m4/inttostr.m4: New file.
89499         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
89500         Require AM_STDBOOL_H and gl_TIMESPEC instead.
89501         Require gl_CLOCK_TIME.
89502         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
89503
89504 2004-03-30  Paul Eggert  <eggert@twinsun.com>
89505
89506         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
89507         not bool, to be more consistent with Unix conventions.
89508         Suggested by Bruno Haible.
89509
89510         Merge from coreutils.
89511
89512         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
89513         * lib/umaxtostr.c: New files.
89514
89515         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
89516         the usual <time.h> dance.
89517         (get_date): Change signature to support fractional time stamps.
89518         All callers changed.
89519         * lib/getdate.y: Include "getdate.h" first, as we can now
89520         assume C89 and don't need to worry about 'const'.
89521         Similarly, include "unlocked-io.h" near start, not in middle.
89522         Include <limits.h>.
89523         (textint.value): Use long int rather than int.
89524         (textint.digits): Use size_t rather than int.
89525         (BILLION, LOG10_BILLION): New constants.
89526         (parser_control): New member rel_ns.  Members day_ordinal,
89527         time_zone, month, day, hour, minutes, rel_year, rel_month,
89528         rel_day, rel_hour, rel_minutes, rel_seconds
89529         are now long int, not int.  Member seconds is now struct timespec,
89530         not int.  New member timespec_seen.  Members dates_seen, days_seen,
89531         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
89532         not int.
89533         (%union.intval): Now long int, not int.
89534         New member timespec.
89535         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
89536         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
89537         (spec): Now is a timespec or an item list.
89538         (timespec, items): New nonterminals.
89539         (time, rel, relunit, number, get_date):
89540         Add support for fractional seconds.
89541         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
89542         (gmtime, localtime, mktime): Remove decls; not needed with C89.
89543         (to_hour): First arg is now long int, not int.
89544         (to_year): Returns long int, not int.
89545         Don't treat year -70 like 70.
89546         (tm_diff): Returns long int, not int.
89547         (lookup_word): Use bool instead of int when appropriate.
89548         (yylex): Use size_t for count, not int.
89549         Detect overflow when parsing large integer constants.
89550         Add support for fractions.
89551         (get_date): Make pointers 'const' if possible.
89552         Use more-portable code to detect integer overflow.
89553         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
89554         Don't use ctime; it's not reliable if the year has >4 digits.
89555
89556         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
89557         This is for compatibility with BSD.
89558
89559         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
89560         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
89561         From coreutils' system.h.
89562
89563         * lib/userspec.c: Don't include "posixver.h".
89564         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
89565         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
89566         compatible extension.  Simplify code by removing a boolean int
89567         that was always nonzero if a string was nonnull.
89568
89569 2004-03-30  Jim Meyering  <jim@meyering.net>
89570
89571         Merge from coreutils.
89572
89573         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
89574         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
89575         on some systems one must include <grp.h> before it.
89576         Reported by Christian Krackowizer.
89577
89578 2004-03-30  Jim Meyering  <jim@meyering.net>
89579
89580         Merge from coreutils.
89581
89582         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
89583
89584         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
89585         an empty input stream.
89586
89587         * lib/readtokens.c: Include <stdbool.h>.
89588         (readtoken): Use `size_t' rather than int/long.
89589         All callers adjusted.
89590         Use `bool' rather than `int' where appropriate.
89591         Use memset rather than an explicit loop.
89592         Use x2nrealloc rather than xrealloc.
89593         Allow the use of `\0' as a delimiter.
89594         (readtokens): Likewise.
89595         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
89596
89597 2004-03-30  Jim Meyering  <jim@meyering.net>
89598
89599         * m4/realloc.m4: Remove file, since now it does no more than
89600         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
89601         the `configure.ac' section of module/realloc.
89602         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
89603
89604 2004-03-30  Bruno Haible  <bruno@clisp.org>
89605
89606         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
89607         nonnull.
89608
89609 2004-03-29  Paul Eggert  <eggert@twinsun.com>
89610
89611         Merge changes to getloadavg.c from coreutils and Emacs.
89612
89613         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
89614         Define to an expression, not to the empty string.
89615         Include cloexec.h and xalloc.h.
89616         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
89617         Use set_cloexec_flag rather than rolling our own.
89618         * lib/cloexec.c, lib/cloexec.h: New files.
89619
89620 2004-03-29  Paul Eggert  <eggert@twinsun.com>
89621
89622         * m4/cloexec.m4: New file.
89623
89624 2004-03-18  Paul Eggert  <eggert@twinsun.com>
89625
89626         * lib/getopt.h: Sync with libc CVS.
89627
89628 2004-03-18  Paul Eggert  <eggert@twinsun.com>
89629             Bruno Haible  <bruno@clisp.org>
89630
89631         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
89632         mbswidth.
89633
89634 2004-03-18  Paul Eggert  <eggert@twinsun.com>
89635             Bruno Haible  <bruno@clisp.org>
89636
89637         * lib/mbswidth.h: Include <wchar.h> only if
89638         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
89639         <wchar.h>.
89640         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
89641
89642 2004-03-09  Paul Eggert  <eggert@twinsun.com>
89643
89644         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
89645         Sync with libc CVS.
89646         * lib/getopt_int.h: New file, also synced from libc.
89647
89648 2004-03-09  Paul Eggert  <eggert@twinsun.com>
89649
89650         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
89651         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
89652         Bring back getopt.c, getopt.h, getopt1.c.
89653
89654 2004-03-07  Paul Eggert  <eggert@twinsun.com>
89655
89656         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
89657         All uses changed.  Check for sa_sigaction member; this fixes
89658         a bug first reported by Jason Andrade in
89659         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
89660
89661 2004-03-07  Paul Eggert  <eggert@twinsun.com>
89662
89663         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
89664         '#if' expressions.  Unlike the code it replaces, it does not
89665         depend on (defined _SC_PAGESIZE).  However, it does depend on
89666         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
89667         first reported by Jason Andrade in
89668         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
89669
89670 2004-02-25  Simon Josefsson  <jas@extundo.com>
89671
89672         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
89673
89674 2004-02-25  Simon Josefsson  <jas@extundo.com>
89675
89676         * lib/strdup.h: New file.
89677         * lib/strdup.c: Include it.
89678         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
89679         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
89680
89681 2004-02-23  Karl Berry  <karl@gnu.org>
89682
89683         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
89684         (from fencepost.gnu.org:/gd/gnuorg).
89685
89686 2004-02-23  Karl Berry  <karl@gnu.org>
89687
89688         * config/srclistvars.sh (GNUORG) [karl]: redefine.
89689         * config/srclist.txt: add maintain/standards documents.
89690
89691 2004-02-18  Bruno Haible  <bruno@clisp.org>
89692
89693         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
89694         Reported by Derek Robert Price <derek@ximbiot.com>.
89695
89696 2004-02-16  Karl Berry  <karl@gnu.org>
89697
89698         * config/mkinstalldirs, install-sh: update from automake.
89699
89700 2004-02-06  Karl Berry  <karl@gnu.org>
89701
89702         * m4/po.m4: update from gettext 0.14.1.
89703
89704 2004-02-06  Karl Berry  <karl@gnu.org>
89705
89706         * lib/config.charset: update from gettext 0.14.1.
89707
89708 2004-02-05  Paul Eggert  <eggert@twinsun.com>
89709
89710         Add comments and code, prompted by suggestions from Bruno Haible
89711         for sh-quote.
89712         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
89713         describing the enum quoting_style values.
89714         * lib/quotearg.c (quotearg_alloc): New function.
89715         (quotearg_buffer_restyled): Treat lone { and } as special.
89716         Treat = as special.  Work around bug with older shells
89717         that "see" a '\' that is really the 2nd byte of a multibyte char.
89718         Quote empty string with shell_quoting_style.
89719
89720 2004-02-03  Bruno Haible  <bruno@clisp.org>
89721
89722         * m4/pipe.m4: New file, from GNU gettext.
89723
89724 2004-02-03  Bruno Haible  <bruno@clisp.org>
89725
89726         * lib/pipe.h: New file, from GNU gettext.
89727         * lib/pipe.c: New file, from GNU gettext.
89728
89729 2004-01-27  Bruno Haible  <bruno@clisp.org>
89730
89731         * m4/execute.m4: New file, from GNU gettext.
89732
89733 2004-01-27  Bruno Haible  <bruno@clisp.org>
89734
89735         * lib/execute.h: New file, from GNU gettext.
89736         * lib/execute.c: New file, from GNU gettext.
89737         * lib/w32spawn.h: New file, from GNU gettext.
89738
89739 2004-01-24  Paul Eggert  <eggert@twinsun.com>
89740
89741         Merge from diffutils.
89742
89743         * lib/file-type.c (file_type): Add typed memory objects.
89744         * lib/file-type.h (S_TYPEISTMO): New macro.
89745
89746         * lib/c-stack.h (c_stack_action): Remove argv argument.
89747         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
89748         (die): Don't calculate message unless segv_action returns.
89749         (get_stack_location, min_address_from_argv, max_address_from_argv,
89750         volatile stack_base, volatile_stack_size): Remove.
89751         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
89752         that every segmentation violation is a stack overflow.  (Ouch!)
89753         See Debian bug 136249 (still outstanding) for more info about why
89754         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
89755
89756 2004-01-24  Paul Eggert  <eggert@twinsun.com>
89757
89758         Exit-status fix from coreutils.
89759
89760         Use exit_failure consistently in place of EXIT_FAILURE,
89761         so that program exit statuses are consistent on failure.
89762
89763         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
89764         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
89765         * lib/argmatch.h: Comment fix to match the above.
89766         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
89767         Now a macro referring to exit_failure, instead of a separate
89768         variable.  Include "exitfail.h" to get it.
89769         * lib/xstrtol.h: Include "exitfail.h".
89770         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
89771
89772         * lib/long-options.c (parse_long_options): Use prototype
89773         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
89774         for clarity.
89775
89776 2004-01-21  Jim Meyering  <jim@meyering.net>
89777
89778         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
89779         so as not to conflict with a different-sized __mktime_internal
89780         function in GNU libc.
89781         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
89782         Problem building statically-linked `ls' reported by Michael Brunnbauer.
89783
89784 2004-01-20  Karl Berry  <karl@gnu.org>
89785
89786         * config/config.guess: update from config.
89787
89788         * config/srclistvars.sh: GNUWWWLICENSES for karl.
89789
89790 2004-01-20  Bruno Haible  <bruno@clisp.org>
89791
89792         Safer stack allocation.
89793         * lib/setenv.c: Include allocsa.h.
89794         (alloca): Remove fallback definition.
89795         (freea): Remove macro.
89796         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
89797         instead of freea.
89798
89799 2004-01-20  Bruno Haible  <bruno@clisp.org>
89800
89801         * m4/eealloc.m4: New file, from GNU gettext.
89802
89803 2004-01-20  Bruno Haible  <bruno@clisp.org>
89804
89805         * m4/allocsa.m4: New file, from GNU gettext.
89806
89807 2004-01-20  Bruno Haible  <bruno@clisp.org>
89808
89809         * lib/xallocsa.h: New file, from GNU gettext.
89810         * lib/xallocsa.c: New file, from GNU gettext.
89811
89812 2004-01-20  Bruno Haible  <bruno@clisp.org>
89813
89814         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
89815
89816 2004-01-20  Bruno Haible  <bruno@clisp.org>
89817
89818         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
89819         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
89820         specially.
89821
89822 2004-01-20  Bruno Haible  <bruno@clisp.org>
89823
89824         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
89825         patch.
89826
89827 2004-01-20  Bruno Haible  <bruno@clisp.org>
89828
89829         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
89830
89831 2004-01-20  Bruno Haible  <bruno@clisp.org>
89832
89833         * lib/eealloc.h: New file.
89834
89835 2004-01-20  Bruno Haible  <bruno@clisp.org>
89836
89837         * lib/binary-io.h: Avoid warnings on Cygwin.
89838
89839 2004-01-20  Bruno Haible  <bruno@clisp.org>
89840
89841         * lib/allocsa.h: New file, from GNU gettext.
89842         * lib/allocsa.c: New file, from GNU gettext.
89843
89844 2004-01-18  Karl Berry  <karl@gnu.org>
89845
89846         * doc/gpl.texi, doc/lgpl.texi: new files.
89847
89848 2004-01-18  Karl Berry  <karl@gnu.org>
89849
89850         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
89851         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
89852
89853 2004-01-15  Paul Eggert  <eggert@twinsun.com>
89854
89855         Merge from coreutils.
89856
89857         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
89858         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
89859         (gl_DEFAULT_POSIX2_VERSION): Move
89860         the documentation from 'configure' into 'config.hin',
89861         so that 'configure --help' isn't burdened by it and
89862         we don't have to worry about its formatting there.
89863         Reword the documentation so that it's more succinct
89864         and can be run together into a single paragraph.
89865         * m4/same.m4 (gl_SAME): Check for pathconf.
89866
89867 2004-01-15  Paul Eggert  <eggert@twinsun.com>
89868
89869         Merge from coreutils.
89870
89871         * lib/posixver.c: Include posixver.h.
89872
89873         * lib/same.c: Include <stdbool.h>, <limits.h>.
89874         (_POSIX_NAME_MAX): Define if not defined.
89875         (MIN): New macro.
89876         (same_name): If file names are silently truncated, report
89877         that the file names are the same if they are the same after
89878         the silent truncation.
89879
89880         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
89881         conversion function.
89882         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
89883         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
89884         longer needed.
89885
89886 2004-01-15  Jim Meyering  <jim@meyering.net>
89887
89888         Merge from coreutils.
89889
89890         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
89891         if no library is required.
89892         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
89893         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
89894         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
89895         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
89896         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
89897         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
89898         value, $ac_cv_search_crypt, if it's "none required".
89899         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
89900         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
89901         not gl_FUNC_GETLOADAVG.
89902         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
89903         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
89904
89905 2004-01-15  Jim Meyering  <jim@meyering.net>
89906
89907         Merge from coreutils.
89908
89909         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
89910         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
89911         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
89912
89913         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
89914         optional configure-time default.
89915
89916         * lib/version-etc.c (version_etc_copyright): Update copyright date.
89917
89918         * lib/xreadlink.c (xreadlink): Correct outdated comment.
89919
89920 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
89921
89922         Merge from coreutils.
89923
89924         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
89925         value, $ac_cv_search_nanosleep, if it's "none required".
89926
89927 2004-01-14  Paul Eggert  <eggert@twinsun.com>
89928
89929         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
89930         with like-named macro in fnmatch.c.
89931         (EXT): Use an internal constant instead.
89932
89933         Merge fnmatch patches from glibc.
89934         * lib/fnmatch.c (mbsinit): Remove define.
89935         Add libc_hidden_ver (__fnmatch, fnmatch).
89936         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
89937         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
89938
89939 2004-01-14  Karl Berry  <karl@gnu.org>
89940
89941         * config/install-sh: update from automake.
89942
89943 2004-01-13  Karl Berry  <karl@gnu.org>
89944
89945         * config/install-sh: update from automake.
89946
89947 2004-01-09  Karl Berry  <karl@gnu.org>
89948
89949         * config/install-sh: update from automake.
89950
89951 2004-01-05  Karl Berry  <karl@gnu.org>
89952
89953         * config/config.{sub,guess}: update from config.
89954
89955 2003-12-31  Karl Berry  <karl@gnu.org>
89956
89957         * config/depcomp: update from automake.
89958
89959 2003-12-14  Karl Berry  <karl@gnu.org>
89960
89961         * lib/config.charset: update from gettext-runtime.
89962
89963 2003-12-03  Paul Eggert  <eggert@twinsun.com>
89964
89965         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
89966         Bug reported by Alfred M. Szmidt.
89967
89968 2003-12-03  Bruno Haible  <bruno@clisp.org>
89969
89970         * m4/gettext.m4: Upgrade from gettext-0.13.
89971         * m4/po.m4: Upgrade from gettext-0.13.
89972         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
89973         * m4/intmax.m4: New file, from gettext-0.13.
89974         * m4/printf-posix.m4: New file, from gettext-0.13.
89975
89976 2003-11-29  Karl Berry  <karl@gnu.org>
89977
89978         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
89979
89980 2003-11-25  Paul Eggert  <eggert@twinsun.com>
89981             Bruno Haible  <bruno@clisp.org>
89982
89983         * lib/printf-parse.h: Don't include sys/types.h.
89984         (ARG_NONE): New macro.
89985         (char_directive): Change type of *arg_index fields to size_t.
89986         * lib/printf-parse.c: Don't include sys/types.h.
89987         (SSIZE_MAX): Remove macro.
89988         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
89989         Remove unnecessary overflow check.
89990         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
89991         fields.
89992
89993 2003-11-25  Bruno Haible  <bruno@clisp.org>
89994
89995         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
89996
89997 2003-11-25  Bruno Haible  <bruno@clisp.org>
89998
89999         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
90000         gt_TYPE_SSIZE_T.
90001
90002 2003-11-24  Paul Eggert  <eggert@twinsun.com>
90003
90004         * modules/alloca: Remove dependency on xalloc.
90005
90006 2003-11-24  Paul Eggert  <eggert@twinsun.com>
90007
90008         * lib/alloca.c: Remove dependency on xalloc module.
90009         (xalloc_die): Remove.
90010         (memory_full) [!defined emacs]: New macro.
90011         [!defined emacs]: Don't include xalloc.h.
90012         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
90013         address arithmetic overflows.  Change datatypes a bit to avoid
90014         unnecessary casts.
90015
90016 2003-11-22  Jim Meyering  <jim@meyering.net>
90017
90018         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
90019         s/size/size_t/.
90020
90021 2003-11-21  Karl Berry  <karl@gnu.org>
90022
90023         * config/config.{sub,guess}: update from config.
90024
90025 2003-11-18  Karl Berry  <karl@gnu.org>
90026
90027         * config/config.{sub,guess}: update from config.
90028
90029         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
90030
90031 2003-11-17  Paul Eggert  <eggert@twinsun.com>
90032
90033         * README: Mention that S+T cannot overflow if S is the size of
90034         an existing object and T is sufficiently small.
90035
90036 2003-11-17  Jim Meyering  <jim@meyering.net>
90037
90038         On systems without utime and without a utimes function capable of
90039         dealing with a NULL struct utimbuf* argument, this utime replacement
90040         could -- in unusual circumstances -- leak a file descriptor.
90041         * lib/utime.c: Include <unistd.h> and <errno.h>.
90042         (utime_null): Be sure to close `fd' and to preserve errno.
90043         Reported by Geoff Collyer via Arnold Robbins.
90044
90045 2003-11-17  Bruno Haible  <bruno@clisp.org>
90046
90047         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
90048         (Depends-on): Add xsize.
90049
90050 2003-11-17  Bruno Haible  <bruno@clisp.org>
90051
90052         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
90053
90054 2003-11-17  Bruno Haible  <bruno@clisp.org>
90055
90056         * lib/vasnprintf.c (alloca): Remove fallback definition.
90057         (freea): Remove definition.
90058         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
90059         Reported by Paul Eggert.
90060
90061 2003-11-16  Paul Eggert  <eggert@twinsun.com>
90062             Bruno Haible  <bruno@clisp.org>
90063
90064         Protect against address arithmetic overflow.
90065         * lib/printf-args.h: Include stddef.h.
90066         (arguments): Change type of field 'count' to size_t.
90067         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
90068         'unsigned int' where appropriate.
90069         * lib/printf-parse.h: Include sys/types.h.
90070         (char_directive): Change type of *arg_index fields to ssize_t.
90071         (char_directives): Change type of fields 'count', max_*_length to
90072         size_t.
90073         * lib/printf-parse.c: Include sys/types.h and xsize.h.
90074         (SSIZE_MAX): Define fallback value.
90075         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
90076         instead of 'int' where appropriate. Check a_allocated, d_allocated
90077         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
90078         * lib/vasnprintf.c: Include xsize.h.
90079         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
90080         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
90081         overflow. Avoid wraparound when converting a width or precision from
90082         decimal to binary.
90083
90084 2003-11-16  Bruno Haible  <bruno@clisp.org>
90085
90086         Update from GNU gettext.
90087         * lib/printf-parse.c: Generalize to it can be compiled for wide
90088         strings.
90089         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
90090         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
90091         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
90092         SNPRINTF): New macros.
90093         Don't include <alloca.h> if the file is used inside libintl.
90094         (local_wcslen): New function, for Solaris 2.5.1.
90095         (VASNPRINTF): Use it instead of wcslen.
90096
90097 2003-11-16  Bruno Haible  <bruno@clisp.org>
90098
90099         * lib/xsize.h (xmax): New function.
90100         (xsum, xsum3, xsum4): Declare as "pure" functions.
90101
90102 2003-11-12  Paul Eggert  <eggert@twinsun.com>
90103
90104         * modules/xalloc (Files): Undo latest change, since xalloc.h
90105         no longer needs SIZE_MAX or PTRDIFF_MAX.
90106
90107 2003-11-12  Paul Eggert  <eggert@twinsun.com>
90108
90109         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
90110         gl_PTRDIFF_MAX.
90111
90112 2003-11-12  Paul Eggert  <eggert@twinsun.com>
90113
90114         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
90115         "return", to pacify some unknown compiler.  Problem reported
90116         by Joerg Schilling.
90117
90118 2003-11-12  Paul Eggert  <eggert@twinsun.com>
90119
90120         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
90121         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
90122         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
90123         heuristic is just as accurate as far as we know, and it removes a
90124         dependency on size_max.m4 and ptrdiff_max.m4.
90125
90126 2003-11-11  Bruno Haible  <bruno@clisp.org>
90127
90128         * modules/xsize (Files): Add m4/size_max.m4.
90129         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
90130
90131 2003-11-11  Bruno Haible  <bruno@clisp.org>
90132
90133         * m4/size_max.m4: New file.
90134         * m4/ptrdiff_max.m4: New file.
90135         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
90136         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
90137         (gl_XALLOC): Invoke it.
90138
90139 2003-11-11  Bruno Haible  <bruno@clisp.org>
90140
90141         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
90142         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
90143         defined.
90144
90145 2003-11-10  Paul Eggert  <eggert@twinsun.com>
90146
90147         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
90148         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
90149         rejected some allocations of exactly SIZE_MAX - 2 bytes.
90150         From Bruno Haible.
90151         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
90152         not (size_t) -1, since it's defined here.
90153
90154 2003-11-09  Karl Berry  <karl@gnu.org>
90155
90156         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
90157
90158 2003-11-06  Paul Eggert  <eggert@twinsun.com>
90159
90160         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
90161         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
90162         Reject sizes of exactly SIZE_MAX bytes.
90163         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
90164         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
90165
90166 2003-11-05  Bruno Haible  <bruno@clisp.org>
90167
90168         * lib/xsize.h: Include limits.h, to avoid a possible collision with
90169         SIZE_MAX defined in <limits.h> on Solaris.
90170
90171 2003-11-04  Jim Meyering  <jim@meyering.net>
90172
90173         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
90174         variable names, rather than @VAR@.
90175         * modules/poll: Likewise.
90176
90177 2003-11-04  Bruno Haible  <bruno@clisp.org>
90178
90179         * modules/xsize: New file.
90180         * modules/linebreak: Depend on xsize.
90181         * MODULES.html.sh (func_all_modules): Add xsize.
90182
90183 2003-11-04  Bruno Haible  <bruno@clisp.org>
90184
90185         * m4/xsize.m4: New file.
90186
90187 2003-11-04  Bruno Haible  <bruno@clisp.org>
90188
90189         * lib/xsize.h: New file.
90190         * lib/linebreak.c: Include xsize.h.
90191         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
90192         argument for overflow.
90193         Suggested by Paul Eggert.
90194
90195 2003-11-03  Karl Berry  <karl@gnu.org>
90196
90197         * config/config.{guess,sub}: update from config.
90198
90199 2003-11-03  Jim Meyering  <jim@meyering.net>
90200
90201         * modules/userspec (lib_SOURCES): Add userspec.h.
90202         (Include): Add "userspec.h".
90203         Improve description.
90204
90205 2003-11-03  Jim Meyering  <jim@meyering.net>
90206
90207         * lib/userspec.c: Include "userspec.h".
90208         * lib/userspec.h: New file.
90209
90210 2003-11-03  Bruno Haible  <bruno@clisp.org>
90211
90212         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
90213
90214 2003-11-03  Bruno Haible  <bruno@clisp.org>
90215
90216         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
90217         available, to avoid (extremely rare) race condition.
90218         Suggested by Paul Eggert.
90219
90220 2003-11-02  Karl Berry  <karl@gnu.org>
90221
90222         * config/srclist.txt (vasprintf.c): sync broken, sigh.
90223
90224 2003-10-31  Paul Eggert  <eggert@twinsun.com>
90225
90226         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
90227         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
90228         (read_filesystem_list): Set and use me_type_malloced.
90229         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
90230         whatever the type happens to be), for brevity and consistency.
90231         Check for size calculation overflow on Alphas running OSF/1.
90232
90233 2003-10-31  Jim Meyering  <jim@meyering.net>
90234
90235         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
90236
90237         * lib/linebuffer.c: Include <string.h> for declaration of memset.
90238
90239 2003-10-30  Paul Eggert  <eggert@twinsun.com>
90240             Bruno Haible  <bruno@clisp.org>
90241
90242         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
90243         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
90244
90245 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
90246
90247         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
90248         netbsd*-gnu*.  Suggested by Robert Millan.
90249
90250 2003-10-29  Paul Eggert  <eggert@twinsun.com>
90251
90252         * modules/group-member: Depend on stdbool.
90253
90254 2003-10-29  Paul Eggert  <eggert@twinsun.com>
90255
90256         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
90257
90258 2003-10-29  Paul Eggert  <eggert@twinsun.com>
90259
90260         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
90261         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
90262         after the 'gnu' in these cases.  This fixes some bugs in the
90263         previous change, and is based on suggestions by Robert Millan.
90264
90265 2003-10-29  Paul Eggert  <eggert@twinsun.com>
90266
90267         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
90268         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
90269         no longer needed.
90270         * lib/quotearg.c (quotearg_n_options): Use it.
90271         * lib/group-member.c: Include <stdbool.h>.
90272         (free_group_info): Arg is now const *; don't free arg.
90273         (get_group_info): Now returns bool and accepts struct group_info *,
90274         rather than returning a malloc'ed struct group_info *.
90275         All uses changed.  Check for overflow in internal size calculation.
90276
90277         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
90278         rather than xmalloc/xrealloc.
90279         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
90280         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
90281         conformance bug: the old code used a pointer after freeing the
90282         storage that it addressed.
90283         * lib/hash.c (hash_initialize): Simplify the code by using
90284         xalloc_oversized rather than doing it by hand.
90285         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
90286         the buffer preserved.  Use free and xmalloc instead.
90287         * lib/quotearg.c (quotearg_n_options): Likewise.
90288         Use a simpler test for size overflow.  Don't use xalloc_oversized
90289         because unsigned int might be wider than size_t (!); this suggests
90290         that we should switch from unsigned int to size_t for slot numbers.
90291
90292 2003-10-28  Paul Eggert  <eggert@twinsun.com>
90293
90294         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
90295         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
90296         NetBSD kernels.  Requested by Richard Stallman.
90297
90298 2003-10-27  Paul Eggert  <eggert@twinsun.com>
90299
90300         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
90301         to allocate the returned structure.  Do not allocate a subarray,
90302         as x2nrealloc will do that.
90303         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
90304         instead of xnrealloc.
90305         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
90306
90307 2003-10-27  Bruno Haible  <bruno@clisp.org>
90308
90309         * lib/stdbool_.h: Better support for BeOS.
90310
90311 2003-10-26  Paul Eggert  <eggert@twinsun.com>
90312
90313         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
90314         now uses inline.
90315
90316 2003-10-26  Paul Eggert  <eggert@twinsun.com>
90317
90318         * lib/xalloc.h (xalloc_oversized): New static inline function, for
90319         callers that want to do their own size-overflow checking.  Include
90320         <stdbool.h>, since xalloc_oversized returns bool.
90321         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
90322         to use xalloc_oversized.
90323
90324         Add two functions x2realloc, x2nrealloc, for programs that grow
90325         arrays dynamically by doubling their sizes.
90326         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
90327         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
90328         New functions.
90329
90330         Port to C99 semantics for 'inline' of external functions.
90331         Bug reported by Bruno Haible.
90332         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
90333         with the old contents of xnmalloc.
90334         (xnmalloc, xmalloc): Use it.
90335         (xnrealloc_inline): New static inline function,
90336         with the old contents of xnrealloc.
90337         (xnrealloc, xrealloc): Use it.
90338
90339         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
90340         that.
90341
90342 2003-10-26  Karl Berry  <karl@gnu.org>
90343
90344         * config/srclist.txt (COPYING.DOC): no longer available from
90345         /gd/gnuorg; don't know where the ultimate source is.
90346
90347 2003-10-25  Paul Eggert  <eggert@twinsun.com>
90348
90349         Fix several address-calculation bugs in the hash modules,
90350         plus some minor code cleanup.
90351
90352         * lib/hash.h: Include <stdbool.h>, for bool.
90353         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
90354         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
90355         hash_get_n_entries, hash_get_max_bucket_length,
90356         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
90357         hash_rehash): Use size_t rather than unsigned.
90358         * lib/hash.c (struct hash_table, hash_get_n_buckets,
90359         hash_get_n_buckets_used, hash_get_n_entries,
90360         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
90361         hash_get_entries, hash_do_for_each, hash_string, is_prime,
90362         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
90363         Likewise.
90364         (SIZE_MAX): Define if not defined.
90365         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
90366         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
90367         hash_print):
90368         Use const * when possible.
90369         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
90370         (check_tuning): Fix bug: if tuning parameters were very close to
90371         0 or 1, rounding errors could have caused subscript violations.
90372         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
90373         (hash_initialize): Add 'fail:' label
90374         to free table and return NULL, and use it to simplify code.
90375         Use calloc rather than clearing the storage ourself.
90376         (hash_initialize, hash_rehash): Check for arithmetic overflow in
90377         buffer size calculations.
90378         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
90379         Include <stddef.h>, for size_t.
90380         * lib/hash-pjw.c (hash_pjw): Likewise.
90381         Switch to method described by Bruno Haible.
90382         Include <limits.h>, for CHAR_BIT.
90383         (SIZE_BITS): New macro.
90384
90385 2003-10-23  Paul Eggert  <eggert@twinsun.com>
90386
90387         * m4/getline.m4 (AM_FUNC_GETLINE):
90388         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
90389         hosts.  Problem reported by Derek Robert Price in
90390         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
90391         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
90392         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
90393
90394 2003-10-21  Paul Eggert  <eggert@twinsun.com>
90395
90396         * lib/getndelim2.c (getndelim2): When size calculation overflows,
90397         ceiling the allocation at NMAX bytes rather than silently
90398         discarding input bytes before NMAX is reached.  This makes
90399         a difference only if NMAX exceeds SIZE_MAX / 2.
90400
90401         * lib/obstack.c: Merge from glibc.
90402         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
90403         Add libc_hidden_def (_obstack_newchunk).
90404         (_obstack_free) [! defined _LIBC]: Remove.
90405         [defined _LIBC]: Make a strong alias from obstack_free, rather than
90406         a clone of the function body.
90407         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
90408         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
90409
90410         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
90411         glibc.
90412         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
90413         arg to memcpy.
90414
90415         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
90416         (obstack_ptr_grow_fast, obstack_int_grow_fast):
90417         Don't use lvalue casts, as GCC plans to remove support for them
90418         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
90419         was also present in the non-GCC version, indicating that this
90420         code had always been buggy and had never been widely used.
90421         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
90422         Use the fast variant of each macro, rather than copying the
90423         definiens of the fast variant; that way, we'll be more likely to
90424         catch future bugs in the fast variants.
90425
90426 2003-10-20  Bruno Haible  <bruno@clisp.org>
90427
90428         * modules/wait-process: New file.
90429         * MODULES.html.sh (func_all_modules): Add wait-process.
90430
90431 2003-10-20  Bruno Haible  <bruno@clisp.org>
90432
90433         * m4/wait-process.m4: New file.
90434
90435 2003-10-20  Bruno Haible  <bruno@clisp.org>
90436
90437         * lib/wait-process.h: New file, from GNU gettext.
90438         * lib/wait-process.c: New file, from GNU gettext.
90439
90440 2003-10-19  Jim Meyering  <jim@meyering.net>
90441
90442         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
90443         HPUX 10.20.
90444
90445 2003-10-18  Karl Berry  <karl@gnu.org>
90446
90447         * config/config.guess: update from config.
90448
90449 2003-10-16  Paul Eggert  <eggert@twinsun.com>
90450
90451         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
90452         (getgroups): First arg is int, not size_t.
90453         Don't let 'free' mangle errno.
90454
90455 2003-10-16  Paul Eggert  <eggert@twinsun.com>
90456
90457         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
90458
90459 2003-10-16  Karl Berry  <karl@gnu.org>
90460
90461         * config/config.{guess,sub}: update from config.
90462
90463 2003-10-16  Jim Meyering  <jim@meyering.net>
90464
90465         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
90466         memcpy.
90467
90468 2003-10-15  Paul Eggert  <eggert@twinsun.com>
90469
90470         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
90471         (SIZE_MAX): Remove.
90472         (new_exclude, add_exclude_file): Initial size no longer needs to
90473         be a power of 2.
90474         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
90475         our own address arithmetic overflow checking.
90476
90477         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
90478         (fnmatch): Do not alloca more than 2000 wide characters;
90479         instead, use malloc for large buffers.
90480         Check for address arithmetic overflow, and return -1
90481         with errno set to ENOMEM in that case.
90482         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
90483         (NEW_PATTERN): Do not alloca more than 8000 bytes;
90484         instead, return -1.  Check for address arithmetic overflow.
90485
90486 2003-10-14  Paul Eggert  <eggert@twinsun.com>
90487
90488         Handle invalid suffixes and overflow independently, so that
90489         callers can treat them independently as needed.  Fix some bugs in
90490         suffix handling, e.g., "100k@" was not diagnosed as an invalid
90491         suffix for a human-readable blocksize.  The major caller-visible
90492         change is the addition of a new
90493         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
90494         that both overflow and suffix chars were found.
90495
90496         * lib/human.c (humblock): Don't check separately for invalid suffix
90497         char; that is xstrtoumax's job (now that its bug is fixed).
90498         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
90499         INTMAX_MAX]: New macros.
90500         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
90501         TYPE_MAXIMUM): New macros.
90502         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
90503         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
90504         if overflow occurs, as it's what __strtol does and it's more useful
90505         in practice.
90506         (__xstrtol): If __strtol reports some error other than ERANGE,
90507         reflect it to the caller as LONGINT_INVALID.  If it reports
90508         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
90509         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
90510         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
90511         value.
90512         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
90513         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
90514         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
90515         [defined UINTMAX_MAX]: New macros.
90516
90517 2003-10-14  Bruno Haible  <bruno@clisp.org>
90518
90519         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
90520
90521 2003-10-14  Bruno Haible  <bruno@clisp.org>
90522
90523         * m4/sig_atomic_t: New file, from GNU gettext.
90524         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
90525
90526 2003-10-14  Bruno Haible  <bruno@clisp.org>
90527
90528         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
90529         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
90530         Also use volatile where needed.
90531
90532 2003-10-12  Paul Eggert  <eggert@twinsun.com>
90533
90534         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
90535         Change maintainer from Bruno Haible to 'all'.
90536
90537 2003-10-12  Paul Eggert  <eggert@twinsun.com>
90538
90539         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
90540
90541 2003-10-12  Paul Eggert  <eggert@twinsun.com>
90542
90543         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
90544         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
90545         and define in terms of the other primitives.
90546         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
90547         (SIZE_MAX): Define if not already defined.
90548         (array_size_overflow): New function.
90549         (xalloc_die): Abort instead of exiting if 'error' returns.
90550         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
90551         (xmalloc, xrealloc): Use them.
90552         (xcalloc): Check for address arithmetic overflow.
90553         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
90554         a bit faster than strcpy.
90555
90556 2003-10-10  Simon Josefsson  <jas@extundo.com>
90557
90558         * modules/argp (Depends-on): Add restrict and strcase.
90559
90560 2003-10-10  Simon Josefsson  <jas@extundo.com>
90561
90562         * m4/argp.m4: Add AC_C_INLINE.
90563
90564 2003-10-08  Paul Eggert  <eggert@twinsun.com>
90565
90566         Merge getpass from libc, plus a few fixes.
90567
90568         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
90569         Include <stdbool.h>.
90570         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
90571         __fsetlocking to empty.
90572         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
90573         do include <bits/libc-lock.h>.
90574         Do not include <fcntl.h>; not needed.
90575         [_LIBC]: Include <wchar.h>.
90576         (NOTCANCEL_MODE): New macro.
90577         (flockfile, funlockfile) [_LIBC]: New macros.
90578         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
90579         [!_LIBC]: New macros.
90580         (call_fclose): New function.
90581         (getpass): Use it.  Save tty stream separately; this simplifies the
90582         code and makes it more reliable if stdin happens to equal stdout.
90583         Invoke __fsetlocking on tty.
90584         Handle thread cancellation if needed.
90585         Namespace cleanup (use __tcgetattr, __getline).
90586         Use bool for Booleans.
90587         [USE_IN_LIBIO]: Handle wide streams.
90588         [!_LIBC]: Unconditionally do the fseek, since we don't know what
90589         stream might go where.
90590
90591         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
90592         doesn't have to include <stdio.h> before us.
90593         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
90594         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
90595         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
90596         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
90597         if not declared, so that we can use getpass.c code from libc without
90598         rewriting it.
90599         (flockfile, ftrylockfile, funlockfile): New macros.
90600
90601 2003-10-08  Paul Eggert  <eggert@twinsun.com>
90602
90603         * modules/getpass: Depend on stdbool.
90604
90605 2003-10-08  Paul Eggert  <eggert@twinsun.com>
90606
90607         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
90608
90609 2003-10-07  Karl Berry  <karl@gnu.org>
90610
90611         * config/config.{guess,sub}: update from config.
90612
90613 2003-10-06  Jim Meyering  <jim@meyering.net>
90614             Bruno Haible  <bruno@clisp.org>
90615
90616         This lets translators provide better translations for the
90617         "Written by ..." part of --version output.
90618         * lib/version-etc.h: Include stdarg.h.
90619         (version_etc_copyright): Declare as readonly.
90620         (version_etc): Make this function variadic with a NULL-terminated list
90621         of author name strings.
90622         (version_etc_va): New declaration.
90623         * lib/version-etc.c: Include stdarg.h, stdlib.h.
90624         (version_etc_copyright): Declare as readonly.
90625         (version_etc_va): New function. Provide a different translatable string
90626         for each possible number of authors < 10. Abbreviate when there are 10
90627         authors or more.
90628         (version_etc): Make this function variadic. Call version_etc_va.
90629         Suggestion from Gary V. Vaughan.
90630
90631         * lib/long-options.h (parse_long_options): Change prototype: the
90632         authors string is moved to the end and becomes variadic.
90633         * lib/long-options.c: Include stdarg.h.
90634         (parse_long_options): Make this function variadic, too.
90635         Call version_etc_va, not version_etc.
90636
90637 2003-10-06  Bruno Haible  <bruno@clisp.org>
90638
90639         * modules/version-etc-2: Remove file.
90640         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
90641
90642 2003-10-06  Bruno Haible  <bruno@clisp.org>
90643
90644         * modules/fatal-signal: New file.
90645         * MODULES.html.sh (func_all_modules): Add fatal-signal.
90646
90647 2003-10-06  Bruno Haible  <bruno@clisp.org>
90648
90649         * m4/fatal-signal.m4: New file.
90650         * m4/signalblocking.m4: New file, from GNU gettext.
90651
90652 2003-10-06  Bruno Haible  <bruno@clisp.org>
90653
90654         * lib/version-etc-2.h: Remove file.
90655         * lib/version-etc-2.c: Remove file.
90656
90657 2003-10-06  Bruno Haible  <bruno@clisp.org>
90658
90659         * lib/fatal-signal.h: New file, from GNU gettext.
90660         * lib/fatal-signal.c: New file, from GNU gettext.
90661
90662 2003-10-05  Paul Eggert  <eggert@twinsun.com>
90663
90664         * README: Rework advice for preventing empty .o files.
90665         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
90666         not <sys/types.h>.
90667
90668 2003-10-04  Karl Berry  <karl@gnu.org>
90669
90670         * lib/argp*: update from libc.
90671
90672 2003-10-04  Karl Berry  <karl@gnu.org>
90673
90674         * config/config.{guess,sub}: update from config.
90675
90676 2003-10-02  Bruno Haible  <bruno@clisp.org>
90677
90678         * modules/lchown (Include): Add lchown.h.
90679         * modules/time_r (Include): Use "..." syntax.
90680         * modules/xgetdomainname (Include): Add xgetdomainname.h.
90681
90682 2003-10-01  Simon Josefsson  <jas@extundo.com>
90683
90684         * MODULES.html.sh (func_all_modules): Move gethostname from section
90685         'based on' to section 'lacking' POSIX:2001.
90686
90687 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
90688
90689         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
90690         to output mode on the same stream.
90691
90692 2003-09-29  Paul Eggert  <eggert@twinsun.com>
90693
90694         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
90695         Fix arg typo in previous patch.
90696
90697 2003-09-28  Jim Meyering  <jim@meyering.net>
90698
90699         * lib/error.c: Correct cpp indentation.
90700
90701 2003-09-27  Paul Eggert  <eggert@twinsun.com>
90702
90703         * modules/free: New file.
90704
90705 2003-09-27  Paul Eggert  <eggert@twinsun.com>
90706
90707         * m4/free.m4: New file.
90708
90709 2003-09-27  Paul Eggert  <eggert@twinsun.com>
90710
90711         * lib/minmax.h (MIN, MAX)
90712         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
90713         Omit the special code that used __typeof__, since we worry that
90714         it could be more trouble than it's worth.  See:
90715         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
90716         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
90717
90718         * lib/free.c: New file.
90719
90720 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
90721
90722         Trivial fixes to Makefile.am parts of module listings.
90723         * modules/strstr: Append strstr.h to lib_SOURCES.
90724         * modules/strcase: Likewise, for strcase.h.
90725
90726 2003-09-27  Karl Berry  <karl@gnu.org>
90727
90728         * config/mkinstalldirs: update from automake.
90729
90730 2003-09-26  Paul Eggert  <eggert@twinsun.com>
90731
90732         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
90733         (error_tail): Do not loop, reallocating temporary buffer, since
90734         the output cannot contain more wide characters than the input
90735         contains bytes, the size must be big enough already.  This avoids
90736         one potential size overflow calculation.  Check for size overflow
90737         when calculating temporary buffer size.  Free temporary buffer
90738         when done, if it was allocated with malloc; this plugs a memory
90739         leak.  Remove casts from void * to pointers, that are no longer
90740         needed now that we're assuming C89 or better.
90741
90742         Merge error changes from glibc.
90743
90744         * lib/error.c, error.h: Update copyright notice header to match glibc.
90745         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
90746         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
90747         Disable cancellation while printing error.
90748         * lib/error.h: Prepend __ to parameter names.
90749
90750 2003-09-26  Jim Meyering  <jim@meyering.net>
90751
90752         * lib/error.c (error_tail): Move some declarations
90753         into inner scope where the local variables are used.
90754
90755 2003-09-26  Bruno Haible  <bruno@clisp.org>
90756
90757         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
90758         stpncpy().
90759         Don't define stpncpy through config.h; it's now done through stpncpy.h.
90760
90761 2003-09-26  Bruno Haible  <bruno@clisp.org>
90762
90763         * lib/stpncpy.h (gnu_stpncpy): New declaration.
90764         (stpncpy): Define as alias for gnu_stpncpy.
90765         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
90766
90767 2003-09-25  Simon Josefsson  <jas@extundo.com>
90768
90769         * lib/xgetdomainname.h: New file.
90770         * lib/xgetdomainname.c: New file.
90771
90772 2003-09-25  Simon Josefsson  <jas@extundo.com>
90773             Bruno Haible  <bruno@clisp.org>
90774
90775         * modules/getdomainname: New file.
90776         * modules/xgetdomainname: New file.
90777         * MODULES.html.sh (func_all_modules): Add getdomainname,
90778         xgetdomainname.
90779
90780 2003-09-25  Simon Josefsson  <jas@extundo.com>
90781             Bruno Haible  <bruno@clisp.org>
90782
90783         * m4/getdomainname.m4: New file.
90784
90785 2003-09-25  Simon Josefsson  <jas@extundo.com>
90786             Bruno Haible  <bruno@clisp.org>
90787
90788         * lib/getdomainname.h: New file.
90789         * lib/getdomainname.c: New file.
90790
90791 2003-09-25  Karl Berry  <karl@gnu.org>
90792
90793         * lib/argp-fmtstream.c, argp-help.c: update from libc.
90794
90795 2003-09-25  Karl Berry  <karl@gnu.org>
90796
90797         * config/install-sh: update from automake.
90798
90799 2003-09-25  Bruno Haible  <bruno@clisp.org>
90800
90801         * modules/version-etc-2: New file, from modules/version-etc with
90802         modifications.
90803         * MODULES.html.sh (func_all_modules): Add version-etc-2.
90804
90805 2003-09-25  Bruno Haible  <bruno@clisp.org>
90806
90807         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
90808         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
90809
90810 2003-09-24  Simon Josefsson  <jas@extundo.com>
90811
90812         * modules/xgethostname: Add xgethostname.h.
90813
90814 2003-09-24  Paul Eggert  <eggert@twinsun.com>
90815
90816         * lib/linebuffer.c (freebuffer): Don't free the argument, just
90817         the buffer associated with the argument.  Bug reported by
90818         Simon Josefsson.
90819
90820 2003-09-24  Paul Eggert  <eggert@twinsun.com>
90821
90822         * README: Document assumptions that 'int' is at least 32 bits
90823         wide, that integer arithmetic is 2's complement without overflow,
90824         that there are no holes in integer values, that adding sizes of
90825         two nonoverlapping objects can't overflow, and that all-bits-zero
90826         yields scalar zero.  Fix spelling and capitalization typos.
90827
90828 2003-09-19  Karl Berry  <karl@gnu.org>
90829
90830         * lib/argp.h: update from libc.
90831
90832 2003-09-17  Paul Eggert  <eggert@twinsun.com>
90833
90834         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
90835         to avoid spurious warnings like "AC_RUN_IFELSE was called before
90836         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
90837
90838 2003-09-17  Paul Eggert  <eggert@twinsun.com>
90839
90840         * gnulib-tool: Use "test -h", not "test -L", for portability
90841         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
90842         (tags_regexp): Remove, since \| doesn't conform to POSIX.
90843         (sed_extract_prog): Issue s commands one-by-one, rather than
90844         using \| in one s command.
90845
90846 2003-09-16  Paul Eggert  <eggert@twinsun.com>
90847
90848         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
90849         input error, instead of returning NULL the next time we are called
90850         (and therefore losing track of errno).
90851
90852 2003-09-16  Bruno Haible  <bruno@clisp.org>
90853
90854         * gnulib-tool (func_create_testdir): Warn about duplicated
90855         dependencies.
90856
90857 2003-09-15  Paul Eggert  <eggert@twinsun.com>
90858
90859         * modules/argmatch, modules/fatal, modules/obstack,
90860         modules/xalloc, modules/xgethostname: Sort dependencies by
90861         importance, not alphabetically.
90862
90863 2003-09-15  Paul Eggert  <eggert@twinsun.com>
90864
90865         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
90866         fails, so that the caller gets the proper errno.
90867
90868         * lib/readutmp.c (read_utmp): Likewise.
90869         Check for fstat error.  Close stream and free storage
90870         when failing.
90871
90872 2003-09-14  Karl Berry  <karl@gnu.org>
90873
90874         * config/srclist.txt (strdup.c): disable for c89 changes.
90875
90876 2003-09-14  Jim Meyering  <jim@meyering.net>
90877
90878         * lib/getloadavg.c: Correct cpp indentation.
90879         * lib/strdup.c: Likewise.
90880         * lib/vasnprintf.c: Likewise.
90881
90882 2003-09-14  Bruno Haible  <bruno@clisp.org>
90883
90884         * modules/fwriteerror: New file.
90885         * MODULES.html.sh (func_all_modules): Add fwriteerror.
90886
90887 2003-09-14  Bruno Haible  <bruno@clisp.org>
90888
90889         * lib/fwriteerror.h: New file.
90890         * lib/fwriteerror.c: New file.
90891
90892 2003-09-12  Paul Eggert  <eggert@twinsun.com>
90893
90894         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
90895         modules/xgethostname, modules/xalloc: Depend on exit.
90896
90897 2003-09-12  Paul Eggert  <eggert@twinsun.com>
90898
90899         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
90900
90901         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
90902         and AC_MINIX, too, so that their extensions are available.
90903
90904         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
90905         This macro has been superseded by gl_BACKUPFILE.
90906
90907         More patches to assume C89 or better.
90908
90909         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
90910
90911         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
90912         unconditionally.
90913         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
90914         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
90915         Include <string.h>, <stdlib.h> unconditionally.
90916         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
90917         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
90918         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
90919         headers or for string.h.
90920         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
90921         or strtoul.
90922
90923         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
90924         headers.
90925         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
90926         * m4/userspec.m4 (gl_USERSPEC): Likewise.
90927         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
90928         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
90929         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
90930         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
90931         memcpy, memset.
90932         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
90933         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
90934         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
90935         strtol.
90936         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
90937         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
90938         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
90939         strtoul.
90940
90941 2003-09-12  Paul Eggert  <eggert@twinsun.com>
90942
90943         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
90944         * lib/obstack.c [!defined _LIBC]: Likewise.
90945         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
90946         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
90947         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
90948
90949         More changes to assume C89 or better.
90950
90951         * lib/error.c (error_tail): Assume vprintf.
90952
90953         * lib/argmatch.c (getenv): Remove decl.
90954         * lib/progreloc.c (get_full_program_name): Define via prototype.
90955         * lib/setenv.c (clearenv): Likewise.
90956         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
90957         needed.
90958         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
90959         (malloc, memcpy): Remove decls.
90960         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
90961         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
90962         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
90963         (memcpy): Remove macro.
90964         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
90965         (__P): Remove.  All uses removed.
90966         (PTR): Remove.  All uses changed to void *.
90967         (CHAR_BIT, NULL): Remove.
90968         (spaces, zeros, memset_space, memset_zero)
90969         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
90970         Remove.
90971         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
90972         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
90973         Define with prototype.
90974         Remove now-unnecessary prototype decl.
90975         (extra_args_spec): Assume ANSI C.  All uses changed.
90976         (extra_args_spec_iso): Remove.
90977         (my_strftime, emacs_strftimeu): Define via prototype.
90978         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
90979         unconditionally.
90980         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
90981         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
90982         (strtoul, strtol): Remove decls.
90983         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
90984         LONG_MAX): Remove.
90985         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
90986         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
90987         (LOCALE_PARAM_PROTO): New macro.
90988         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
90989         (INTERNAL (strtol), strtol): Define with a prototype.
90990         (PARAMS): Remove.  All uses removed.
90991         * lib/tempname.c: Include <string.h> unconditionally.
90992         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
90993         * lib/xgethostname.c (main): Define with a prototype.
90994         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
90995         Include <stdlib.h> unconditionally.
90996         (calloc, malloc, realloc, free): Remove decls.
90997         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
90998         Include <stdlib.h> unconditionally.  Sort include file names.
90999         (strtod): Remove.
91000         (xstrtod): Define with a prototype.
91001         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
91002         (strtol, strtoul): Remove decls.
91003
91004 2003-09-11  Paul Eggert  <eggert@twinsun.com>
91005
91006         More patches to assume C89 or better.
91007         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
91008         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
91009         string.h, memchr, STDC_HEADERS.
91010
91011 2003-09-11  Paul Eggert  <eggert@twinsun.com>
91012
91013         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
91014         Include <stdlib.h>, <string.h> unconditionally.
91015         Remove now-unnecessary cast to char *.
91016         * lib/strnlen.c: Include <string.h> unconditionally.
91017         * lib/yesno.c (yesno): Define with a prototype.
91018
91019 2003-09-11  Bruno Haible  <bruno@clisp.org>
91020
91021         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
91022
91023 2003-09-10  Jim Meyering  <jim@meyering.net>
91024
91025         * lib/error.c: Correct indentation of cpp directives.
91026
91027 2003-09-10  Bruno Haible  <bruno@clisp.org>
91028
91029         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
91030         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
91031         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
91032         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
91033         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
91034         <stdlib.h> and <string.h> checks.
91035         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
91036         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
91037
91038 2003-09-10  Bruno Haible  <bruno@clisp.org>
91039
91040         * lib/strcspn.c: Include <string.h> unconditionally.
91041         * lib/strpbrk.c: Include <string.h> unconditionally.
91042         * lib/strstr.c: Include <string.h> unconditionally.
91043         * lib/unicodeio.c: Include <string.h> unconditionally.
91044         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
91045         * lib/unsetenv.c: Likewise.
91046         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
91047         * lib/yesno.c: Include <stdlib.h> unconditionally.
91048         (rpmatch): Add prototype.
91049
91050 2003-09-09  Paul Eggert  <eggert@twinsun.com>
91051
91052         More patches to assume C89 or better.
91053         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
91054         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
91055         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
91056         or for string.h.
91057         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
91058         stdlib.h.
91059         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
91060         C headers.
91061         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
91062         string.h.
91063         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
91064         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
91065         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
91066         or for string.h.
91067         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
91068         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
91069         C headers.
91070         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
91071         memcpy.
91072         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
91073         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
91074         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
91075         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
91076         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
91077         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
91078         string.h, free.
91079         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
91080         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
91081         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
91082         C headers, or for string.h.
91083         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
91084         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
91085         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
91086         headers, memory.h, stdlib.h, string.h, strings.h.
91087         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
91088         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
91089         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
91090         strchr.
91091         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
91092         headers, memory.h, string.h.
91093         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
91094         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
91095         free.
91096         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
91097         headers.
91098         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
91099         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
91100         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
91101         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
91102         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
91103
91104 2003-09-09  Paul Eggert  <eggert@twinsun.com>
91105
91106         More K&R removal.
91107
91108         * lib/acosl.c (main): Use a prototype.
91109         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
91110         tanl.c: Likewise.
91111
91112         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
91113
91114         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
91115         (getopt, etopt_long, getopt_long_only, _getopt_internal)
91116         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
91117         with a prototype.
91118         * lib/getopt.c (const): Remove macro.
91119         Include <string.h> unconditionally.
91120         (my_index): Remove; all uses changed to strchr.
91121         (strlen): Remove decl.
91122         (exchange): Remove forward decl; no longer needed.
91123         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
91124         Define with prototype.
91125         * lib/getopt1.c (const): Remove macro.
91126         (getopt_long, getopt_long_only, main): Define with prototype.
91127
91128         * lib/getugroups.c: Include <string.h> unconditionally.
91129
91130         * lib/getusershell.c: Include <stdlib.h> unconditionally.
91131         (getusershell, setusershell, endusershell, readname, main):
91132         Define with prototypes.
91133
91134         * lib/group-member.c: Include group-member.h first.
91135         Include <stdlib.h> unconditionally.
91136
91137         * lib/hard-locale.c: Include hard-locale.h first.
91138         Include <stdlib.h>, <string.h> unconditionally.
91139
91140         * lib/hash.c (free, malloc): Remove decls.
91141         Include <stdlib.h> unconditionally.
91142
91143         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
91144         (getenv): Do not declare.
91145
91146         * lib/idcache.c: Include <string.h> unconditionally.
91147
91148         * lib/long-options.c: Include long-options.h first, to test interface.
91149         Include <stdlib.h> unconditionally.
91150
91151         * lib/makepath.c: Include makepath.h first, to test interface.
91152         Include <stdlib.h> and <string.h> unconditionally.
91153
91154         * lib/linebuffer.c: Include <stdlib.h>.
91155         (free): Remove decl.
91156
91157         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
91158         stddef.h. rpl_malloc returns void *, not char *.
91159         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
91160         prototype.
91161
91162         * lib/md5.h: Include <limits.h> unconditionally.
91163         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
91164         (__P): Remove; all uses removed.
91165         * lib/md5.c: Include "md5.h" first.
91166         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
91167         md5_buffer, md5_process_bytes, md5_process_block):
91168         Define with prototypes.
91169         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
91170         * lib/sha.c: Include "sha.h" first.
91171         Include <stdlib.h>, <string.h> unconditionally.
91172
91173         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
91174         * lib/memcmp.c (__ptr_t): Likewise.
91175         * lib/memrchr.c (__ptr_t): Likewise.
91176         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
91177         Include <string.h> unconditionally.
91178         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
91179         * lib/memchr.c: Include <stdlib.h> unconditionally.
91180         * lib/memchr.c (LONG_MAX): Remove.
91181         * lib/memrchr.c (LONG_MAX): Likewise.
91182         * lib/memchr.c (__memchr): Define via a prototype.
91183         * lib/memrchr.c (__memrchr): Likewise.
91184         * lib/memcmp.c (__P): Remove, and remove all uses.
91185         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
91186         Remove forward decls; no longer needed.
91187         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
91188         Use types required by C89 in prototype.
91189
91190         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
91191         * lib/savedir.c: Likewise.
91192         * lib/mkdir.c (free): Remove decl.
91193         * lib/rmdir.c (rmdir): Define with a prototype.
91194         * lib/savedir.c: Include savedir.h first, to test interface.
91195
91196         * lib/mktime.c (STDC_HEADERS): Remove.
91197         Include <stdlib.h>, <string.h> unconditionally.
91198
91199         * lib/modechange.c: Include <stdlib.h> unconditionally.
91200         (malloc): Remove decl.
91201
91202         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
91203         (free): Remove decl.
91204
91205         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
91206         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
91207         (This type really should be intptr_t, but that's a C99ism.)
91208         (_obstack_memcpy): Remove: all uses changed to memcpy.
91209         Include <string.h> unconditionally.
91210         (struct obstack): Assume __STDC__ for types of members
91211         chunkfun, freefun, extra_arg.
91212         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
91213         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
91214         obstack_begin, obstack_specify_allocation,
91215         obstack_specify_allocation_with_arg, obstack_chunkfun,
91216         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
91217         Remove unprototyped decls and the macros that use them.
91218         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
91219         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
91220         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
91221         (defined __STDC__ && __STDC__)]:
91222         Remove nonprototyped code.
91223         Include <stdlib.h> unconditionally.
91224         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
91225         _obstack_allocated_p, _obstack_free, obstack_free,
91226         _obstack_memory_used, print_and_abort):
91227         Define using prototypes.
91228         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
91229         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
91230         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
91231         obstack_next_free, obstack_object_size, obstack_room) [0]:
91232         Remove unused, unprototyped code.
91233
91234         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
91235
91236         * lib/physmem.c (physmem_total, physmem_available, main): Define
91237         with prototypes.
91238
91239         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
91240         (main): Define with a prototype.
91241
91242         * lib/posixver.c (getenv): Remove decl.
91243
91244         * lib/putenv.c (malloc): Returns void *, not char *.
91245         Include <string.h> unconditionally.
91246         (strchr, memcpy, NULL): Do not define.
91247
91248         * lib/readtokens.c: Include readtokens.h first, to test interface.
91249         Include <stdlib.h>, <string.h> unconditionally.
91250         (init_tokenbuffer): Define with a prototype.
91251
91252         * lib/regex.c (PARAMS): Remove.  All uses removed.
91253         All uses of _RE_ARGS removed, too.
91254         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
91255         unconditionally.
91256         (bzero): Assume memset exists.
91257         (memcmp, memcpy, NULL): Remove.
91258         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
91259         char, or assignments to local vars of type signed char.
91260         (init_syntax_once, PREFIX(extract_number_and_incr),
91261         PREFIX(print_partial_compiled_pattern),
91262         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
91263         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
91264         PREFIX(regex_grow_registers), PREFIX(regex_compile),
91265         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
91266         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
91267         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
91268         wcs_compile_range, byte_compile_range, truncate_wchar,
91269         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
91270         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
91271         count_mbs_length, wcs_re_match_2_internal,
91272         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
91273         PREFIX(alt_match_null_string_p),
91274         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
91275         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
91276         regfree, PREFIX(extract_number)): Define with prototype.  Remove
91277         now-unnecessary declaration, if any.
91278         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
91279         regcomp, regexec):
91280         Remove now-unnecessary casts among pointer types.
91281         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
91282
91283         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
91284         (free): Remove decl.
91285
91286         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
91287
91288         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
91289         (free): Remove decl.
91290
91291         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
91292         * lib/xgetcwd.c: Likewise.
91293
91294         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
91295         (free): Remove decl.
91296
91297         * lib/strchrnul.c (strchrnul): Define with a prototype.
91298         Fix bug: c_in was not converted to char before searching.
91299
91300         The following changes are not K&R related:
91301
91302         * lib/group-member.h: Include <sys/types.h>, so that this file is
91303         self-contained.
91304         * lib/makepath.h: Likewise.
91305
91306         * lib/getusershell.c (readname, default_index, line_size, readname):
91307         Use size_t, not int, for sizes.
91308         (readname): If the size overflows, report an error instead of
91309         looping forever.
91310
91311 2003-09-09  Paul Eggert  <eggert@twinsun.com>
91312
91313         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
91314         libc.
91315
91316 2003-09-09  Paul Eggert  <eggert@twinsun.com>
91317
91318         * README: New section: portability guidelines.
91319
91320 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
91321
91322         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
91323         C89 spec.
91324
91325 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
91326
91327         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
91328
91329 2003-09-08  Paul Eggert  <eggert@twinsun.com>
91330
91331         Assume C89 or better; remove K&R cruft.
91332         A few of these changes were first proposed by Derek Robert Price
91333         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
91334
91335         * lib/addext.c: Include <string.h> unconditionally.
91336         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
91337         Don't declare getenv or malloc.
91338
91339         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
91340         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
91341         (NULL): Remove.
91342         (find_stack_direction, alloca): Use prototypes.
91343
91344         * lib/atexit.c (atexit): Define using a prototype.
91345
91346         * lib/basename.c, dirname.c, stripslash.c:
91347         Include <string.h> unconditionally.
91348
91349         * lib/bcopy.c: Include <stddef.h>.
91350         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
91351
91352         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
91353
91354         * lib/error.h (error, error_at_line, error_print_progname)
91355         [! (defined (__STDC__) && __STDC__)]: Remove decls.
91356         * lib/error.c: Include error.h first, to check interface.
91357         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
91358         (VA_START): Remove; all uses changeed to va_start.
91359         (exit, strerror): Remove decls.
91360         (error_print_progname): Prototype uncondionally.
91361         Don't include <errno.h>; no longer needed.
91362         (private_strerror): Remove.
91363         (error_tail): Always define.
91364         (error, error_at_line): Assume C89 or better; always use prototypes.
91365         * lib/fatal.c: Include "fatal.h" first, to test interface.
91366         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
91367         (VA_START): Remove; all uses changed to va_start.
91368         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
91369         this case.
91370         (exit): Remove decl.
91371         (fatal): Prototype unconditionally.  Assume va_start works.
91372         Abort at end, to pacify gcc.
91373
91374         * lib/euidaccess.c (main): Define with a prototype.
91375
91376         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
91377
91378         * lib/exitfail.c: Include <stdlib.h> unconditionally.
91379
91380         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
91381         prototypes.
91382         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
91383         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
91384         (getenv): Remove decl.
91385         (fnmatch): Define using a prototype.
91386         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
91387         (FCT): Define using a prototype.
91388
91389         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
91390
91391         * lib/gethostname.c: Include <stddef.h>.
91392         (gethostname): Define with prototype.  Length is size_t, not int.
91393
91394 2003-09-08  Paul Eggert  <eggert@twinsun.com>
91395
91396         Assume C89 or better; remove K&R cruft.
91397         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
91398         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
91399         string.h, getenv, malloc.
91400         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
91401         headers.
91402         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
91403         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
91404         do not check for strerror.
91405         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
91406         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
91407         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
91408         do not check for doprnt or vprintf.
91409         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
91410         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
91411
91412 2003-09-08  Paul Eggert  <eggert@twinsun.com>
91413
91414         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
91415         getversion.c should have been removed then, but was accidentally
91416         preserved.
91417
91418         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
91419         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
91420
91421 2003-09-08  Karl Berry  <karl@gnu.org>
91422
91423         * config/config.sub, config.guess, srclistvars.sh: update from savannah
91424                 config, forget about prep.
91425
91426         * config/depcomp, missing: update from automake.
91427
91428 2003-09-07  Paul Eggert  <eggert@twinsun.com>
91429
91430         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
91431         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
91432
91433 2003-09-07  Paul Eggert  <eggert@twinsun.com>
91434
91435         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
91436         copy_tm_result.  Bug reported by Simon Josefsson in
91437         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
91438
91439 2003-09-06  Paul Eggert  <eggert@twinsun.com>
91440
91441         * m4/time_r.m4: New file.
91442         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
91443         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
91444         is. Check for timegm declaration.
91445         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
91446         Do not check for gmtime_r.
91447         Replace mktime if __mktime_internal does not exist and if mktime
91448         hasn't been replaced already.
91449
91450 2003-09-06  Paul Eggert  <eggert@twinsun.com>
91451
91452         * lib/time_r.c, lib/time_r.h: New files.
91453
91454         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
91455         __localtime_r.
91456         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
91457         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
91458
91459         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
91460         __gmtime_r.
91461         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
91462         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
91463         Include <time_r.h>.
91464
91465         * lib/timegm.c: Switch to glibc implementation, with the following
91466         changes:
91467         [defined HAVE_CONFIG_H]: Include <config.h>.
91468         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
91469         (__mktime_internal) [!defined _LIBC]: New decl.
91470         (__gmtime_r) [!defined _LIBC]: New macro and function.
91471         (timegm): Use a prototype, since gnulib assumes C89.
91472         Do not bother declaring tmp to be const, as it's not really usefu.
91473         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
91474         (timegm): Declare only if HAVE_DECL_TIMEGM.
91475
91476 2003-09-06  Paul Eggert  <eggert@twinsun.com>
91477
91478         * MODULES.html.sh (func_all_modules): Add time_r.
91479         * modules/time_r: New file.
91480         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
91481         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
91482
91483 2003-09-03  Paul Eggert  <eggert@twinsun.com>
91484
91485         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
91486         Bug reported by Lute Kamstra in
91487         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
91488
91489         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
91490         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
91491         course with correspondingly smaller numbers for tomorrow and
91492         yesterday.  From Tadayoshi Funaba.  Originally installed into
91493         sh-utils on 1999-08-07, but the patch got lost (I guess during the
91494         coreutils merge?).
91495
91496 2003-08-31  Simon Josefsson  <jas@extundo.com>
91497
91498         * modules/timegm: New file.
91499         * MODULES.html.sh (func_all_modules): Add timegm.
91500
91501 2003-08-31  Simon Josefsson  <jas@extundo.com>
91502
91503         * m4/timegm.m4: New file.
91504
91505 2003-08-31  Simon Josefsson  <jas@extundo.com>
91506
91507         * lib/timegm.h: New file.
91508         * lib/timegm.c: New file.  Based on
91509         wget-1.8.2/src/http.c:mktime_from_utc.
91510
91511 2003-08-31  Karl Berry  <karl@gnu.org>
91512
91513         * lib/argp.h: update from libc.
91514
91515 2003-08-28  Bruno Haible  <bruno@clisp.org>
91516
91517         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
91518         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
91519         followed by '#define fnmatch fnmatch_posix' gives an error.
91520
91521 2003-08-28  Bruno Haible  <bruno@clisp.org>
91522
91523         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
91524         warning on QNX, which defines O_BINARY to 000000.
91525
91526 2003-08-27  Jim Meyering  <jim@meyering.net>
91527
91528         * m4/mkstemp.m4: Require that the system mkstemp be able to create
91529         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
91530         would fail after 32.  Reported by Danny Levinson.  Details here:
91531         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
91532
91533 2003-08-24  Bruno Haible  <bruno@clisp.org>
91534
91535         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
91536         MSVC7 <stdio.h> is included later.
91537
91538 2003-08-22  Simon Josefsson  <jas@extundo.com>
91539
91540         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
91541
91542 2003-08-20  Karl Berry  <karl@gnu.org>
91543
91544         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
91545
91546 2003-08-20  Bruno Haible  <bruno@clisp.org>
91547
91548         * modules/progname: New file.
91549         * MODULES.html.sh (func_all_modules): Add progname.
91550
91551 2003-08-20  Bruno Haible  <bruno@clisp.org>
91552
91553         * lib/progname.h: New file, from GNU gettext.
91554         * lib/progname.c: New file, from GNU gettext.
91555         * lib/progreloc.c: New file, from GNU gettext.
91556
91557 2003-08-19  Jim Meyering  <jim@meyering.net>
91558
91559         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
91560         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
91561
91562 2003-08-19  Bruno Haible  <bruno@clisp.org>
91563
91564         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
91565         more.
91566
91567 2003-08-19  Bruno Haible  <bruno@clisp.org>
91568
91569         * lib/xstrdup.c: Assume <string.h> exists.
91570
91571 2003-08-18  Paul Eggert  <eggert@twinsun.com>
91572
91573         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
91574         in makefile rules.
91575
91576 2003-08-18  Jim Meyering  <jim@meyering.net>
91577
91578         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
91579         * m4/lib-ld.m4: Likewise.
91580
91581 2003-08-18  Jim Meyering  <jim@meyering.net>
91582
91583         * lib/setenv.h: Indent nested cpp directive.
91584         * lib/vasnprintf.c: Remove trailing blanks.
91585
91586 2003-08-17  Simon Josefsson  <jas@extundo.com>
91587
91588         * modules/xstrndup: New file.
91589         * MODULES.html.sh (func_all_modules): Add xstrndup.
91590
91591 2003-08-17  Simon Josefsson  <jas@extundo.com>
91592
91593         * modules/argp: Fix autoconf macro name. Add more dependencies.
91594
91595 2003-08-17  Simon Josefsson  <jas@extundo.com>
91596
91597         * m4/xstrndup.m4: New file.
91598
91599 2003-08-17  Simon Josefsson  <jas@extundo.com>
91600
91601         * m4/argp.m4: New file.
91602
91603 2003-08-17  Simon Josefsson  <jas@extundo.com>
91604             Bruno Haible  <bruno@clisp.org>
91605
91606         * lib/xstrndup.h: New file.
91607         * lib/xstrndup.c: New file.
91608
91609 2003-08-17  Bruno Haible  <bruno@clisp.org>
91610
91611         * modules/strndup (Files, Include): Add lib/strndup.h.
91612
91613 2003-08-17  Bruno Haible  <bruno@clisp.org>
91614
91615         * modules/euidaccess (Files): Add lib/euidaccess.h.
91616
91617 2003-08-17  Bruno Haible  <bruno@clisp.org>
91618
91619         * lib/strndup.h: New file.
91620
91621 2003-08-17  Bruno Haible  <bruno@clisp.org>
91622
91623         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
91624         like AC_GNU_SOURCE.
91625         * modules/extensions (configure.ac): Comment out the invocation of
91626         gl_USE_SYSTEM_EXTENSIONS.
91627
91628 2003-08-16  Paul Eggert  <eggert@twinsun.com>
91629
91630         Merges from coreutils, etc.
91631         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
91632         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
91633         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
91634         fixing a typo.
91635         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
91636         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
91637
91638 2003-08-16  Paul Eggert  <eggert@twinsun.com>
91639
91640         Document merge from coreutils.
91641         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
91642         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
91643         * modules/utime: Add m4/utimes-null.m4.
91644
91645 2003-08-16  Paul Eggert  <eggert@twinsun.com>
91646
91647         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
91648         space, undoing this 2003-08-12 change:
91649         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
91650
91651 2003-08-16  Paul Eggert  <eggert@twinsun.com>
91652
91653         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
91654         strtoul.c from libc, undoing this 2003-08-12 change:
91655         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
91656
91657 2003-08-16  Jim Meyering  <jim@meyering.net>
91658
91659         Merges from coreutils.
91660         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
91661         prefix.  Adjust cache variables similarly.  Create 500 rather than
91662         just 300 files, to exercise bug on Darwin6.5, too.
91663         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
91664         $missing_dir.
91665         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
91666         AM_SYS_POSIX_TERMIOS.
91667         Reported by mkc@mathdogs.com.
91668         Also change use of $am_cv_sys_posix_termios
91669         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
91670         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
91671         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
91672         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
91673         in /proc/mounts until it finds one with matching device number.  This
91674         is unnecessary when the FILE argument *is* a mount point.  No stat call
91675         is necessary in that case.  So, disable the statvfs-testing code on
91676         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
91677         as RedHat bug# 84846.
91678         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
91679         to 1MB, so as not to render systems with no stack size limit (e.g.,
91680         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
91681         Include <unistd.h>.  On some systems,
91682         it is required for the definition of _SC_PAGESIZE.
91683
91684 2003-08-16  Jim Meyering  <jim@meyering.net>
91685
91686         Merge from coreutils.
91687         * lib/xstrtoimax.c: #else #if -> #elif.
91688         * lib/xstrtoumax.c: Likewise.
91689
91690 2003-08-16  Jim Meyering  <jim@meyering.net>
91691
91692         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
91693         * m4/utimes.m4: Removed.
91694         * m4/utimes-null.m4: Renamed from utimes.m4.
91695
91696         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
91697         to 1MB, so as not to render systems with no stack size limit (e.g.,
91698         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
91699         Include <unistd.h>.  On some systems,
91700         it is required for the definition of _SC_PAGESIZE.
91701
91702 2003-08-16  Jim Meyering  <jim@meyering.net>
91703         and Paul Eggert  <eggert@cs.ucla.edu>
91704
91705         Merges from coreutils, etc.
91706
91707         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
91708         using the latest version from cvs.  This avoids problems with #line
91709         directives using a vendor (Sun) compiler.
91710         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
91711         Don't set GETGROUPS_LIB here; now it's
91712         done via getgroups.m4's wrapper function.
91713         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
91714         rather than just in sh-util/configure.in, so that the
91715         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
91716         same.
91717         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
91718         AC_FUNC_GETLOADAVG where to find getloadavg.c.
91719         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
91720         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
91721         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
91722         Remove code that is now done by the newly-required macros.
91723         Append $(EXEEXT) to DF_PROG.
91724         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
91725         Do not invoke or require the following here,
91726         since prereq.m4 or some gnulib .m4 now does this for us:
91727         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
91728         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
91729         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
91730         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
91731         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
91732         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
91733         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
91734         AC_FUNC_OBSTACK.
91735         Do not replace the following functions, as this is now the job
91736         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
91737         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
91738         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
91739         atexit getpass, strdup, getpagesize.
91740         Replace 'raise'.
91741         Do not check for the following functions, as this is now the job
91742         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
91743         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
91744         setregid.
91745         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
91746         Check for sys/sysctl.h.
91747         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
91748         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
91749         of checking for ssize_t ourselves.
91750
91751         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
91752         Require every macro that gnulib/modules/* suggests for us.
91753         (jm_PREREQ_ADDEXT): New macro.
91754         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
91755         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
91756
91757         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
91758         (gl_PHYSMEM): Use it.
91759         Also check for `table' function.
91760         Check for new headers and functions.
91761         Add check for sys/sysmp.h.
91762         With suggestions from Kaveh Ghazi.
91763         Ignore headers that are present but cannot be compiled.  This
91764         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
91765         C 5.4.
91766
91767 2003-08-15  Paul Eggert  <eggert@twinsun.com>
91768
91769         Document merge from coreutils.
91770         * modules/userspec: Depend on posixver.
91771         * modules/strftime: Depend on tzset.
91772
91773 2003-08-15  Paul Eggert  <eggert@twinsun.com>
91774
91775         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
91776         rather than tab, after '#' in shell-script copyright notices.
91777         Suggested by Bruno Haible.
91778
91779 2003-08-15  Paul Eggert  <eggert@twinsun.com>
91780
91781         * config/srclist-update: Use three spaces, rather than tab, after '#'
91782         in shell-script copyright notices.  Suggested by Bruno Haible.
91783         Remove unnecessary parenthesization in regular expression.
91784
91785 2003-08-15  Jim Meyering  <jim@meyering.net>
91786
91787         Merge from coreutils.
91788         * lib/xgethostname.c: Include <stdlib.h>.
91789         (xghostname): Don't exit for anything other than memory-related
91790         failure; just return NULL.
91791         * lib/userspec.c: Include "posixver.h".
91792         (parse_user_spec): Accept `.' as a separator only
91793         in pre-POSIX-200112 mode.
91794         * lib/strtoimax.c: Use #elif rather than #else #if.
91795         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
91796         Remove function, now that we can rely on a working tzset function.
91797         [!_LIBC]: Ensure that the required autoconf test has been run.
91798         [!defined _NL_CURRENT && HAVE_STRFTIME]:
91799         Use underlying_strftime for %r.
91800         * lib/sha.c: Merge in some clean-up and optimization changes from
91801         glibc.
91802         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
91803         Ensure that it is a multiple of 64.
91804         Rearrange loop exit tests so as to avoid performing an
91805         additional fread after encountering an error or EOF.
91806         * lib/realloc.c: Update copyright date.
91807
91808 2003-08-15  Jim Meyering  <jim@meyering.net>
91809         and Paul Eggert  <eggert@twinsun.com>
91810
91811         Merge from coreutils.
91812         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
91813         member but strut utmpx does not.  Needed for AIX 4.3.3.
91814         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
91815
91816 2003-08-15  Jim Meyering  <jim@meyering.net>
91817         and Paul Eggert  <eggert@cs.ucla.edu>
91818
91819         Merges from coreutils, etc.
91820         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
91821         Require gl_FUNC_TZSET_CLOBBER.
91822         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
91823         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
91824         members.
91825
91826 2003-08-14  Paul Eggert  <eggert@twinsun.com>
91827
91828         Help the merge from coreutils.
91829         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
91830         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
91831         * m4/tzset.m4: Use it too.
91832
91833 2003-08-14  Paul Eggert  <eggert@twinsun.com>
91834
91835         * modules/tzset: New file.
91836
91837 2003-08-14  Jim Meyering  <jim@meyering.net>
91838
91839         Merges from coreutils.
91840         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
91841         variable names, rather than @FNMATCH_H@.
91842         * modules/alloca: Likewise for $(ALLOCA_H).
91843
91844         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
91845         the three copies of the literal target, `fnmatch.h'.
91846         * modules/alloca (alloca.h): Likewise.
91847
91848 2003-08-14  Jim Meyering  <jim@meyering.net>
91849
91850         Merge from coreutils.
91851         * m4/tzset.m4: New file.
91852         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
91853         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
91854         otherwise, AIX 5.1 systems would end up using the latter.
91855         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
91856         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
91857         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
91858         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
91859
91860 2003-08-14  Jim Meyering  <jim@meyering.net>
91861
91862         Merge from coreutils.
91863         * lib/obstack.h: Whitespace changes.
91864         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
91865         and xcalloc return values.
91866         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
91867         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
91868         hang on OSF/1 5.1 for DIR on both local and remote file systems.
91869         Reported by (and fix confirmed by) Nelson H. F. Beebe.
91870         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
91871         error from mntctl.
91872         Use mntctl's return value to drive the entry-processing loop, since
91873         we can't rely on the value of the vmt_length member in the last
91874         entry.  On some systems doing so could result in exhausting
91875         virtual memory.  Based in part on a patch from Mike Jetzer.
91876
91877 2003-08-14  Jim Meyering  <jim@meyering.net>
91878         and Paul Eggert  <eggert@twinsun.com>
91879
91880         Merges from coreutils, plus other fixes.
91881         * lib/physmem.c: Merge in portability changes from gcc/libiberty
91882         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
91883         for credits and details.  Thanks to Kaveh Ghazi for helping
91884         to keep these files in sync.
91885         (ARRAY_SIZE): Define it.
91886         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
91887         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
91888         (memcasecmp): Don't assume size_t fits in unsigned int.
91889         Remove casts and duplicate code.
91890         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
91891         (memcpy): Remove definition.
91892         Merge in some clean-up and optimization changes from glibc.
91893         [BLOCKSIZE]: Move definition to top of file.
91894         Ensure that it is a multiple of 64.
91895         Rearrange loop exit tests so as to avoid performing an
91896         additional fread after encountering an error or EOF.
91897         * lib/md5.h (md5_uintptr): Define.
91898         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
91899         return to the initial working directory.  Preserve errno
91900         for caller.
91901         * lib/idcache.c: Include "xalloc.h".
91902         (xmalloc, xrealloc): Remove decls.
91903         (getuser): Remove casts no longer required in C89.
91904         * lib/human.c: Include stdio.h, for sprintf.
91905         * lib/group-member.c: Include "xalloc.h".
91906         (xmalloc, xrealloc): Remove decls.
91907         (get_group_info): Remove casts no longer required in C89.
91908         * lib/getusershell.c (readname): Remove casts no longer required in
91909         C89.
91910         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
91911         * lib/getline.c: Whitespace fix, from coreutils.
91912
91913 2003-08-13  Paul Eggert  <eggert@twinsun.com>
91914
91915         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
91916         Check for isascii.
91917
91918         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
91919         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
91920         Undo previous (whitespace-only) change.
91921
91922 2003-08-13  Paul Eggert  <eggert@twinsun.com>
91923
91924         * lib/exclude.c: Include <ctype.h>
91925         (IN_CTYPE_DOMAIN): New macro.
91926         (is_space): New fn.
91927         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
91928         and empty lines.
91929
91930         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
91931         Undo previous (whitespace-only) change.
91932
91933 2003-08-13  Paul Eggert  <eggert@twinsun.com>
91934
91935         * config/srclist-update: Change update back to the old behavior,
91936         leaving whitespace alone.  Use one 'sed' command rather than a
91937         pipeline.
91938         (fixlicense): Now a variable, not a function.
91939         (remove_trailing_blanks): Remove.
91940         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
91941         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
91942         Undo previous (whitespace-only) change.
91943
91944 2003-08-12  Paul Eggert  <eggert@twinsun.com>
91945
91946         Merge from coreutils.
91947         * modules/euidaccess: Add lib_SOURCES, include for new
91948         file euidaccess.h
91949
91950 2003-08-12  Paul Eggert  <eggert@twinsun.com>
91951
91952         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
91953         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
91954         Normalize leading white space and remove trailing white space.
91955
91956         Merge from coreutils
91957         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
91958
91959         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
91960         0.12.1.  These files are now being upgraded automatically by
91961         ../config/srclist-update.
91962
91963 2003-08-12  Paul Eggert  <eggert@twinsun.com>
91964
91965         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
91966         Normalize leading white space and remove trailing white space.
91967         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
91968         notice, as per ../config/srclist-update.
91969
91970         Merge from coreutils.
91971         * lib/euidaccess.h: New file.
91972         * lib/euidaccess.c: Include it.
91973         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
91974         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
91975         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
91976
91977 2003-08-12  Paul Eggert  <eggert@twinsun.com>
91978
91979         * config/srclist-update: Add copyright notice.
91980         (remove_id_lines, remove_trailing_blanks): New constants.
91981         (fixfile): Use them to normalize spacing a bit in copied files.
91982         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
91983         Normalize leading white space and remove trailing white space.
91984
91985         * config/texinfo.tex: Sync with texinfo.
91986
91987         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
91988         strtoul.c from libc, to merge coreutils whitespace changes.
91989
91990         * config/srclist.txt: Get the following m4 files from gettext:
91991         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
91992         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
91993         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
91994         wint_t.m4.
91995
91996 2003-08-12  Karl Berry  <karl@gnu.org>
91997
91998         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
91999         been made.
92000
92001 2003-08-11  Paul Eggert  <eggert@twinsun.com>
92002
92003         * modules/gnu-source, m4/gnu-source.m4:
92004         Remove; we're assuming Autoconf 2.54 or later now.
92005         Suggested by Bruno Haible.
92006         * MODULES.html.sh (func_all_modules): Remove gnu-source.
92007
92008 2003-08-11  Bruno Haible  <bruno@clisp.org>
92009
92010         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
92011
92012 2003-08-11  Bruno Haible  <bruno@clisp.org>
92013
92014         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
92015         (vasnprintf): Use it instead of wcslen.
92016
92017 2003-08-11  Bruno Haible  <bruno@clisp.org>
92018
92019         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
92020         value to ensure that _Bool promotes to int. Use #define for _Bool when
92021         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
92022
92023 2003-08-10  Karl Berry  <karl@gnu.org>
92024
92025         * lib/regex.h: update from libc (whitespace fix).
92026
92027 2003-08-09  Paul Eggert  <eggert@twinsun.com>
92028
92029         Merge some files from coreutils.  These changes were
92030         originally made by Jim Meyering.
92031         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
92032         many older Unixes require this.
92033         * lib/alloca.c (alloca): Remove cast to argument of free;
92034         no longer needed in C89.
92035         * lib/alloca_.h, regex.h: Fix white space to match
92036         what GNU indent does.
92037
92038 2003-08-09  Paul Eggert  <eggert@twinsun.com>
92039
92040         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
92041         apparently Emacs's Unicode mode got confused before my 2003-08-05
92042         checkin.
92043
92044 2003-08-08  Paul Eggert  <eggert@twinsun.com>
92045
92046         * m4/extensions.m4: New file.
92047         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
92048         Require gl_USE_SYSTEM_EXTENSIONS.
92049         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
92050         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
92051
92052 2003-08-08  Paul Eggert  <eggert@twinsun.com>
92053
92054         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
92055         * modules/extensions, modules/gnu-source: New files.
92056         * modules/timespec, modules/unlocked-io: Depend on extensions.
92057
92058 2003-08-07  Paul Eggert  <eggert@twinsun.com>
92059
92060         * modules/restrict: New file.
92061         * MODULES.html.sh (func_all_modules): Add restrict.
92062         * modules/regex: Depend on restrict.
92063
92064 2003-08-07  Paul Eggert  <eggert@twinsun.com>
92065
92066         * m4/restrict.m4: New file.
92067         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
92068
92069 2003-08-07  Bruno Haible  <bruno@clisp.org>
92070
92071         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
92072         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
92073
92074 2003-08-07  Bruno Haible  <bruno@clisp.org>
92075
92076         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
92077         makes the module 'getndelim2' compatible with the module 'getline'.
92078
92079 2003-08-05  Paul Eggert  <eggert@twinsun.com>
92080
92081         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
92082         byte with "\201" to avoid glitches when editing that source file
92083         with multi-gnome-terminal.
92084
92085 2003-08-05  Paul Eggert  <eggert@twinsun.com>
92086
92087         * lib/bumpalloc.h: Remove.
92088
92089 2003-08-05  Paul Eggert  <eggert@twinsun.com>
92090
92091         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
92092         * modules/bumpalloc: Remove.
92093
92094 2003-08-04  Paul Eggert  <eggert@twinsun.com>
92095
92096         * lib/getloadavg.c: Change copyright notice and spacing to conform to
92097         GNU coding style.
92098
92099         Merge from coreutils.
92100         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
92101         1. From glibc.
92102         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
92103         from Karl Berry, implemented by Jim Meyering.
92104         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
92105         from Dmitry V. Levin.
92106         Remove anachronistic cast of xrealloc.
92107         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
92108         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
92109         type. Otherwise, it wouldn't compile with at least /bin/cc on
92110         ymp-cray-unicos9.0.2.X.
92111         Combine two mostly-identical uses of alloca into one.
92112         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
92113
92114 2003-08-04  Dave Love  <d.love@dl.ac.uk>
92115
92116         [From Emacs.]
92117
92118         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
92119         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
92120         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
92121         obsolete NLIST_NAME_UNION.
92122         [__GNU__]: Undef BSD and FSCALE.
92123         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
92124
92125 2003-08-03  Paul Eggert  <eggert@twinsun.com>
92126
92127         * lib/stdbool_.h (_Bool): Make it signed char, instead of
92128         an enum type, so that it's guaranteed to promote to int.  See:
92129         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
92130
92131 2003-08-03  Karl Berry  <karl@gnu.org>
92132
92133         * config/depcomp: update from automake.
92134
92135 2003-07-31  Paul Eggert  <eggert@twinsun.com>
92136
92137         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
92138         (strerror): Don't assume that a printable int fits in 14 bytes.
92139
92140 2003-07-31  Bruno Haible  <bruno@clisp.org>
92141
92142         * modules/getpass-gnu: New file.
92143         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
92144
92145 2003-07-31  Bruno Haible  <bruno@clisp.org>
92146
92147         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
92148
92149 2003-07-24  Karl Berry  <karl@gnu.org>
92150
92151         * config/missing: update from automake.
92152
92153 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
92154             Bruno Haible  <bruno@clisp.org>
92155
92156         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
92157         * lib/getline.c (getline, getdelim): Likewise.
92158         Remove _GNU_SOURCE define; now it's defined in config.h through
92159         m4/getline.m4.
92160
92161 2003-07-23  Karl Berry  <karl@gnu.org>
92162
92163         * config/config.sub: update from prep.
92164
92165 2003-07-22  Paul Eggert  <eggert@twinsun.com>
92166
92167         * modules/xalloc (Depends-on): Add exitfail.
92168         * modules/xmemcoll: Likewise.
92169
92170 2003-07-22  Paul Eggert  <eggert@twinsun.com>
92171
92172         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
92173         over-parenthesization in macros.
92174
92175         Sync with coreutils.
92176
92177         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
92178         required by C99.
92179
92180         Use `exit_failure' for xalloc and xmemcoll instead of their own
92181         private exit-failure variables.
92182         * lib/xalloc.h (xalloc_exit_failure): Remove.
92183         * lib/xmalloc.c: Likewise.  Include exitfail.h.
92184         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
92185         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
92186         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
92187         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
92188
92189 2003-07-20  Jim Meyering  <jim@meyering.net>
92190
92191         * modules/closeout (Depends-on): Add exitfail.
92192         Suggestion from Bruno Haible.
92193
92194 2003-07-19  Karl Berry  <karl@gnu.org>
92195
92196         * config/config.sub: update from prep.
92197
92198 2003-07-18  Paul Eggert  <eggert@twinsun.com>
92199
92200         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
92201         Remove.
92202         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
92203         to test that it can stand by itself.  Include "exitfail.h".
92204         Clients should set exit_failure instead.
92205         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
92206
92207 2003-07-18  Bruno Haible  <bruno@clisp.org>
92208
92209         * modules/getndelim2: New file.
92210         * modules/getline: Share files with module getndelim2.
92211         * modules/getnline: Depend on getndelim2 instead of sharing files with
92212         it. Add getnline.c to lib_SOURCES.
92213         * MODULES.html.sh (func_all_modules): Add getndelim2.
92214
92215 2003-07-18  Bruno Haible  <bruno@clisp.org>
92216
92217         * m4/getndelim2.m4: New file.
92218         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
92219         invoke gl_PREREQ_GETNDELIM2.
92220         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
92221         gl_PREREQ_GETNDELIM2.
92222         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
92223         gl_GETNDELIM2.
92224
92225 2003-07-18  Bruno Haible  <bruno@clisp.org>
92226
92227         * lib/getndelim2.h: New file.
92228         * lib/getndelim2.c: Make into a module of its own. Include config.h,
92229         getndelim2.h.
92230         (getndelim2): Make non-static. Change return type to ssize_t.
92231         * lib/getline.h: Change argument names.
92232         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
92233         * lib/getnline.c: Include getndelim2.h.
92234
92235 2003-07-18  Andreas Schwab  <schwab@suse.de>
92236
92237         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
92238
92239 2003-07-17  Karl Berry  <karl@gnu.org>
92240
92241         * config/config.sub: update from prep.
92242
92243 2003-07-17  Bruno Haible  <bruno@clisp.org>
92244
92245         * modules/getnline: New file.
92246         * modules/getline: Add lib/getndelim2.c to source file list.
92247         * MODULES.html.sh (func_all_modules): Add getnline.
92248
92249 2003-07-17  Bruno Haible  <bruno@clisp.org>
92250
92251         * m4/getnline.m4: New file.
92252
92253 2003-07-17  Bruno Haible  <bruno@clisp.org>
92254
92255         * m4/Makefile.am.in: Remove file.
92256         * m4/Makefile.am: Remove file.
92257         * m4/Makefile.in: Remove file.
92258
92259 2003-07-17  Bruno Haible  <bruno@clisp.org>
92260
92261         * lib/getnline.h: New file.
92262         * lib/getnline.c: New file.
92263         * lib/getndelim2.c: New file, extracted from getline.c.
92264         (getndelim2): Renamed from getdelim2, with added nmax argument.
92265         * lib/getline.c: Include getndelim2.c.
92266         (getdelim2): Moved out to getndelim2.c.
92267         (getline, getdelim): Update.
92268
92269 2003-07-17  Bruno Haible  <bruno@clisp.org>
92270
92271         * lib/Makefile.am: Remove file.
92272         * lib/Makefile.in: Remove file.
92273
92274 2003-07-17  Bruno Haible  <bruno@clisp.org>
92275
92276         * configure.in: Remove file.
92277         * Makefile.in: Remove file.
92278
92279 2003-07-17  Bruno Haible  <bruno@clisp.org>
92280
92281         * MODULES.html.sh: Put the </BODY> right before </HTML>.
92282
92283 2003-07-16  Karl Berry  <karl@gnu.org>
92284
92285         * config/srclist-update: was running fixlicense twice, which caused
92286                 texinfo.tex to be nullified for some reason.  Simplify,
92287                 $gplsrc is no longer needed as far as I can see?
92288
92289 2003-07-16  Jim Meyering  <jim@meyering.net>
92290
92291         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
92292
92293 2003-07-15  Paul Eggert  <eggert@twinsun.com>
92294
92295         * config/srclist.txt: Get the following files from gettext-runtime/intl
92296         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
92297         ref-del.sin.  From Bruno Haible.
92298         * config/srclist-update (fixfile): Change grep pattern again, since the
92299         previous fix didn't work (there was another trailing $).  Use
92300         '[$]' to escape the $s.
92301
92302 2003-07-15  Karl Berry  <karl@gnu.org>
92303
92304         * lib/vasnprintf.c: update from gettext.
92305
92306 2003-07-15  Karl Berry  <karl@gnu.org>
92307
92308         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
92309         gets expanded when surrounded by '$'.
92310
92311 2003-07-15  Jim Meyering  <jim@meyering.net>
92312
92313         * modules/save-cwd: Don't depend on error.  From Derek Price.
92314
92315 2003-07-15  Jim Meyering  <jim@meyering.net>
92316
92317         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
92318
92319 2003-07-14  Simon Josefsson  <jas@extundo.com>
92320
92321         * modules/mempcpy: New file.
92322         * MODULES.html.sh (func_all_modules): Add mempcpy.
92323
92324 2003-07-14  Simon Josefsson  <jas@extundo.com>
92325
92326         * m4/mempcpy.m4: New file.
92327
92328 2003-07-14  Simon Josefsson  <jas@extundo.com>
92329
92330         * lib/mempcpy.h: New file.
92331         * lib/mempcpy.c: New file.
92332
92333 2003-07-14  Paul Eggert  <eggert@twinsun.com>
92334
92335         * modules/getdate, modules/posixtm: Depend on mktime.
92336
92337 2003-07-14  Paul Eggert  <eggert@twinsun.com>
92338
92339         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
92340         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
92341         unicodeio.c, unicodeio.h, unlocked-io.h:
92342         Switch from LGPL to GPL.
92343
92344 2003-07-14  Paul Eggert  <eggert@twinsun.com>
92345
92346         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
92347         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
92348         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
92349         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
92350         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
92351         updated automatically by ../config/srclist-update.  This changes
92352         their license from LPGL to GPL.
92353
92354 2003-07-14  Paul Eggert  <eggert@twinsun.com>
92355
92356         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
92357         assumed to refer to the root of the most recent stable gettext version.
92358         * config/srclistvars.sh: Add defaults for eggert.
92359         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
92360         Match "This program" as well as "The program".  This is needed
92361         for gettext.
92362
92363 2003-07-14  Jim Meyering  <jim@meyering.net>
92364
92365         Don't emit diagnostics.  Let callers do that.
92366         * lib/save-cwd.c: Don't include "error.h".
92367         (save_cwd): Don't call error.  Ensure that errno is valid
92368         when returning nonzero.
92369
92370         * lib/save-cwd.h (restore_cwd): Update prototype.
92371         * lib/save-cwd.c (restore_cwd): Remove two parameters.
92372         Simplify.  Don't call error upon failure.  Let callers do that.
92373         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
92374         when auditing is enabled.  But don't bother updating the #if.
92375
92376 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
92377
92378         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
92379         it breaks C++ compilation.
92380         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
92381
92382 2003-07-10  Simon Josefsson  <jas@extundo.com>
92383
92384         * modules/strchrnul (Makefile.am): Add strchrnul.h.
92385
92386 2003-07-10  Jim Meyering  <jim@meyering.net>
92387
92388         * m4/clock_time.m4: Remove trailing blank.
92389         * m4/intmax_t.m4: Likewise.
92390
92391 2003-07-10  Jim Meyering  <jim@meyering.net>
92392
92393         * lib/vasnprintf.c: Remove trailing blanks.
92394         Make cpp indentation consistent.
92395
92396 2003-07-09  Paul Eggert  <eggert@twinsun.com>
92397
92398         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
92399         posixver.c, strftime.c, strnlen.c, strverscmp.c:
92400         Switch from LGPL to GPL.
92401
92402 2003-07-09  Paul Eggert  <eggert@twinsun.com>
92403
92404         * config/srclist.txt: Sort sublists.  Add
92405         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
92406         that differ from gnulib for one reason or another; we'd like this list
92407         to be smaller but for now let's document what we have.
92408
92409 2003-07-08  Paul Eggert  <eggert@twinsun.com>
92410
92411         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
92412         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
92413         and sweeter "eval x=$x".
92414         * config/srclist.txt: Get lib/argp* from glibc.
92415
92416 2003-07-07  Paul Eggert  <eggert@twinsun.com>
92417
92418         * lib/mktime.c: Fix some boundary cases and remove need for floating
92419         point.
92420
92421         Issue a compile-time diagnostic if time_t is floating point, or if
92422         two's complement arithmetic is not in effect, or if arithmetic
92423         right shift does not propagate the sign.  These assumptions were
92424         all in the original code but they weren't checked.
92425
92426         (TIME_T_MIDPOINT, verify): New macros.
92427         (__isleap): Remove; it has integer overflow problems.
92428         (leapyear): New function, without those problems.
92429         (ydhms_tm_diff): Remove; splitting into two parts.
92430         (ydhms_diff): New function, containing the arithmetic part of
92431         the old ydhms_tm_diff function.  Issue a compile-time
92432         diagnostic if we are not using C99 integer division.
92433         Avoid casts when possible.
92434         (guess_time_tm): New function, containing the checking part of
92435         the old ydhms_tm_diff function.  Return the new value, rather than
92436         the difference between it and the old.  Accept a new argument T
92437         so that *T specifies the old value.  Check for overflow in the result.
92438
92439         (__mktime_internal): Use a time_t offset, not a long int offset.
92440         This undoes the 2003-06-04 change, which is no longer needed now
92441         that we have better overflow checking.
92442         (localtime_offset): Likewise.
92443
92444         (__mktime_internal): Avoid harmful overflow on hosts where time_t
92445         and long are 64-bit but int is only 32-bit.
92446         (ydhms_diff): Use long int to store year1 and yday1.
92447         Issue a compile-time diagnostic if long int is not wide enough.
92448
92449         (__mktime_internal): Use long int to store adjusted year and yday.
92450         Use plain C rather than preprocessor commands, if that doesn't
92451         affect efficiency.
92452         Check for overflow (and try to repair) after each probe
92453         rather than checking only at the very end.  This avoids some bugs
92454         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
92455         does not equal GMT offset at maximum time).
92456         Use integer to check for overflow rather than floating point; this
92457         is more portable to non-IEEE hosts, and is a tad faster.
92458         When we detect that we are oscillating between two values,
92459         don't check whether tm_isdst has the requested value, since
92460         we already know the answer.  When tm_isdst has the wrong value,
92461         use a different heuristic to find the right one, based on the
92462         extreme values actually observed in practice in tz2003a,
92463         rather than the (overly optimistic) "previous 3 calendar quarters".
92464
92465         (not_equal_tm, print_tm, check_result): Use "const T" rather than
92466         "T const" to accommodate glibc style.
92467         (check_result): Use less-confusing report format.  "long" -> "long int.
92468         (main): Likewise.
92469         Don't loop if the iteration overflows time_t.
92470         Allow a negative step in the iteration.
92471
92472 2003-07-06  Karl Berry  <karl@gnu.org>
92473
92474         * config/depcomp: update from automake.
92475         * config/config.sub: update from prep.
92476
92477 2003-07-03  Karl Berry  <karl@gnu.org>
92478
92479         * config/config.guess: update from prep.
92480
92481 2003-07-01  Paul Eggert  <eggert@twinsun.com>
92482
92483         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
92484         xreadlink.c now includes it unconditionally.
92485
92486 2003-07-01  Paul Eggert  <eggert@twinsun.com>
92487
92488         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
92489         having it depend on HAVE_SYS_TYPES_H.
92490
92491 2003-07-01  Bruno Haible  <bruno@clisp.org>
92492
92493         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
92494         <sys/types.h> should be sufficient.
92495         Reported by Paul Eggert.
92496
92497 2003-06-26  Karl Berry  <karl@gnu.org>
92498
92499         * config/depcomp: update from automake.
92500
92501 2003-06-26  Bruno Haible  <bruno@clisp.org>
92502
92503         * modules/human: Depend on module stdbool.
92504
92505 2003-06-25  Bruno Haible  <bruno@clisp.org>
92506
92507         * modules/readlink: New file.
92508         * modules/xreadlink: Depend on it.
92509         * MODULES.html.sh (func_all_modules): Add readlink.
92510
92511 2003-06-25  Bruno Haible  <bruno@clisp.org>
92512
92513         * m4/readlink.m4: New file.
92514
92515 2003-06-25  Bruno Haible  <bruno@clisp.org>
92516
92517         * lib/readlink.c: New file.
92518
92519 2003-06-22  Karl Berry  <karl@gnu.org>
92520
92521         * config/srclist.txt: update mkinstalldirs from automake.
92522         * config/mkinstalldirs: update.
92523
92524 2003-06-22  Bruno Haible  <bruno@clisp.org>
92525
92526         Portability to mingw32.
92527         * m4/ssize_t.m4: New file, from GNU gettext.
92528         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
92529         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
92530
92531 2003-06-22  Bruno Haible  <bruno@clisp.org>
92532
92533         * modules/safe-read: Add m4/ssize_t.m4.
92534         * modules/xreadlink: Add m4/ssize_t.m4.
92535
92536 2003-06-20  Bruno Haible  <bruno@clisp.org>
92537
92538         Assume C89, so PARAMS isn't needed.
92539         * lib/unicodeio.h (PARAMS): Remove.
92540         * lib/unicodeio.c: Don't use PARAMS.
92541
92542 2003-06-18  Karl Berry  <karl@gnu.org>
92543
92544         * config/config.{guess,sub}: update from prep.
92545
92546 2003-06-18  Jim Meyering  <jim@meyering.net>
92547
92548         Merge changes from coreutils.
92549         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
92550         Remove explicit declarations of xmalloc and realloc.
92551         Include xalloc.h.
92552         (read_utmp): Remove anachronistic cast of xmalloc.
92553
92554 2003-06-17  Paul Eggert  <eggert@twinsun.com>
92555
92556         Assume C89, so PARAMS isn't needed.
92557         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
92558         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
92559         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
92560         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
92561         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
92562         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
92563         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
92564         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
92565         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
92566         lib/xstrtod.h, lib/xstrtol.h: Likewise.
92567         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
92568         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
92569         no longer needed. Anyway, config.h should always be included before any
92570         other file.
92571
92572 2003-06-11  Simon Josefsson  <jas@extundo.com>
92573
92574         * modules/sysexits: New file.
92575         * MODULES.html.sh (func_all_modules): Add sysexits.
92576
92577 2003-06-11  Simon Josefsson  <jas@extundo.com>
92578
92579         * lib/sysexit_.h: New file.
92580
92581 2003-06-11  Derek Price  <derek@ximbiot.com>
92582
92583         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
92584         necessary.
92585
92586 2003-06-11  Bruno Haible  <bruno@clisp.org>
92587
92588         * m4/sysexits.m4: New file.
92589
92590 2003-06-10  Simon Josefsson  <jas@extundo.com>
92591
92592         * lib/argp.h: New file, from glibc.
92593         * lib/argp-ba.c: New file, from glibc.
92594         * lib/argp-eexst.c: New file, from glibc.
92595         * lib/argp-fmtstream.c: New file, from glibc.
92596         * lib/argp-fmtstream.h: New file, from glibc.
92597         * lib/argp-fs-xinl.c: New file, from glibc.
92598         * lib/argp-help.c: New file, from glibc.
92599         * lib/argp-namefrob.h: New file, from glibc.
92600         * lib/argp-parse.c: New file, from glibc.
92601         * lib/argp-pv.c: New file, from glibc.
92602         * lib/argp-pvh.c: New file, from glibc.
92603         * lib/argp-xinl.c: New file, from glibc.
92604
92605 2003-06-10  Simon Josefsson  <jas@extundo.com>
92606
92607         * modules/strchrnul: New file.
92608
92609 2003-06-10  Simon Josefsson  <jas@extundo.com>
92610
92611         * modules/argp: New file.
92612
92613 2003-06-10  Simon Josefsson  <jas@extundo.com>
92614
92615         * m4/strchrnul.m4: New file.
92616
92617 2003-06-10  Simon Josefsson  <jas@extundo.com>
92618
92619         * lib/strchrnul.h: New file.
92620         * lib/strchrnul.c: New file.
92621
92622 2003-06-10  Bruno Haible  <bruno@clisp.org>
92623
92624         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
92625
92626 2003-06-07  Karl Berry  <karl@gnu.org>
92627
92628         * config/config.{guess,sub}: update from prep.
92629
92630 2003-06-07  Jim Meyering  <jim@meyering.net>
92631
92632         * modules/strtod: Use $(...) notation, not @...@ for
92633         AC_REPLACE'd variables.
92634         * modules/localcharset: Likewise.
92635
92636 2003-06-07  Jim Meyering  <jim@meyering.net>
92637
92638         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
92639         in place of my name in the copyright comment.
92640         Remove definition and uses of __P.
92641
92642         From coreutils.
92643         * lib/stat.c: Don't declare xmalloc explicitly.
92644         Instead, include "xalloc.h".
92645         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
92646         xrealloc, and xcalloc return values.
92647         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
92648         Improve comment.
92649         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
92650
92651 2003-06-07  Bruno Haible  <bruno@clisp.org>
92652
92653         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
92654         avoid AC_CONFIG_LINKS.
92655         * modules/fnmatch (Makefile.am): Use explicit creation rule for
92656         fnmatch.h, to avoid AC_CONFIG_LINKS.
92657         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
92658
92659 2003-06-07  Bruno Haible  <bruno@clisp.org>
92660
92661         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
92662         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
92663         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
92664         directory.
92665         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
92666         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
92667         directory.
92668
92669 2003-06-06  Jim Meyering  <jim@meyering.net>
92670
92671         Merge from coreutils.
92672         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
92673         Consolidate declarations and initializations of *_base* locals.
92674
92675         Merge from coreutils.
92676         This avoids a core dump on systems without GNU putenv,
92677         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
92678         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
92679         (unsetenv): New static function, from GNU libc.
92680         (rpl_putenv): Use it.
92681
92682         * lib/modechange.c: Remove trailing blanks.
92683
92684         Merge from coreutils.
92685         * lib/fsusage.c: Remove declaration of statfs.
92686         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
92687
92688         * lib/posixtm.c: Include <stdbool.h> unconditionally.
92689
92690 2003-06-06  Jim Meyering  <jim@meyering.net>
92691
92692         * lib/stdbool_.h: Renamed from stdbool.h.in.
92693
92694 2003-06-06  Jim Meyering  <jim@meyering.net>
92695             Bruno Haible  <bruno@clisp.org>
92696
92697         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
92698         Adjust Makefile.am snippet not to redirect directly to target.
92699         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
92700
92701 2003-06-05  Paul Eggert  <eggert@twinsun.com>
92702
92703         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
92704         mismatch, look in future quarters as well as past.  This fixes a
92705         bug when processing fall-backwards gaps immediately after a long
92706         period of daylight-saving time.
92707
92708         * lib/mktime.c: Assume freestanding C89 or better.
92709         (HAVE_LIMITS_H): Remove.  Assume it's 1.
92710         (__P): Remove; not used.
92711         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
92712         (mktime, not_equal_tm, print_tm, check_result,
92713         main): Use prototypes.  Use const * where appropriate.
92714         (main): Fix typo in testing code that uncovered by above changes.
92715         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
92716
92717 2003-06-04  Paul Eggert  <eggert@twinsun.com>
92718
92719         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
92720         locale.h, localeconv.  This merges changes from coreutils.
92721
92722         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
92723         It can be removed after the next Autoconf is released.
92724         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
92725         needed.
92726
92727 2003-06-04  Paul Eggert  <eggert@twinsun.com>
92728
92729         * lib/mktime.c: Fix Debian bug 177940
92730         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
92731         (localtime_offset): Now long int, not time_t, because we want it
92732         to be guaranteed to be signed.  All uses changed.
92733         (__mktime_internal): If overflow would occur when adding offset,
92734         don't add it.
92735
92736         Merge 'human' changes from coreutils.  Rewrite to support
92737         locale-specific notations like thousands separators.
92738         * lib/human.c: Simplify authorship notice.
92739         Include human.h immediately after config.h.
92740         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
92741         <limits.h>: Do not include, since human.h does.
92742         (SIZE_MAX, UINTMAX_MAX): New macros.
92743         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
92744         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
92745         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
92746         (power_letter): Renamed from suffixes.
92747         (generate_suffix_backwards): Remove.
92748         (adjust_value): Now takes int style (because of human.h changes)
92749         and long double value (for greater precision on some platforms).
92750         (group_number): New function.
92751         (human_readable): Use it.  Use integer options, not enum.
92752         Put the options before the sizes in the arg list.
92753         Support all the new options.
92754         The old human_readable function has been removed;
92755         use inttostr.h instead.
92756         (human_readable, default_block_size, humblock):
92757         Use uintmax_t, not int, for block sizes.
92758         (human_readable_inexact, block_size_types): Remove.
92759         (block_size_opts): New constant.
92760         (human_options): Renamed from human_block_size, with new signature
92761         that allows block sizes up to UINTMAX_MAX.  All callers changed.
92762         * lib/human.h: Add copyright and authorship notice.
92763         Include <limits.h> and <stdbool.h> unconditionally.
92764         (PARAMS): Remove.  All uses removed.
92765         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
92766         (enum human_inexact_style): Remove tag; now a nameless enum.
92767         (human_floor, human_ceiling, human_round_to_even): Now have
92768         values 2, 0, 1 rather than -1, 1, 0.
92769         (human_group_digits, human_suppress_point_zero, human_autoscale,
92770         human_base_1024, human_SI, human_B): New constants.
92771         (human_readable_inexact, human_block_size): Remove.
92772         (human_readable): Size args are now uintmax_t, not int.
92773         (human_options): New decl.
92774
92775         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
92776         unnecessary now that we assume C89 or better.  This change
92777         imported from coreutils.
92778
92779         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
92780         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
92781         in the 2003-05-30 sync from glibc.
92782
92783         .h files should stand alone, but we shouldn't include <sys/types.h>
92784         if we can get away with just <stddef.h>.
92785
92786         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
92787         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
92788         rather than <sys/types.h>, as we merely need size_t.
92789         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
92790         to get size_t.
92791         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
92792         Include <stdio.h>, to get FILE.
92793         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
92794         memcasecmp.h has included <stddef.h> and all we need is size_t.
92795         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
92796         our interface, instead of including <sys/types.h>
92797
92798 2003-06-04  Paul Eggert  <eggert@twinsun.com>
92799
92800         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
92801         now, as glibc mktime is buggy on non-glibc systems.
92802
92803 2003-06-03  Karl Berry  <karl@gnu.org>
92804
92805         * config/config.sub: update from prep.
92806
92807 2003-06-02  Paul Eggert  <eggert@twinsun.com>
92808
92809         [from coreutils]
92810         Fix some minor time-related bugs with POSIX time arguments.
92811         Some valid time stamps were being rejected (notably -1, and
92812         time stamps before 1900 on 64-bit hosts).  And some invalid
92813         time stamps were being accepted, e.g. September 31.
92814
92815         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
92816         that we can return (time_t) -1 successfully.
92817         * lib/posixtm.c: Likewise.
92818         [HAVE_STDBOOL_H]: Include <stdbool.h>.
92819         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
92820         (t): Remove static var.
92821         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
92822         of static var.  All uses changed.
92823         (year): Do not reject years before 1900; they can occur with
92824         64-bit time_t.
92825         (posix_time_parse): Do not check for out-of-range components;
92826         that is now the caller's responsibility, since our checks were
92827         only approximations.
92828         (posixtime): Use mktime to check for out-of-range components,
92829         since it knows them exactly.
92830         If mktime returns (time_t) -1, check whether an error actually occurred
92831         by invoking localtime on -1.
92832         (main) [TEST_POSIXTIME]: Check for input data errors, and report
92833         posixtime failures better.
92834         Improve the test data (in comments only).
92835
92836 2003-06-02  Karl Berry  <karl@gnu.org>
92837
92838         * config/mkinstalldirs (version): new variable.
92839         (--version): new option.
92840         (usage): improve message.
92841
92842 2003-05-30  Karl Berry  <karl@gnu.org>
92843
92844         * lib/mktime.c: update from libc.
92845
92846 2003-05-30  Bruno Haible  <bruno@clisp.org>
92847
92848         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
92849         * config/config.rpath: Upgrade to gettext-0.12.1.
92850
92851 2003-05-30  Bruno Haible  <bruno@clisp.org>
92852
92853         * m4/gettext.m4: Upgrade to gettext-0.12.1.
92854         * m4/nls.m4: New file, from gettext-0.12.1.
92855         * m4/po.m4: New file, from gettext-0.12.1.
92856         * m4/progtest.m4: Upgrade to gettext-0.12.1.
92857
92858 2003-05-30  Bruno Haible  <bruno@clisp.org>
92859
92860         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
92861         * lib/localcharset.h: Likewise.
92862         * lib/localcharset.c: Likewise.
92863
92864 2003-05-29  Karl Berry  <karl@gnu.org>
92865
92866         * config/config.rpath: update from gettext.
92867
92868 2003-05-28  Paul Eggert  <eggert@twinsun.com>
92869
92870         Assume the headers required for C89 freestanding compilers.
92871         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
92872         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
92873         * m4/human.m4 (gl_HUMAN): Likewise.
92874         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
92875         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
92876         * m4/userspec.m4 (gl_USERSPEC): Likewise.
92877         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
92878         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
92879         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
92880
92881 2003-05-28  Paul Eggert  <eggert@twinsun.com>
92882
92883         Assume the headers required for C89 freestanding compilers.
92884         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
92885         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
92886         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
92887         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
92888         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
92889         define, since <limits.h> is guaranteed to do that.
92890         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
92891         * lib/exclude.c: Include <stdbool.h> unconditionally.
92892         * lib/tempname.c: Include <stddef.h> unconditionally.
92893         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
92894         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
92895         <stddef.h> does that.
92896         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
92897         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
92898         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
92899         needed.
92900         * lib/xstrtol.c: Likewise.
92901         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
92902         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
92903
92904         * lib/addext.c (addext): Use assignment rather than cast, to avoid
92905         warnings on some platforms.
92906
92907         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
92908         arbitrarily.
92909
92910 2003-05-26  Jim Meyering  <jim@meyering.net>
92911
92912         Merge in a change from coreutils:
92913         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
92914         that is guaranteed to be `no'.  Use `no_such_member' to indicate
92915         that condition, rather than `-1' which is slightly misleading.
92916         Change the name of the cache variable to have the gl_ prefix.
92917         Prompted by a patch from Richard Dawe for DJGPP.
92918
92919 2003-05-24  Karl Berry  <karl@gnu.org>
92920
92921         * config/config.guess: update from prep.
92922
92923 2003-05-22  Karl Berry  <karl@gnu.org>
92924
92925         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
92926
92927 2003-05-20  Karl Berry  <karl@gnu.org>
92928
92929         * config/config.guess: update from prep.
92930
92931 2003-05-18  Karl Berry  <karl@gnu.org>
92932
92933         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
92934         might actually be set by the user.
92935
92936         * config/depcomp, install-sh, mdate-sh: update from automake.
92937
92938 2003-05-17  Bruno Haible  <bruno@clisp.org>
92939
92940         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
92941         invalid expansion for AC_EGREP_CPP.
92942         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
92943         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
92944         Suggested by Akim Demaille <akim@epita.fr> in
92945         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
92946
92947 2003-05-12  Jim Meyering  <jim@meyering.net>
92948
92949         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
92950         the space-padded-by-default conversion specifiers, %e, %k, %l.
92951
92952 2003-05-12  Bruno Haible  <bruno@clisp.org>
92953
92954         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
92955         the string is longer than 4 KB.
92956
92957 2003-05-11  Karl Berry  <karl@gnu.org>
92958
92959         * config/config.{guess,sub}: update from prep.
92960
92961 2003-05-09  Bruno Haible  <bruno@clisp.org>
92962
92963         * modules/error: Add m4/strerror_r.m4 to file list.
92964
92965 2003-05-03  Bruno Haible  <bruno@clisp.org>
92966
92967         Upgrade to Unicode-4.0.
92968         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
92969         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
92970         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
92971         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
92972         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
92973         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
92974         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
92975         Change width of U+E0100..U+E01EF from 1 to 0.
92976
92977 2003-04-25  Jim Meyering  <jim@meyering.net>
92978
92979         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
92980         of type size_t, not int.
92981
92982 2003-04-25  Bruno Haible  <bruno@clisp.org>
92983
92984         * lib/copy-file.c: Include <stddef.h>, for size_t.
92985
92986 2003-04-21  Paul Eggert  <eggert@twinsun.com>
92987
92988         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
92989         code which expansion is under static control.  Patch imported from
92990         Akim Demaille's patch to Bison; see
92991         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
92992
92993 2003-04-14  Bruno Haible  <bruno@clisp.org>
92994
92995         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
92996
92997 2003-04-11  Jim Meyering  <jim@meyering.net>
92998
92999         Merge changes from Coreutils.
93000
93001         2003-03-22  Jim Meyering  <jim@meyering.net>
93002
93003         * lib/strftime.c (widen): Cast alloca return value to proper type.
93004
93005         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
93006
93007         From GNU libc.
93008         * lib/strftime.c (my_strftime): Handle very large width
93009         specifications for numeric values correctly.  Improve checks for
93010         overflow.
93011
93012         2003-01-19  Jim Meyering  <jim@meyering.net>
93013
93014         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
93015         definitions.
93016         (nl_get_alt_digit) [! defined my_strftime]: Define.
93017         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
93018         _nl_get_alt_digit and _nl_get_walt_digit.
93019
93020         * lib/strftime.c (my_strftime): Merge in locale-related changes from
93021         libc. These changes have no effect outside of _LIBC.
93022
93023 2003-04-10  Bruno Haible  <bruno@clisp.org>
93024
93025         * modules/findprog: New file.
93026         * MODULES.html.sh (func_all_modules): Add it.
93027
93028 2003-04-10  Bruno Haible  <bruno@clisp.org>
93029
93030         * m4/findprog.m4: New file.
93031         * m4/eaccess.m4: New file.
93032
93033 2003-04-10  Bruno Haible  <bruno@clisp.org>
93034
93035         * lib/findprog.h: New file, from GNU gettext.
93036         * lib/findprog.c: New file, from GNU gettext.
93037
93038 2003-04-05  Jim Meyering  <jim@meyering.net>
93039
93040         Merge changes from Coreutils.
93041
93042         * lib/exclude.h (PARAMS): Remove definition and uses.
93043         * lib/exclude.c: Remove uses of `PARAMS'.
93044
93045         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
93046         Add test-cases for DOS filenames. Declare program_name.
93047         (main): Set up program_name.  Patch by Rich Dawe.
93048
93049         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
93050         error from mntctl.
93051         Use mntctl's return value to drive the entry-processing loop, since
93052         we can't rely on the value of the vmt_length member in the last
93053         entry.  On some systems doing so could result in exhausting
93054         virtual memory.  Based in part on a patch from Mike Jetzer.
93055
93056 2003-04-04  Bruno Haible  <bruno@clisp.org>
93057
93058         * modules/linebreak: New file.
93059         * MODULES.html.sh (func_all_modules): Add it.
93060
93061 2003-04-04  Bruno Haible  <bruno@clisp.org>
93062
93063         * m4/linebreak.m4: New file.
93064
93065 2003-04-04  Bruno Haible  <bruno@clisp.org>
93066
93067         * lib/linebreak.h: New file, from GNU gettext.
93068         * lib/linebreak.c: New file, from GNU gettext with slight
93069         modifications.
93070         * lib/lbrkprop.h: New file, from GNU gettext.
93071
93072 2003-04-03  Bruno Haible  <bruno@clisp.org>
93073
93074         * modules/utf8-ucs4: New file.
93075         * modules/utf16-ucs4: New file.
93076         * modules/ucs4-utf8: New file.
93077         * modules/ucs4-utf16: New file.
93078         * MODULES.html.sh (func_all_modules): Add them.
93079
93080 2003-04-03  Bruno Haible  <bruno@clisp.org>
93081
93082         * m4/utf-ucs4.m4: New file.
93083         * m4/ucs4-utf.m4: New file.
93084
93085 2003-04-03  Bruno Haible  <bruno@clisp.org>
93086
93087         * lib/utf8-ucs4.h: New file, from GNU gettext.
93088         * lib/utf16-ucs4.h: New file, from GNU gettext.
93089         * lib/ucs4-utf8.h: New file, from GNU gettext.
93090         * lib/ucs4-utf16.h: New file, from GNU gettext.
93091
93092 2003-04-02  Bruno Haible  <bruno@clisp.org>
93093
93094         * modules/binary-io: New file.
93095         * MODULES.html.sh (func_all_modules): Add it.
93096
93097 2003-04-02  Bruno Haible  <bruno@clisp.org>
93098
93099         * lib/binary-io.h: New file, from GNU gettext.
93100
93101 2003-04-01  Bruno Haible  <bruno@clisp.org>
93102
93103         * modules/pathname: New file.
93104         * MODULES.html.sh (func_all_modules): Add it.
93105
93106 2003-04-01  Bruno Haible  <bruno@clisp.org>
93107
93108         * lib/pathname.h: New file, from GNU gettext.
93109         * lib/concatpath.c: New file, from GNU gettext.
93110
93111 2003-03-30  Bruno Haible  <bruno@clisp.org>
93112
93113         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
93114
93115 2003-03-30  Bruno Haible  <bruno@clisp.org>
93116
93117         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
93118         function chown() doesn't exist.
93119
93120 2003-03-28  Bruno Haible  <bruno@clisp.org>
93121
93122         * modules/copy-file: New file.
93123         * MODULES.html.sh (func_all_modules): Add it.
93124
93125 2003-03-28  Bruno Haible  <bruno@clisp.org>
93126
93127         * m4/copy-file.m4: New file.
93128
93129 2003-03-28  Bruno Haible  <bruno@clisp.org>
93130
93131         * lib/copy-file.h: New file, from GNU gettext.
93132         * lib/copy-file.c: New file, from GNU gettext.
93133
93134 2003-03-18  Jim Meyering  <jim@meyering.net>
93135
93136         * lib/quote.c (quote_n): Fix typo in comment.
93137
93138 2003-03-18  Bruno Haible  <bruno@clisp.org>
93139
93140         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
93141         checking.
93142         * m4/onceonly_2_57.m4: Likewise.
93143
93144 2003-03-17  Bruno Haible  <bruno@clisp.org>
93145
93146         * m4/onceonly.m4: Require autoconf 2.54 or newer.
93147         (m4_quote): Remove macro.
93148         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
93149
93150 2003-03-14  Jim Meyering  <jim@meyering.net>
93151
93152         Merge changes from Coreutils.
93153         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
93154         to be const, in order to avoid warnings.
93155         (obstack_room): Likewise.
93156         (obstack_empty_p): Likewise.
93157
93158 2003-03-14  Bruno Haible  <bruno@clisp.org>
93159
93160         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
93161         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
93162
93163 2003-03-13  Paul Eggert  <eggert@twinsun.com>
93164
93165         Merge changes from Bison.
93166         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
93167         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
93168         when compiling Bison 1.875's `bitset bset = obstack_alloc
93169         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
93170         * lib/hash.c: Include <stdbool.h> unconditionally.
93171
93172 2003-03-13  Paul Eggert  <eggert@twinsun.com>
93173
93174         * m4/onceonly.m4 (m4_quote): New macro.
93175         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
93176         Quote AC_FOREACH variable-expansions properly.
93177
93178 2003-03-13  Paul Eggert  <eggert@twinsun.com>
93179
93180         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
93181
93182 2003-03-09  Paul Eggert  <eggert@twinsun.com>
93183
93184         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
93185         Reported by Bruce Becker; see:
93186         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
93187
93188 2003-03-03  Paul Eggert  <eggert@twinsun.com>
93189             Bruno Haible  <bruno@clisp.org>
93190
93191         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
93192         Reported by John Hughes, see
93193         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
93194
93195 2003-02-20  Bruno Haible  <bruno@clisp.org>
93196
93197         * MODULES.html.sh (func_all_modules): Add poll.
93198
93199 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
93200
93201         * modules/poll: New file.
93202
93203 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
93204
93205         * lib/poll_.h: New file.
93206         * lib/poll.c: New file.
93207
93208 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
93209
93210         * m4/poll.m4: New file.
93211
93212 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
93213
93214         * modules/mathl: New file.
93215
93216 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
93217
93218         * lib/mathl.h: New file.
93219         * lib/acosl.c: New file.
93220         * lib/asinl.c: New file.
93221         * lib/atanl.c: New file.
93222         * lib/ceill.c: New file.
93223         * lib/cosl.c: New file.
93224         * lib/expl.c: New file.
93225         * lib/floorl.c: New file.
93226         * lib/frexpl.c: New file.
93227         * lib/ldexpl.c: New file.
93228         * lib/logl.c: New file.
93229         * lib/sincosl.c: New file.
93230         * lib/sinl.c: New file.
93231         * lib/sqrtl.c: New file.
93232         * lib/tanl.c: New file.
93233         * lib/trigl.c: New file.
93234         * lib/trigl.h: New file.
93235
93236 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
93237
93238         * m4/mathl.m4: New file.
93239
93240 2003-02-18  Bruno Haible  <bruno@clisp.org>
93241
93242         * MODULES.html.sh (func_all_modules): Add mathl.
93243
93244 2003-02-17  Bruno Haible  <bruno@clisp.org>
93245
93246         * modules/mkdtemp: New module.
93247         * MODULES.html.sh (func_all_modules): Add it.
93248
93249 2003-02-17  Bruno Haible  <bruno@clisp.org>
93250
93251         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
93252
93253 2003-02-17  Bruno Haible  <bruno@clisp.org>
93254
93255         * lib/mkdtemp.h: New file, from GNU gettext.
93256         * lib/mkdtemp.c: New file, from GNU gettext.
93257
93258 2003-02-02  Jim Meyering  <jim@meyering.net>
93259
93260         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
93261         e.g. glibc-2.2.93.
93262
93263 2003-01-31  Bruno Haible  <bruno@clisp.org>
93264
93265         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
93266         'rpl_rename'.
93267         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
93268         'rpl_strnlen'.
93269         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
93270         'rpl_strtod'.
93271         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
93272         'rpl_utime'.
93273
93274 2003-01-31  Bruno Haible  <bruno@clisp.org>
93275
93276         * lib/rename.c: #undef rename before defining rpl_rename.
93277         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
93278
93279 2003-01-30  Bruno Haible  <bruno@clisp.org>
93280
93281         * modules/vasnprintf, modules/vasprintf: New modules.
93282         * MODULES.html.sh (func_all_modules): Add them.
93283
93284 2003-01-30  Bruno Haible  <bruno@clisp.org>
93285
93286         * m4/signed.m4: New file, from GNU gettext.
93287         * m4/longdouble.m4: New file, from GNU gettext.
93288         * m4/wchar_t.m4: New file, from GNU gettext.
93289         * m4/wint_t.m4: New file, from GNU gettext.
93290         * m4/vasnprintf.m4: New file.
93291         * m4/vasprintf.m4: New file.
93292
93293 2003-01-30  Bruno Haible  <bruno@clisp.org>
93294
93295         * lib/printf-args.h: New file, from GNU gettext.
93296         * lib/printf-args.c: New file, from GNU gettext.
93297         * lib/printf-parse.h: New file, from GNU gettext.
93298         * lib/printf-parse.c: New file, from GNU gettext.
93299         * lib/vasnprintf.h: New file, from GNU gettext.
93300         * lib/vasnprintf.c: New file, from GNU gettext.
93301         * lib/asnprintf.c: New file, from GNU gettext.
93302         * lib/vasprintf.h: New file, from GNU gettext with modifications.
93303         * lib/vasprintf.c: New file, from GNU gettext.
93304         * lib/asprintf.c: New file, from GNU gettext.
93305
93306 2003-01-29  Bruno Haible  <bruno@clisp.org>
93307
93308         * modules/stpncpy: New module.
93309         * MODULES.html.sh (func_all_modules): Add it.
93310
93311 2003-01-29  Bruno Haible  <bruno@clisp.org>
93312
93313         * m4/stpncpy.m4: New file.
93314
93315 2003-01-29  Bruno Haible  <bruno@clisp.org>
93316
93317         * lib/stpncpy.h: New file, from GNU gettext with modifications.
93318         * lib/stpncpy.c: New file, from GNU gettext with modifications.
93319
93320 2003-01-28  Bruno Haible  <bruno@clisp.org>
93321
93322         * modules/c-ctype: New module.
93323         * MODULES.html.sh (func_all_modules): Add it.
93324
93325 2003-01-28  Bruno Haible  <bruno@clisp.org>
93326
93327         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
93328         Paul Eggert.
93329         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
93330         Paul Eggert.
93331
93332 2003-01-27  Bruno Haible  <bruno@clisp.org>
93333
93334         * modules/xsetenv: New module.
93335         * MODULES.html.sh (func_all_modules): Add it.
93336
93337 2003-01-27  Bruno Haible  <bruno@clisp.org>
93338
93339         * lib/xsetenv.h: New file, from GNU gettext.
93340         * lib/xsetenv.c: New file, from GNU gettext.
93341
93342 2003-01-23  Jim Meyering  <jim@meyering.net>
93343
93344         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
93345         from working on systems without dirfd (at least Irix and OSF1/Tru64).
93346
93347 2003-01-23  Bruno Haible  <bruno@clisp.org>
93348
93349         * modules/minmax: New module.
93350         * MODULES.html.sh (func_all_modules): Add it.
93351
93352 2003-01-23  Bruno Haible  <bruno@clisp.org>
93353
93354         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
93355         Eggert.
93356
93357 2003-01-22  Bruno Haible  <bruno@clisp.org>
93358
93359         * modules/exit: New module.
93360         * MODULES.html.sh (func_all_modules): Add it.
93361
93362 2003-01-22  Bruno Haible  <bruno@clisp.org>
93363
93364         * lib/exit.h: New file, from GNU gettext.
93365
93366 2003-01-19  Bruno Haible  <bruno@clisp.org>
93367
93368         * gnulib-tool: Recognize option --extract-maintainer.
93369         (func_get_maintainer): New function.
93370         * modules/*: Add Maintainer entry.
93371
93372 2003-01-16  Jim Meyering  <jim@meyering.net>
93373
93374         * m4/regex.m4: The `regex' struct is both input and output.
93375         Initialize it before each use.  Patch by Tim Waugh.
93376
93377 2003-01-16  Bruno Haible  <bruno@clisp.org>
93378
93379         * MODULES.html.sh: Add a table of contents. Add the module name as
93380         leftmost column. Add hyperlinks.
93381
93382 2003-01-15  Bruno Haible  <bruno@clisp.org>
93383
93384         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
93385
93386 2003-01-15  Bruno Haible  <bruno@clisp.org>
93387
93388         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
93389         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
93390         suffix.
93391
93392 2003-01-15  Bruno Haible  <bruno@clisp.org>
93393
93394         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
93395
93396 2003-01-15  Bruno Haible  <bruno@clisp.org>
93397
93398         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
93399         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
93400
93401 2003-01-14  Jim Meyering  <jim@meyering.net>
93402
93403         * lib/same.c (same_name): Tweak a comment.
93404
93405 2003-01-14  Bruno Haible  <bruno@clisp.org>
93406
93407         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
93408         when a string comparison is sufficient.
93409
93410 2003-01-14  Bruno Haible  <bruno@clisp.org>
93411
93412         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
93413         'unsigned int'.
93414
93415 2003-01-14  Bruno Haible  <bruno@clisp.org>
93416
93417         * lib/hash-pjw.c: Add comment about low quality of this function.
93418
93419 2003-01-13  Bruno Haible  <bruno@clisp.org>
93420
93421         * modules/stpcpy: Distribute lib/stpcpy.h.
93422         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
93423
93424 2003-01-13  Bruno Haible  <bruno@clisp.org>
93425
93426         * modules/*: Add a description.
93427         * modules/strpbrk: Fix Makefile.am snippet.
93428         * modules/strtoimax: Fix dependencies.
93429         * modules/strtoumax: Likewise.
93430
93431 2003-01-13  Bruno Haible  <bruno@clisp.org>
93432
93433         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
93434         * modules/alloca (Makefile.am): All object files depend on alloca.h.
93435         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
93436
93437 2003-01-13  Bruno Haible  <bruno@clisp.org>
93438
93439         * gnulib-tool (func_create_testdir): Store config/* files in the main
93440         directory.
93441         * config.rpath: Move to ...
93442         * config/config.rpath: ... here.
93443         * modules/gettext: Contains config/config.rpath, not config.rpath.
93444         * modules/iconv: Likewise.
93445
93446 2003-01-12  Paul Eggert  <eggert@twinsun.com>
93447
93448         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
93449         to avoid collisions with libcurses and libreadline.
93450
93451         * m4/getstr.m4: Remove.
93452         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
93453
93454 2003-01-12  Paul Eggert  <eggert@twinsun.com>
93455
93456         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
93457         to avoid collisions with libcurses and libreadline.
93458
93459         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
93460         * lib/getstr.h, getstr.c: Remove.
93461         * lib/getline.c: Include "getline.h", to check interface.
93462         Move body of old getstr.c here: this defines MIN_CHUNK and
93463         declares getdelim2, which is renamed from getstr.
93464         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
93465
93466         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
93467         All uses changed.
93468         * lib/linebuffer.h: Likewise.
93469         (readline): Remove backward-compatibility macro.
93470
93471 2003-01-12  Paul Eggert  <eggert@twinsun.com>
93472
93473         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
93474         to avoid collisions with libcurses and libreadline.
93475         * getstr: Remove.
93476         * MODULES.html.sh: Remove getstr.
93477         * modules/getline: Depend on unlocked-io, not getstr.
93478
93479 2003-01-12  Jim Meyering  <jim@meyering.net>
93480
93481         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
93482
93483 2003-01-10  Bruno Haible  <bruno@clisp.org>
93484
93485         * modules/alloca: Change Makefile.am requirements. Simplify Include
93486         requirements. Add lib/alloca_.h to file list.
93487
93488 2003-01-10  Bruno Haible  <bruno@clisp.org>
93489
93490         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
93491
93492 2003-01-10  Bruno Haible  <bruno@clisp.org>
93493
93494         * lib/alloca_.h: New file.
93495         * lib/getdate.y: Unconditionally include alloca.h.
93496         * lib/makepath.c: Likewise.
93497         * lib/setenv.c: Likewise.
93498         * lib/userspec.c: Likewise.
93499
93500 2003-01-09  Karl Berry  <karl@gnu.org>
93501
93502         * MODULES.html.sh: include `dirname $0` in PATH, to find
93503         gnulib-tool.
93504
93505 2003-01-09  Bruno Haible  <bruno@clisp.org>
93506
93507         * modules/stdbool: Change configure.ac, Makefile.am requirements.
93508         Simplify Include requirements. Add lib/stdbool.h.in to file list.
93509
93510 2003-01-09  Bruno Haible  <bruno@clisp.org>
93511
93512         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
93513
93514 2003-01-09  Bruno Haible  <bruno@clisp.org>
93515
93516         * lib/stdbool.h.in: New file.
93517
93518 2003-01-09  Bruno Haible  <bruno@clisp.org>
93519
93520         * gnulib-tool (func_all_modules): Ignore files ending in ~.
93521         * MODULES.html.sh: Likewise.
93522
93523 2003-01-08  Jim Meyering  <jim@meyering.net>
93524
93525         * lib/full-write.c: Undefine and define-away `const' after inclusion
93526         of errno.h, not before.  Suggestion from Bruno Haible.
93527
93528 2003-01-08  Bruno Haible  <bruno@clisp.org>
93529
93530         * modules/full-read: Depend on full-write.
93531
93532 2003-01-08  Bruno Haible  <bruno@clisp.org>
93533
93534         * lib/safe-read.c: Include specification header first, to ensure its
93535         selfcontainedness.
93536         * lib/full-write.c: Likewise.
93537
93538 2003-01-07  Jim Meyering  <jim@meyering.net>
93539
93540         * lib/full-write.c: Rework so that it may serve to define full_read,
93541         too.
93542         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
93543
93544 2003-01-07  Bruno Haible  <bruno@clisp.org>
93545
93546         * lib/strtoimax.c: Include <stdint.h> as an alternative to
93547         <inttypes.h>.
93548         * lib/xstrtol.h: Likewise.
93549         * lib/xstrtoimax.c: Likewise.
93550         * lib/xstrtoumax.c: Likewise.
93551         * lib/human.h: Likewise.
93552
93553         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
93554         on systems that have <inttypes.h> but not <stdint.h>.
93555
93556 2003-01-07  Bruno Haible  <bruno@clisp.org>
93557
93558         * MODULES.html.sh: Add copyright notice.
93559         (missed_files): Omit CVS directory entries.
93560         (func_module): Make it work with sed-3.02.
93561         * MODULES.txt: Remove file.
93562
93563 2003-01-06  Jim Meyering  <jim@meyering.net>
93564
93565         * lib/version-etc.c: Update year in translatable copyright string.
93566
93567 2003-01-03  Karl Berry  <karl@gnu.org>
93568
93569         * config/config.{guess,sub}: update from prep.
93570
93571 2003-01-02  Karl Berry  <karl@gnu.org>
93572
93573         * doc/COPYING.DOC: belatedly updated to 1.2.
93574
93575 2003-01-01  Karl Berry  <karl@gnu.org>
93576
93577         * gnulib-tool (func_verify_module): report module name $module in
93578         error message, not $1.
93579         * gnulib-tool (create-testdir): don't complain if destdir couldn't
93580         be created, only if it doesn't exist.
93581         * gnulib-tool (last_checkin_date): don't expand the $Date here.
93582
93583 2002-12-31  Paul Eggert  <eggert@twinsun.com>
93584
93585         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
93586
93587 2002-12-31  Paul Eggert  <eggert@twinsun.com>
93588
93589         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
93590         memcmp if strcoll doesn't work.
93591
93592 2002-12-31  Bruno Haible  <bruno@clisp.org>
93593
93594         * lib/utime.c (utime_null): No need to call ftruncate if the file was
93595         nonempty.
93596
93597 2002-12-31  Bruno Haible  <bruno@clisp.org>
93598
93599         * lib/memcoll.c (STRCOLL): New macro.
93600         (memcoll): Use it.
93601
93602 2002-12-31  Bruno Haible  <bruno@clisp.org>
93603
93604         * lib/localcharset.h: New file.
93605         * lib/localcharset.c: Include it.
93606         * lib/unicodeio.c: Likewise.
93607
93608 2002-12-31  Bruno Haible  <bruno@clisp.org>
93609
93610         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
93611         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
93612
93613 2002-12-31  Bruno Haible  <bruno@clisp.org>
93614
93615         * lib/getline.h: Include <stddef.h>, for size_t.
93616
93617         * lib/unicodeio.h: Include <stddef.h>, for size_t.
93618         * lib/unicodeio.c: Don't include <stddef.h>.
93619
93620 2002-12-31  Bruno Haible  <bruno@clisp.org>
93621
93622         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
93623         HAVE_TM_ZONE.
93624
93625 2002-12-24  Karl Berry  <karl@gnu.org>
93626
93627         * config/config.guess: update from prep.
93628
93629 2002-12-24  Bruno Haible  <bruno@clisp.org>
93630
93631         General infrasructure.
93632         * m4/README: Rewritten.
93633         * m4/onceonly.m4: New file.
93634         * m4/onceonly_2_57.m4: New file.
93635
93636         Module atexit.
93637         * m4/atexit.m4: New file.
93638
93639         Module strtod.
93640         * m4/strtod.m4: New file.
93641
93642         Module strtol.
93643         * m4/strtol.m4: New file.
93644
93645         Module strtoul.
93646         * m4/strtoul.m4: New file.
93647
93648         Module memchr.
93649         * m4/memchr.m4: New file.
93650
93651         Module memcmp.
93652         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
93653         (jm_FUNC_MEMCMP): Invoke it.
93654
93655         Module memcpy.
93656         * m4/memcpy.m4: New file.
93657
93658         Module memmove.
93659         * m4/memmove.m4: New file.
93660
93661         Module memset.
93662         * m4/memset.m4: New file.
93663
93664         Module strcspn.
93665         * m4/strcspn.m4: New file.
93666
93667         Module strpbrk.
93668         * m4/strpbrk.m4: New file.
93669
93670         Module strstr.
93671         * m4/strstr.m4: New file.
93672
93673         Module strerror.
93674         * m4/strerror.m4: New file.
93675
93676         Module mktime.
93677         * m4/mktime.m4: Renamed from jm-mktime.m4.
93678         (gl_PREREQ_MKTIME): New macro.
93679         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
93680
93681         Module malloc.
93682         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
93683         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
93684         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
93685
93686         Module realloc.
93687         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
93688         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
93689         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
93690
93691         Module strftime.
93692         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
93693         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
93694         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
93695         gl_TM_GMTOFF.
93696         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
93697
93698         Module xalloc.
93699         * m4/xalloc.m4: New file.
93700
93701         Module alloca.
93702         * m4/alloca.m4: New file.
93703
93704         Module putenv.
93705         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
93706         (jm_FUNC_PUTENV): Invoke it.
93707
93708         Module setenv.
93709         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
93710         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
93711         when invoked twice.
93712         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
93713         gt_FUNC_SETENV.
93714
93715         Module memrchr.
93716         * m4/memrchr.m4: New file.
93717
93718         Module stpcpy.
93719         * m4/stpcpy.m4: New file.
93720
93721         Module strcase.
93722         * m4/strcase.m4: New file.
93723
93724         Module strdup.
93725         * m4/strdup.m4: New file.
93726
93727         Module strnlen.
93728         * m4/strnlen.m4: New file.
93729
93730         Module strndup.
93731         * m4/strndup.m4: New file.
93732
93733         Module xstrtod.
93734         * m4/xstrtod.m4: New file.
93735
93736         Module xstrtol.
93737         * m4/xstrtol.m4: New file.
93738
93739         Module getdate.
93740         * m4/getdate.m4: New file.
93741
93742         Module unlocked-io.
93743         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
93744         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
93745         * m4/jm-glibc-io.m4n: Remove file.
93746
93747         Module long-options.
93748         * m4/long-options.m4: New file.
93749
93750         Module md5.
93751         * m4/md5.m4: New file.
93752
93753         Module sha.
93754         * m4/sha.m4: New file.
93755
93756         Module getstr.
93757         * m4/getstr.m4: New file.
93758
93759         Module getline.
93760         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
93761         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
93762         <sys/types.h>, for size_t. Use the function name gnu_getline, not
93763         simply getline. Infoke gl_PREREQ_GETLINE.
93764
93765         Module obstack.
93766         * m4/obstack.m4: New file.
93767
93768         Module hash.
93769         * m4/hash.m4: New file.
93770
93771         Module readtokens.
93772         * m4/readtokens.m4: New file.
93773
93774         Module strverscmp.
93775         * m4/strverscmp.m4: New file.
93776
93777         Module stdbool.
93778         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
93779         OSF/1.
93780
93781         Module strtoll.
93782         * m4/strtoll.m4: New file.
93783
93784         Module strtoull.
93785         * m4/strtoull.m4: New file.
93786
93787         Module strtoimax.
93788         * m4/strtoimax.m4: New file.
93789
93790         Module strtoumax.
93791         * m4/strtoumax.m4: New file.
93792
93793         Module xstrtoimax.
93794         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
93795         jm_AC_PREREQ_XSTRTOIMAX.
93796         Moved the strtol prerequisites to strtol.m4.
93797         Moved the strtoll prerequisites to strtoll.m4.
93798         Moved the strtoimax prerequisites to strtoimax.m4.
93799
93800         Module xstrtoumax.
93801         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
93802         jm_AC_PREREQ_XSTRTOUMAX.
93803         Moved the strtoul prerequisites to strtoul.m4.
93804         Moved the strtoull prerequisites to strtoull.m4.
93805         Moved the strtoumax prerequisites to strtoumax.m4.
93806
93807         Module chown.
93808         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
93809         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
93810
93811         Module dup2.
93812         * m4/dup2.m4: New file.
93813
93814         Module ftruncate.
93815         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
93816         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
93817
93818         Module getgroups.
93819         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
93820         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
93821
93822         Module gettimeofday.
93823         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
93824         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
93825         gl_PREREQ_GETTIMEOFDAY.
93826
93827         Module mkdir.
93828         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
93829         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
93830
93831         Module mkstemp.
93832         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
93833         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
93834         jm_AC_TYPE_UINTMAX_T.
93835         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
93836
93837         Module stat.
93838         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
93839         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
93840
93841         Module lstat.
93842         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
93843         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
93844
93845         Module timespec.
93846         * m4/timespec.m4 (gl_TIMESPEC): New macro.
93847         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
93848         * m4/st_mtim.m4: Indentation.
93849
93850         Module nanosleep.
93851         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
93852         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
93853         gl_PREREQ_NANOSLEEP.
93854
93855         Module regex.
93856         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
93857         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
93858         (gl_REGEX): New macro.
93859
93860         Module rename.
93861         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
93862         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
93863
93864         Module rmdir.
93865         * m4/rmdir.m4: New file.
93866
93867         Module utime.
93868         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
93869         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
93870         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
93871
93872         Module dirname.
93873         * m4/dirname.m4: New file.
93874
93875         Module getopt.
93876         * m4/getopt.m4: New file.
93877
93878         Module unistd-safer.
93879         * m4/unistd-safer.m4: New file.
93880
93881         Module fnmatch.
93882         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
93883         declaration.
93884         (gl_PREREQ_FNMATCH_EXTRA): New macro.
93885         (gl_FUNC_FNMATCH_POSIX): New macro.
93886         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
93887         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
93888         simply fnmatch.
93889
93890         Module exclude.
93891         * m4/exclude.m4: New file.
93892
93893         Module human.
93894         * m4/human.m4: New file.
93895
93896         Module acl.
93897         * m4/acl.m4: Nop.
93898
93899         Module backupfile.
93900         * m4/backupfile.m4: New file.
93901         * m4/d-ino.m4: Indentation.
93902
93903         Module fsusage.
93904         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
93905         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
93906         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
93907
93908         Module dirfd.
93909         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
93910         requirements.
93911
93912         Module euidaccess.
93913         * m4/euidaccess.m4: New file.
93914
93915         Module file-type.
93916         * m4/file-type.m4: New file.
93917
93918         Module fileblocks.
93919         * m4/fileblocks.m4: New file.
93920
93921         Module filemode.
93922         * m4/filemode.m4: New file.
93923
93924         Module isdir.
93925         * m4/isdir.m4: New file.
93926
93927         Module lchown.
93928         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
93929         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
93930
93931         Module makepath.
93932         * m4/makepath.m4: New file.
93933
93934         Module modechange.
93935         * m4/modechange.m4: New file.
93936
93937         Module mountlist.
93938         * m4/mountlist.m4: New file.
93939         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
93940         Indentation.
93941
93942         Module path-concat.
93943         * m4/path-concat.m4: New file.
93944
93945         Module pathmax.
93946         * m4/pathmax.m4: New file.
93947
93948         Module same.
93949         * m4/same.m4: New file.
93950
93951         Module save-cwd.
93952         * m4/save-cwd.m4: New file.
93953
93954         Module savedir.
93955         * m4/savedir.m4: New file.
93956
93957         Module xgetcwd.
93958         * m4/xgetcwd.m4: New file.
93959         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
93960
93961         Module xreadlink.
93962         * m4/xreadlink.m4: New file.
93963
93964         Module safe-read.
93965         * m4/safe-read.m4: New file.
93966
93967         Module safe-write.
93968         * m4/safe-write.m4: New file.
93969
93970         Module closeout.
93971         * m4/closeout.m4: New file.
93972
93973         Module stdio-safer.
93974         * m4/stdio-safer.m4: New file.
93975
93976         Module getpass.
93977         * m4/getpass.m4: New file.
93978
93979         Module getugroups.
93980         * m4/getugroups.m4: New file.
93981
93982         Module group-member.
93983         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
93984         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
93985
93986         Module idcache.
93987         * m4/idcache.m4: New file.
93988
93989         Module userspec.
93990         * m4/userspec.m4: New file.
93991
93992         Module gettime.
93993         * m4/clock_time.m4: New file.
93994         * m4/gettime.m4: New file.
93995
93996         Module settime.
93997         * m4/settime.m4: New file.
93998
93999         Module posixtm.
94000         * m4/posixtm.m4: New file.
94001
94002         Module gethostname.
94003         * m4/gethostname.m4: New file.
94004
94005         Module canon-host.
94006         * m4/canon-host.m4: New file.
94007
94008         Module gettext.
94009         * m4/codeset.m4: New file, from gettext-0.11.5.
94010         * m4/gettext.m4: New file, from gettext-0.11.5.
94011         * m4/glibc21.m4: New file, from gettext-0.11.5.
94012         * m4/iconv.m4: New file, from gettext-0.11.5.
94013         * m4/intdiv0.m4: New file, from gettext-0.11.5.
94014         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
94015         * m4/inttypes.m4: New file, from gettext-0.11.5.
94016         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
94017         * m4/isc-posix.m4: New file, from gettext-0.11.5.
94018         * m4/lcmessage.m4: New file, from gettext-0.11.5.
94019         * m4/lib-ld.m4: New file, from gettext-0.11.5.
94020         * m4/lib-link.m4: New file, from gettext-0.11.5.
94021         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
94022         * m4/progtest.m4: New file, from gettext-0.11.5.
94023         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
94024         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
94025         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
94026
94027         Module localcharset.
94028         * m4/localcharset.m4: New file.
94029
94030         Module hard-locale.
94031         * m4/hard-locale.m4: New file.
94032
94033         Module mbswidth.
94034         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
94035         onceonly macros.
94036         * m4/mbrtowc.m4: Add comment.
94037
94038         Module memcasecmp.
94039         * m4/memcasecmp.m4: New file.
94040
94041         Module memcoll.
94042         * m4/memcoll.m4: New file.
94043
94044         Module unicodeio.
94045         * m4/unicodeio.m4: New file.
94046
94047         Module rpmatch.
94048         * m4/rpmatch.m4: New file.
94049
94050         Module yesno.
94051         * m4/yesno.m4: New file.
94052
94053         Module exitfail.
94054         * m4/exitfail.m4: New file.
94055
94056         Module c-stack.
94057         * m4/c-stack.m4 (gl_C_STACK): New macro.
94058         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
94059
94060         Module error.
94061         * m4/error.m4 (gl_ERROR): New macro.
94062         (jm_PREREQ_ERROR): Use onceonly macros.
94063
94064         Module fatal.
94065         * m4/fatal.m4: New file.
94066
94067         Module getloadavg.
94068         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
94069         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
94070
94071         Module getpagesize.
94072         * m4/getpagesize.m4: New file.
94073
94074         Module getusershell.
94075         * m4/getusershell.m4: New file.
94076
94077         Module physmem.
94078         * m4/physmem.m4: New file.
94079
94080         Module posixver.
94081         * m4/posixver.m4: New file.
94082
94083         Module quotearg.
94084         * m4/quotearg.m4: New file.
94085
94086         Module quote.
94087         * m4/quote.m4: New file.
94088
94089         Module readutmp.
94090         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
94091
94092         Module sig2str.
94093         * m4/sig2str.m4: New file.
94094
94095         Other.
94096         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
94097         ulonglong.m4.
94098         * m4/intmax_t.m4: New file.
94099         * m4/d-type.m4: Indentation.
94100         * m4/jm-macros.m4: Update.
94101         * m4/prereq.m4 (jm_PREREQ): Update.
94102         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
94103         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
94104         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
94105         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
94106         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
94107         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
94108         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
94109         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
94110         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
94111         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
94112         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
94113         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
94114         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
94115         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
94116         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
94117         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
94118         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
94119         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
94120         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
94121
94122 2002-12-24  Bruno Haible  <bruno@clisp.org>
94123
94124         * MODULES.txt: Update according to m4/ changes.
94125
94126         Module gettext.
94127         * config.rpath: New file, from gettext-0.11.5.
94128
94129         * modules/*: New module descriptions.
94130         * gnulib-tool: New file.
94131         * MODULES.html.sh: New file.
94132
94133 2002-12-21  Karl Berry  <karl@gnu.org>
94134
94135         * doc/fdl.texi: update to version 1.2.
94136
94137 2002-12-19  Karl Berry  <karl@gnu.org>
94138
94139         * config/config.guess: update from prep.
94140
94141 2002-12-18  Bruno Haible  <bruno@clisp.org>
94142
94143         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
94144         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
94145
94146 2002-12-17  Bruno Haible  <bruno@clisp.org>
94147
94148         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
94149         stdlib.h, string.h.
94150
94151 2002-12-17  Bruno Haible  <bruno@clisp.org>
94152
94153         * lib/canon-host.c (strdup): Remove unused declaration.
94154
94155         * lib/fsusage.c: Include full_read.h.
94156         (get_fs_usage): Use full_read instead of safe_read.
94157
94158         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
94159
94160 2002-12-12  Karl Berry  <karl@gnu.org>
94161
94162         * config/config.guess: update from prep.
94163
94164 2002-12-11  Bruno Haible  <bruno@clisp.org>
94165
94166         * m4/setenv.m4: New file, from gettext-0.11.5.
94167
94168 2002-12-11  Bruno Haible  <bruno@clisp.org>
94169
94170         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
94171         not unsetenv().
94172         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
94173         modifications:
94174
94175         2002-12-11  Bruno Haible  <bruno@clisp.org>
94176
94177                 * setenv.c (alloca): Fall back to malloc.
94178                 (freea): New macro.
94179                 (setenv): Use freea() to free memory allocated with alloca().
94180
94181         2002-11-13  Bruno Haible  <bruno@clisp.org>
94182
94183                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
94184                 function declarations.
94185                 * unsetenv.c (unsetenv): Likewise.
94186
94187         2002-03-04  Bruno Haible  <bruno@clisp.org>
94188
94189                 Portability to AIX 4.3.3.
94190                 * unsetenv.c: New file, extracted from setenv.c.
94191                 * setenv.c: Move the unsetenv() function to unsetenv.c.
94192
94193         2001-12-20  Bruno Haible  <bruno@clisp.org>
94194
94195                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
94196                 use malloc instead. For SunOS 4.
94197
94198         2001-12-11  Bruno Haible  <bruno@clisp.org>
94199
94200                 * setenv.c: Declare alloca.
94201                 (compar_fn_t): New typedef.
94202                 (KNOWN_VALUE, STORE_VALUE): Use it.
94203
94204         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
94205         setenv.h.
94206
94207 2002-12-10  Paul Eggert  <eggert@twinsun.com>
94208
94209         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
94210         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
94211         Choose values that are less likely to collide with system fnmatch
94212         options.
94213         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
94214         defined (e.g., a pure POSIX system).
94215         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
94216         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
94217
94218 2002-12-06  Paul Eggert  <eggert@twinsun.com>
94219
94220         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
94221         a pain in practice to deal with generated m4 files.  This change
94222         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
94223
94224         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
94225         and jm-glibc-io.m4, as they are no longer a special case.
94226         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
94227         kludge and the auto-generation stuff.  Check only whether the
94228         functions are declared, not whether they exist, since older hosts
94229         that don't declare the functions can't use the optimization anyway.
94230
94231 2002-12-06  Jim Meyering  <jim@meyering.net>
94232
94233         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
94234
94235         Merge in changes from libc's misc/error.c, in preparation
94236         for the merge of gnulib's changes back into libc.
94237
94238         * lib/error.c (_): Define only if not already defined.
94239         Move definition to follow all #include directives.
94240         Include unlocked-io.h only if !_LIBC.
94241         [_LIBC]: Include <libio/libioP.h>.
94242         [USE_IN_LIBIO]: Include <libio/iolibio.h>
94243         (fflush): Tweak definition to use INTUSE.
94244         (putc): Define.
94245
94246 2002-12-05  Paul Eggert  <eggert@twinsun.com>
94247
94248         * lib/alloca.c [defined emacs]: Include "lisp.h".
94249         (xalloc_die) [defined emacs]: New macro.
94250         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
94251         [! defined emacs]: Include <xalloc.h>.
94252         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
94253         (pointer): Typedef to POINTER_TYPE *.
94254         (malloc): Remove decl; we now always use xmalloc.
94255         (alloca): Use old-style definition, since Emacs needs this.
94256         Check for arithmetic overflow when computing combined size.
94257
94258 2002-12-04  Paul Eggert  <eggert@twinsun.com>
94259
94260         Do not generate unlocked-io.h automatically, since it's easier to
94261         maintain it by hand.
94262
94263         * lib/unlocked-io.h: New file, from GNU diffutils,
94264         but with proper copyright notice and attribution.
94265         * lib/gen-uio: Remove.
94266         * lib/Makefile.am: Add copyright notice.
94267         (libfetish_a_SOURCES): Add unlocked-io.h.
94268         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
94269         (DISTCLEANFILES, io_functions): Remove macros.
94270         (EXTRA_DIST): Remove gen_uio.
94271         (unlocked-io.h): Remove rule.
94272
94273 2002-12-04  Jim Meyering  <jim@meyering.net>
94274
94275         Reflect the fact that stat.c and lstat.c are no longer generated.
94276         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
94277         (DISTCLEANFILES): Likewise.
94278         (EXTRA_DIST): Likewise.
94279         (all_local): Don't depend on stat.c or lstat.c.
94280         (stat.c, lstat.c): Remove rules.
94281         (EXTRA_DIST): Remove xstat.in.
94282
94283         * lib/xstat.in: Remove file.  Contents moved into stat.c.
94284         * lib/stat.c: New file.  Contents mostly from xstat.in.
94285         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
94286         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
94287
94288         * lib/safe-read.c: Rework so that it may serve to define safe_write,
94289         too.
94290         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
94291
94292 2002-12-03  Jim Meyering  <jim@meyering.net>
94293
94294         * lib/safe-read.c, safe-write.c: Change variable names and comments,
94295         but not semantics, to minimize the differences between these two files.
94296         (safe_read): Change comment to mention SAFE_READ_ERROR.
94297
94298         * lib/safe-read.c (IS_EINTR): Define.
94299         (safe_read): Use IS_EINTR in place of in-function cpp directives.
94300
94301 2002-12-02  Jim Meyering  <jim@meyering.net>
94302
94303         * lib/safe-read.c (EINTR): Define.
94304         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
94305         (INT_MAX): Provide fallback.
94306         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
94307
94308         * lib/safe-read.h (SAFE_READ_ERROR): Define.
94309
94310 2002-12-02  Bruno Haible  <bruno@clisp.org>
94311
94312         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
94313         Define, taken from safe-read.c.
94314         (INT_MAX): Provide fallback.
94315         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
94316         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
94317
94318         * lib/safe-read.c (EINTR): Remove definition.
94319         (safe_read): Don't use EINTR if it is absent.
94320
94321 2002-12-01  Jim Meyering  <jim@meyering.net>
94322
94323         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
94324         zero.
94325         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
94326
94327 2002-11-27  Paul Eggert  <eggert@twinsun.com>
94328
94329         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
94330         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
94331         with `if (! (value < limit)) abort ();', for readability.
94332
94333 2002-11-26  Karl Berry  <karl@gnu.org>
94334
94335         * lib/strdup.c: copy from libc again, with jim's ok.
94336         * lib/.cppi-disable: re-add strdup.c
94337
94338 2002-11-25  Karl Berry  <karl@gnu.org>
94339
94340         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
94341         instead of "strtol.c".
94342
94343 2002-11-25  Karl Berry  <karl@gnu.org>
94344
94345         * config/install-sh: update from automake for variable quoting, $0 in
94346         error msgs, etc.
94347
94348         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
94349         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
94350         entry.
94351
94352 2002-11-25  Jim Meyering  <jim@meyering.net>
94353
94354         * lib/mktime.c: Sync from libc, now that it has the latest fix.
94355
94356 2002-11-24  Karl Berry  <karl@gnu.org>
94357
94358         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
94359         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
94360
94361 2002-11-24  Jim Meyering  <jim@meyering.net>
94362
94363         Update from coreutils:
94364
94365         * lib/mktime.c: Merge in changes from libc.
94366
94367         Avoid a link-time failure on some Linux systems.
94368         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
94369         (otherwise).
94370         (__mon_yday): Declare with the STATIC attribute.
94371         (__mktime_internal): Likewise.
94372         Based on a report from Greg Schafer.
94373
94374 2002-11-23  Jim Meyering  <jim@meyering.net>
94375
94376         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
94377         Use `unsigned', not `int', as type of index.
94378
94379         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
94380
94381         * lib/fsusage.c: Remove unneeded parentheses around operands of
94382         `defined'.
94383
94384 2002-11-22  Paul Eggert  <eggert@twinsun.com>
94385
94386         * lib/quotearg.h: Allow multiple inclusion by surrounding with
94387         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
94388         so that we can be included first.
94389         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
94390         * lib/quotearg.c: Include quotearg.h immediately after config.h.
94391         No need to include stddef.h or sys/types.h any more.
94392         Surround local include files with "", not "<>".
94393         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
94394         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
94395         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
94396         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
94397         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
94398         (ISPRINT): Remove; no longer needed now that we assume C89.
94399
94400         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
94401         Preserve errno.
94402
94403         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
94404         quotearg_char): Use SIZE_MAX rather than
94405         (size_t) -1 when we are talking about "infinity".
94406
94407         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
94408
94409 2002-11-22  Paul Eggert  <eggert@twinsun.com>
94410
94411         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
94412         hint that one should use `if (! x) abort ();' rather than `assert
94413         (x);', and anyway it's one less thing to worry about configuring.
94414         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
94415         hash_rehash, hash_insert): Use abort rather than assert.
94416
94417 2002-11-22  Bruno Haible  <bruno@clisp.org>
94418
94419         * lib/safe-read.h: Assume C89. Add comments.
94420         (safe_read): Change return type to size_t.
94421         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
94422         byte counts > SSIZE_MAX correctly.
94423         * lib/safe-write.h: New file.
94424         * lib/safe-write.c: New file.
94425         * lib/full-read.h: New file.
94426         * lib/full-read.c: New file.
94427         * lib/full-write.h: Assume C89. Add comments.
94428         * lib/full-write.c: Include safe-write.h.
94429         (full_write): Rewritten to use safe_write.
94430         Suggested by Jim Meyering and Paul Eggert.
94431
94432 2002-11-21  Jim Meyering  <jim@meyering.net>
94433
94434         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
94435
94436         Merge in changes from the coreutils.
94437
94438         2002-09-25  Paul Eggert  <eggert@twinsun.com>
94439         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
94440         <stdint.h>.
94441         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
94442         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
94443         int.  Work more efficiently if X is the same width as uintmax_t.
94444         Do not compare X to -1, to avoid bogus compiler warning.
94445         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
94446         Don't assume that f_frsize and f_bsize are the same type.
94447
94448         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
94449         warning on FreeBSD.
94450
94451         * lib/makepath.c (make_path): Restore umask *before* creating the final
94452         component.
94453         (make_path): Minor reformatting.
94454
94455         * lib/xmalloc.c: Adjust to work with new autoconf macros,
94456         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
94457         HAVE_MALLOC/HAVE_REALLOC.
94458
94459         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
94460         dummy ones.  At least on GNU/Linux systems, `auto' means something
94461         else.
94462         From Michael Stone.
94463
94464 2002-11-21  Bruno Haible  <bruno@clisp.org>
94465
94466         Remove case insensitive option matching.
94467         * lib/argmatch.h (argcasematch): Remove declaration.
94468         (ARGCASEMATCH): Remove macro.
94469         (__xargmatch_internal): Remove case_sensitive argument.
94470         (XARGMATCH): Update.
94471         (XARGCASEMATCH): Remove macro.
94472         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
94473         case_sensitive argument.
94474         (argcasematch): Remove function.
94475         (__xargmatch_internal): Remove case_sensitive argument.
94476         (main): Use XARGMATCH instead of XARGCASEMATCH.
94477
94478         * lib/xmalloc.c: Change compile-time error message. Add comment about
94479         required autoconf version.
94480
94481 2002-11-20  Paul Eggert  <eggert@twinsun.com>
94482
94483         Merge argmatch cleanups from Bison.  Assume C89.
94484
94485         * lib/argmatch.c: Include config.h here, not in argmatch.h.
94486         Include stdlib.h, for EXIT_FAILURE.
94487         Always include <string.h>, since we assume C89.
94488         (EXIT_FAILURE): Remove pre-C89 bug workaround.
94489         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
94490         Include <stddef.h> instead, since it's all we need for size_t.
94491         (PARAMS): Remove.  All uses removed.
94492         (ARRAY_CARDINALITY): Do not bother to #undef.
94493         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
94494         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
94495         Remove unnecessary parentheses.
94496         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
94497         Insert necessary parentheses.
94498         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
94499         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
94500
94501 2002-11-19  Bruno Haible  <bruno@clisp.org>
94502
94503         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
94504         * lib/mbswidth.h: Include <stddef.h>, for size_t.
94505
94506         * lib/mbswidth.h (PARAMS): Remove macro.
94507         (mbswidth, mbsnwidth): Use ANSI C function declarations.
94508         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
94509
94510         * lib/gcd.h (PARAMS): Remove macro.
94511         (gcd): Use ANSI C function declarations.
94512         * lib/gcd.c (gcd): Likewise.
94513
94514 2002-11-15  Bruno Haible  <bruno@clisp.org>
94515
94516         * lib/strcspn.c: Include <stddef.h>.
94517         (strcspn): Use ANSI C function declaration. Change return type to
94518         size_t. Use NULL.
94519         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
94520         (strpbrk): Use NULL.
94521         * lib/strpbrk.h (PARAMS): Remove macro.
94522         (strpbrk): Use ANSI C function declaration.
94523         * lib/strstr.c: Don't include <sys/types.h>.
94524         * lib/strstr.h (PARAMS): Remove macro.
94525         (strstr): Use ANSI C function declarations.
94526
94527 2002-11-14  Karl Berry  <karl@gnu.org>
94528
94529         * config/mkinstalldirs: `do' on separate line, instead of
94530         `for var; do'.
94531
94532 2002-11-06  Bruno Haible  <bruno@clisp.org>
94533
94534         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
94535         * lib/gcd.c (gcd): Likewise.
94536
94537 2002-11-05  Bruno Haible  <bruno@clisp.org>
94538
94539         * lib/gcd.h: New file, from gettext-0.11.5.
94540         * lib/gcd.c: New file, from gettext-0.11.5.
94541
94542 2002-11-05  Bruno Haible  <bruno@clisp.org>
94543
94544         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
94545         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
94546         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
94547         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
94548
94549         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
94550         <libintl.h>.
94551         * lib/makepath.c: Include gettext.h instead of <locale.h> and
94552         <libintl.h>.
94553
94554         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
94555         * lib/human.c: Include gettext.h instead of <libintl.h>.
94556         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
94557         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
94558         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
94559         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
94560         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
94561         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
94562         (textdomain): Remove definition.
94563         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
94564
94565         * lib/long-options.c: Remove include of <libintl.h> and definition of
94566         _.
94567         * lib/same.c: Remove include of <libintl.h> and definition of _.
94568
94569 2002-11-04  Owen Taylor  <otaylor@redhat.com>
94570
94571         * lib/config.charset: A few additions for Solaris.
94572
94573 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
94574
94575         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
94576         * lib/localcharset.c (locale_charset): Declare as extern "C".
94577
94578 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
94579
94580         * lib/config.charset: msdos in uk_UA uses CP1125.
94581
94582 2002-11-04  Bruno Haible  <bruno@clisp.org>
94583
94584         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
94585         * lib/strcase.h: New file, from GNU gettext-0.11.5.
94586         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
94587         * lib/strstr.h: New file, from GNU gettext-0.11.5.
94588         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
94589
94590 2002-11-04  Bruno Haible  <bruno@clisp.org>
94591
94592         * lib/localcharset.c (locale_charset): Don't return an empty string.
94593
94594 2002-11-04  Bruno Haible  <bruno@clisp.org>
94595
94596         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
94597         aliases.
94598
94599 2002-11-04  Bruno Haible  <bruno@clisp.org>
94600
94601         * lib/config.charset: Update for newest glibc. Add canonical names
94602         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
94603
94604 2002-11-04  Bruno Haible  <bruno@clisp.org>
94605
94606         * lib/config.charset: Add support for NetBSD.
94607
94608 2002-11-04  Bruno Haible  <bruno@clisp.org>
94609
94610         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
94611
94612 2002-11-01  Bruno Haible  <bruno@clisp.org>
94613
94614         * configure.in: Add AC_CONFIG_AUX_DIR call.
94615         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
94616         test/Makefile.
94617         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
94618
94619 2002-09-28  Karl Berry  <karl@gnu.org>
94620
94621         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
94622         installed automake until the next release, since changes have been
94623         made.
94624
94625 2002-09-25  Karl Berry  <karl@gnu.org>
94626
94627         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
94628         * lib/getopt*: copy from libc/posix.
94629         * lib/gettext.h: copy from gettext.
94630         * lib/.cppi-disable: add strdup.c, gettext.h.
94631
94632 2002-09-25  Karl Berry  <karl@gnu.org>
94633
94634         * config/srclist.txt: enable gettext.h check.
94635         * config/config.{guess,sub}: update from prep.
94636         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
94637                 from automake 1.6.3.
94638         See srclist*.
94639
94640 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
94641
94642         * regex.c (PATFETCH): Remove the translating fetch.
94643         (PATFETCH_RAW): Rename to PATFETCH.
94644         (set_image_of_range): New fun.
94645         (SET_RANGE_TABLE_WORK_AREA): Use it.
94646         (regex_compile): Don't translate the pattern chars so eagerly.
94647         Only do it when inserting an `exactn' bytecode or when handling
94648         a char-range.
94649         (mutually_exclusive_p): Avoid empty statement.
94650
94651 2002-07-06  Jim Meyering  <meyering@lucent.com>
94652
94653         * m4/README: Don't mention Makefile.am.in.
94654         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
94655
94656 2002-07-01  Jim Meyering  <meyering@lucent.com>
94657
94658         * lib/c-stack.c: Include sys/time.h.
94659         From Volker Borchert.
94660
94661 2002-06-26  Paul Eggert  <eggert@twinsun.com>
94662
94663         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
94664
94665 2002-06-26  Paul Eggert  <eggert@twinsun.com>
94666
94667         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
94668         New macro.  Use it uniformly instead of
94669         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
94670         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
94671         reported by Vin Shelton.
94672
94673 2002-06-22  Paul Eggert  <eggert@twinsun.com>
94674
94675         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
94676         Do not assume SA_SIGINFO behavior.
94677         Bug reported by Jim Meyering on NetBSD 1.5.2.
94678
94679 2002-06-22  Jim Meyering  <meyering@lucent.com>
94680
94681         * m4/c-stack.m4: New file, from diffutils-2.8.2.
94682         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
94683
94684         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
94685         now that configure.ac uses AC_GNU_SOURCE.
94686         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
94687         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
94688
94689         Update to latest tools.  Suggestions from Paul Eggert.
94690         * m4/stdbool.m4: New file, from diffutils-2.8.2.
94691         * m4/gnu-source.m4: Update from diffutils-2.8.2.
94692         * m4/fnmatch.m4: Likewise.
94693         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
94694         to AC_HEADER_STDBOOL
94695
94696 2002-06-22  Jim Meyering  <meyering@lucent.com>
94697
94698         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
94699         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
94700
94701 2002-06-22  Jim Meyering  <meyering@lucent.com>
94702
94703         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
94704
94705         * lib/exitfail.c, exitfail.h: Likewise.
94706         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
94707
94708         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
94709         of fnmatch.h.
94710         (EXTRA_DIST): Add fnmatch_loop.c.
94711         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
94712
94713         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
94714         * lib/fnmatch.c: Update from diffutils-2.8.2.
94715         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
94716         * lib/fnmatch.h: Remove file.
94717
94718 2002-06-21  Jim Meyering  <meyering@lucent.com>
94719
94720         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
94721         * m4/mbrtowc.m4: Likewise.
94722
94723         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
94724         * m4/mbswidth.m4: Reflect name change:
94725         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
94726         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
94727
94728         * m4/lib-link.m4: Update from gettext-0.11.2.
94729         * m4/gettext.m4: Likewise.
94730
94731         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
94732         From Alfred M. Szmidt.
94733
94734 2002-06-18  Paul Eggert  <eggert@twinsun.com>
94735
94736         * lib/file-type.h: Report an error if neither S_ISREG nor
94737         S_IFREG is defined, instead of using a test specific to glibc
94738         2.2.  This should be safe, since POSIX requires S_ISREG and
94739         Unix Version 7 had S_IFREG.  We don't need to check for
94740         <sys/types.h> since we don't use any symbols that it defines.
94741
94742 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
94743
94744         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
94745         $@-t, so that each temporary file name is unique and valid in the first
94746         8 characters, for operation under DOS.
94747
94748 2002-06-15  Paul Eggert  <eggert@twinsun.com>
94749
94750         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
94751
94752 2002-06-15  Jim Meyering  <meyering@lucent.com>
94753
94754         Work even with DJGPP 2.03, which lacks support for symlinks.
94755         From Richard Dawe.
94756         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
94757         is defined.
94758         * lib/lchown.c (S_ISLNK): Likewise.
94759
94760 2002-06-15  Jim Meyering  <meyering@lucent.com>
94761
94762         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
94763         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
94764         have been included before this file.
94765
94766 2002-06-14  Jim Meyering  <meyering@lucent.com>
94767
94768         * lib/file-type.h: Use the version from diffutils-2.8.2.
94769         * lib/file-type.c: Likewise.
94770
94771 2002-06-07  Jim Meyering  <meyering@lucent.com>
94772
94773         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
94774         They're needed at least for NetBSD 1.5.2.
94775         ($statxfs_includes): Include those same headers.
94776         ($statxfs_includes): Include sys/vfs.h if available.
94777         ($statxfs_includes): Likewise for sys/statvfs.h.
94778         Check for the following members in both structs statfs and statvfs:
94779         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
94780
94781 2002-06-01  Jim Meyering  <meyering@lucent.com>
94782
94783         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
94784         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
94785
94786 2002-05-28  Jim Meyering  <meyering@lucent.com>
94787
94788         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
94789         Reported by Volker Borchert.
94790
94791 2002-05-27  Jim Meyering  <meyering@lucent.com>
94792
94793         Fix a problem seen only on nonconforming systems whereby ls.c's
94794         use of localtime, and then of gettimeofday would cause trouble:
94795         the localtime call used to initialize rpl_gettimeofday's save
94796         mechanism would clobber ls's current local time information so
94797         that in any long listing the first file would always be listed
94798         with date 1970-01-01.  Analysis by Volker Borchert.
94799
94800         * lib/gettimeofday.c (localtime): Undefine.
94801         (rpl_localtime): New function.
94802
94803 2002-05-27  Jim Meyering  <meyering@lucent.com>
94804
94805         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
94806         localtime.
94807
94808         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
94809         use the replacement function; it wouldn't resolve at link time.
94810         Reported by Volker Borchert.
94811
94812 2002-05-22  Jim Meyering  <meyering@lucent.com>
94813
94814         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
94815         file-type.h.
94816         * lib/file-type.h: New file.
94817         * lib/file-type.c (file_type): New file/function.  Extracted from
94818         diffutils.
94819
94820 2002-04-30  Jim Meyering  <meyering@lucent.com>
94821
94822         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
94823
94824 2002-04-29  Paul Eggert  <eggert@twinsun.com>
94825
94826         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
94827
94828 2002-04-29  Paul Eggert  <eggert@twinsun.com>
94829
94830         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
94831         Do not check for alloca.h (no longer used) or stdbool.h (was never
94832         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
94833
94834 2002-04-29  Paul Eggert  <eggert@twinsun.com>
94835
94836         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
94837
94838 2002-04-29  Jim Meyering  <meyering@lucent.com>
94839
94840         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
94841         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
94842         Use AC_FUNC_STRNLEN here instead.
94843
94844         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
94845         With autoconf-2.53a, it's part of AC_PROG_CC.
94846
94847 2002-04-28  Paul Eggert  <eggert@twinsun.com>
94848
94849         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
94850         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
94851
94852 2002-04-28  Paul Eggert  <eggert@twinsun.com>
94853
94854         * lib/sig2str.h, lib/sig2str.c: New files.
94855         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
94856
94857 2002-04-28  Paul Eggert  <eggert@twinsun.com>
94858
94859         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
94860         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
94861         of 127, since 64 is the largest conceivable number for ancient
94862         nonstandard hosts.
94863         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
94864
94865 2002-04-28  Jim Meyering  <meyering@lucent.com>
94866
94867         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
94868
94869 2002-04-24  Jim Meyering  <meyering@lucent.com>
94870
94871         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
94872         (jm_PREREQ): Use it.
94873
94874         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
94875         mach/mach.h fcntl.h.
94876         Check for this function: setlocale.
94877
94878 2002-04-24  Jim Meyering  <meyering@lucent.com>
94879
94880         * lib/gettext.h: New file, from Gettext.
94881         * lib/Makefile.am (INCLUDES): Remove -I../intl.
94882         (libfetish_a_SOURCES): Add gettext.h.
94883
94884 2002-04-16  Jim Meyering  <meyering@lucent.com>
94885
94886         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
94887         ut_pid, ut_id, ut_exit.
94888
94889 2002-04-16  Jim Meyering  <meyering@lucent.com>
94890
94891         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
94892         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
94893         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
94894
94895 2002-04-12  Jim Meyering  <meyering@lucent.com>
94896
94897         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
94898         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
94899         existence of the getmntinfo function.  Needed for Darwin 5.3.
94900
94901         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
94902         This is necessary at least on Darwin 5.3.
94903
94904         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
94905         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
94906         strnlen.o in the library, and that makes some versions of ranlib
94907         object.
94908
94909 2002-04-12  Jim Meyering  <meyering@lucent.com>
94910
94911         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
94912
94913 2002-04-09  Jim Meyering  <meyering@lucent.com>
94914
94915         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
94916         to be more precise.  Rather than saying we're checking whether the
94917         function `works', say what we're testing.
94918         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
94919         Reported by Bruno Haible.
94920
94921 2002-03-10  Jim Meyering  <meyering@lucent.com>
94922
94923         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
94924         Suggestion from Santiago Vila.
94925
94926 2002-03-08  Jim Meyering  <meyering@lucent.com>
94927
94928         * lib/rename.c: Mention that this wrapper is needed also on
94929         mips-dec-ultrix4.4 systems.
94930
94931 2002-03-02  Jim Meyering  <meyering@lucent.com>
94932
94933         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
94934         not HAVE_CLOCK_SETTIME.
94935
94936 2002-02-27  Paul Eggert  <eggert@twinsun.com>
94937
94938         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
94939         Check for clock_settime.
94940
94941 2002-02-27  Paul Eggert  <eggert@twinsun.com>
94942
94943         * lib/nanosleep.h: Rename to....
94944         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
94945
94946         * lib/gettime.c: New file.
94947         * lib/settime.c: New file.
94948         * lib/stime.c: Remove.
94949
94950         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
94951         timespec.h.  Remove nanosleep.h.
94952
94953 2002-02-25  Paul Eggert  <eggert@twinsun.com>
94954
94955         * m4/acl.m4: New file.
94956         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
94957         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
94958
94959 2002-02-25  Paul Eggert  <eggert@twinsun.com>
94960
94961         * lib/acl.c, lib/acl.h: New files.
94962         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
94963
94964 2002-02-24  Jim Meyering  <meyering@lucent.com>
94965
94966         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
94967         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
94968         cause trouble.  Reported by Nelson Beebe.
94969
94970 2002-02-23  Paul Eggert  <eggert@twinsun.com>
94971
94972         * lib/path-concat.c (xpath_concat): Reorder code to pacify
94973         compilers that don't know that xalloc_die never returns.
94974
94975 2002-02-20  Jim Meyering  <meyering@lucent.com>
94976
94977         * lib/getdate.c: Regenerate using bison-1.33.
94978
94979 2002-02-17  Jim Meyering  <meyering@lucent.com>
94980
94981         * config/config.guess (main): Don't use `head -1'; it's no longer
94982         portable. Use `sed 1q' instead.
94983
94984 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
94985
94986         * m4/codeset.m4: Upgrade to gettext-0.11.
94987         * m4/gettext.m4: Upgrade to gettext-0.11.
94988         * m4/glibc21.m4: Upgrade to gettext-0.11.
94989         * m4/iconv.m4: Upgrade to gettext-0.11.
94990         * m4/isc-posix.m4: Upgrade to gettext-0.11.
94991         * m4/lcmessage.m4: Upgrade to gettext-0.11.
94992         * m4/lib-ld.m4: New file, from gettext-0.11.
94993         * m4/lib-link.m4: New file, from gettext-0.11.
94994         * m4/lib-prefix.m4: New file, from gettext-0.11.
94995         * m4/progtest.m4: Upgrade to gettext-0.11.
94996
94997 2002-02-15  Paul Eggert  <eggert@twinsun.com>
94998
94999         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
95000         (jm_PREREQ): Use it.
95001
95002 2002-02-15  Paul Eggert  <eggert@twinsun.com>
95003
95004         * lib/posixver.c, lib/posixver.h: New files.
95005         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
95006
95007 2002-02-02  Paul Eggert  <eggert@twinsun.com>
95008             Bruno Haible  <bruno@clisp.org>
95009
95010         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
95011         (fwrite_success_callback): New declaration.
95012         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
95013         print_unicode_char. Call failure callback instead of error.
95014         (fwrite_success_callback): New function.
95015         (exit_failure_callback): New function.
95016         (fallback_failure_callback): New function.
95017         (print_unicode_char): Call unicode_to_mb.
95018
95019 2002-01-26  Jim Meyering  <meyering@lucent.com>
95020
95021         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
95022         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
95023
95024 2002-01-26  Jim Meyering  <meyering@lucent.com>
95025
95026         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
95027
95028 2002-01-22  Paul Eggert  <eggert@twinsun.com>
95029
95030         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
95031
95032 2002-01-22  Jim Meyering  <meyering@lucent.com>
95033
95034         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
95035         Otherwise, some versions of automake would omit the rule that makes
95036         Makefile from Makefile.in.
95037
95038 2002-01-21  Paul Eggert  <eggert@twinsun.com>
95039
95040         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
95041         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
95042         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
95043         (memcoll): Set errno to zero if there is no error.
95044
95045         * lib/quotearg.c (quotearg_buffer_restyled):
95046         Fix bug with quoting buffers containing NUL when backslashing escapes.
95047         This bug was exposed by the other changes in this patch.
95048         (quotearg_n_options): New arg ARGSIZE.
95049         All callers changed.
95050         (quoting_options_from_style): New function.
95051         (quotearg_n_style): Use it.
95052         (quotearg_n_style_mem): New function.
95053
95054         * lib/quotearg.h (quotearg_n_style_mem): New function.
95055
95056 2002-01-19  Jim Meyering  <meyering@lucent.com>
95057
95058         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
95059         Remove useless quotes: DF_PROG="df".
95060         * m4/strnlen.m4: New file.
95061
95062 2002-01-16  Paul Eggert  <eggert@twinsun.com>
95063
95064         * lib/backupfile.c (ISDIGIT): Comment fix.
95065         * lib/getdate.y (ISDIGIT): Likewise.
95066         * lib/posixtm.c (ISDIGIT, year): Likewise.
95067         * lib/strverscmp.c (ISDIGIT): Likewise.
95068         * lib/userspec.c (ISDIGIT): Likewise.
95069
95070 2002-01-16  Jim Meyering  <meyering@lucent.com>
95071
95072         * lib/getdate.y: Add three semicolons, each just before a closing
95073         brace. Bison (as of version 1.31) no longer papers over that mistake.
95074
95075 2002-01-05  Jim Meyering  <meyering@lucent.com>
95076
95077         * lib/version-etc.c (version_etc_copyright): Update copyright year.
95078
95079 2001-12-19  Paul Eggert  <eggert@twinsun.com>
95080
95081         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
95082         not silently exit merely because the output buffer happens to
95083         have nothing pending.
95084
95085 2001-12-18  Paul Eggert  <eggert@twinsun.com>
95086
95087         See the big note in ../ChangeLog.
95088         * lib/human.c (suffixes): Prefer K to k for 1024.
95089         (generate_suffix_backwards): New function.
95090         (human_readable_inexact): Use it.
95091         * lib/xstrtol.c (__xstrtol): If there is no number but there
95092         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
95093         Accept 'K' as well as 'k'.
95094
95095 2001-12-15  Jim Meyering  <meyering@lucent.com>
95096
95097         * lib/regex.h (__restrict_arr): Update from libc.
95098
95099         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
95100         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
95101         (STREQ): Define.
95102
95103 2001-12-14  Jim Meyering  <meyering@lucent.com>
95104
95105         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
95106         Suggestion from Bruno Haible.
95107
95108 2001-12-10  Jim Meyering  <meyering@lucent.com>
95109
95110         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
95111         xrealloc, Instead, include "xalloc.h".
95112         (initbuffer): Don't cast xmalloc return value to char*.
95113         (readline): Reword comment.
95114         Don't cast xrealloc return value to char*
95115         Return NULL, not 0.
95116
95117 2001-12-09  Jim Meyering  <meyering@lucent.com>
95118
95119         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
95120         about `signed and unsigned type in conditional expression'.
95121         * lib/posixtm.c (posix_time_parse): Likewise.
95122
95123         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
95124
95125         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
95126         to avoid a pedantic warning.
95127
95128         * lib/getstr.c: Don't include assert.h.
95129         (getstr): Remove warning-evoking assertions.
95130         Return -1 if offset parameter is out of bounds.
95131         Change the type of a local from int to size_t.
95132
95133         * lib/strftime.c (my_strftime_localtime_r): Include this function
95134         definition in the `#if ! HAVE_TM_GMTOFF' block.
95135
95136         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
95137         Include xalloc.h instead.
95138
95139 2001-12-02  Jim Meyering  <meyering@lucent.com>
95140
95141         * lib/tempname.c: Don't declare getenv, thus reverting the change of
95142         2001-11-18.  It's no longer necessary, now that stdlib.h is always
95143         included.
95144
95145         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
95146         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
95147
95148 2001-11-30  Akim Demaille  <akim@epita.fr>
95149
95150         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
95151         before being defined.
95152
95153 2001-11-27  Paul Eggert  <eggert@twinsun.com>
95154
95155         * lib/quotearg.h (quotearg_n, quotearg_n_style):
95156         First arg is int, not unsigned.
95157         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
95158         (SIZE_MAX, UINT_MAX): New macros.
95159         (quotearg_n_options): Abort if N is negative.
95160         Avoid overflow check on hosts where size_t is 64 bits and int
95161         is 32 bits, as overflow is impossible there.
95162         Fix off-by-one typo that caused unnecessary reallocation.
95163
95164 2001-11-27  Jim Meyering  <meyering@lucent.com>
95165
95166         * lib/tempname.c: Merge with version from libc.
95167         * lib/regex.c: Likewise.
95168
95169         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
95170         systems for which STDC_HEADERS is 0, it was not included, resulting in
95171         a warning about an integer-to-pointer conversion problem with getenv.
95172         Reported by Volker Borchert.
95173
95174 2001-11-26  Jim Meyering  <meyering@lucent.com>
95175
95176         * lib/gtod.h: Remove file.
95177         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
95178         * lib/gettimeofday.c: Don't include gtod.h.
95179         (GTOD_init): Remove function.
95180         (rpl_gettimeofday): Do its job here instead, rather than aborting.
95181         Suggestion from Volker Borchert.
95182
95183 2001-11-23  Jim Meyering  <meyering@lucent.com>
95184
95185         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
95186         it.
95187         * lib/hash.c (struct hash_table): Define it here instead.
95188
95189 2001-11-22  Jim Meyering  <meyering@lucent.com>
95190
95191         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
95192
95193 2001-11-20  Jim Meyering  <meyering@lucent.com>
95194
95195         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
95196         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
95197
95198 2001-11-19  Jim Meyering  <meyering@lucent.com>
95199
95200         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
95201         directory.  Use "conftestXXXXXX" as the template.
95202         Suggestion from Paul Eggert.
95203
95204         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
95205         immediately, so the test doesn't mistakenly hit the max-open-files
95206         limit.
95207
95208 2001-11-18  Paul Eggert  <eggert@twinsun.com>
95209
95210         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
95211         (TEMPORARIES): New macro.
95212         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
95213         removes an artificial limitation (e.g. HP-UX 10.20, where
95214         TMP_MAX is 17576).
95215
95216 2001-11-18  Jim Meyering  <meyering@lucent.com>
95217
95218         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
95219
95220 2001-11-18  Jim Meyering  <meyering@lucent.com>
95221
95222         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
95223         on SunOS 4.
95224
95225         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
95226         files will be created before anything else.
95227
95228 2001-11-17  Paul Eggert  <eggert@twinsun.com>
95229
95230         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
95231         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
95232
95233 2001-11-17  Jim Meyering  <meyering@lucent.com>
95234
95235         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
95236         Prompted by a report from Bob Proulx.
95237
95238         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
95239         Instead, require UTILS_FUNC_MKSTEMP.
95240
95241 2001-11-17  Jim Meyering  <meyering@lucent.com>
95242
95243         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
95244         Now, that's done as part of AC_FUNC_STRTOD.
95245
95246 2001-11-17  Jim Meyering  <meyering@lucent.com>
95247
95248         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
95249         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
95250         rather than group writable.  Patch by Juan F. Codagnone.
95251
95252         * lib/readtokens.c: Remove explicit declarations of xmalloc and
95253         xrealloc, Instead, include "xalloc.h".
95254
95255         * lib/mountlist.c: Include unlocked-io.h after all system headers.
95256         Remove explicit declarations of xmalloc, xrealloc,
95257         and xstrdup.  Instead, include "xalloc.h".
95258
95259         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
95260         unlocked-io.h.
95261         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
95262         Likewise.
95263         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
95264
95265         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
95266         Reported by Padraig Brady.
95267
95268         * lib/mkstemp.c: #undef mkstemp.
95269         Include config.h.
95270         (rpl_mkstemp): Rename from mkstemp.
95271         Protoize.
95272
95273 2001-11-16  Jim Meyering  <meyering@lucent.com>
95274
95275         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
95276         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
95277         determine the amount of total physical memory, use pstat_getstatic.
95278         HPUX-11 doesn't define _SC_PHYS_PAGES.
95279         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
95280         If sysconf couldn't be used to determine the amount of available
95281         physical memory, use both pstat_getstatic and pstat_getdynamic.
95282         Based on a patch from Bob Proulx.
95283
95284 2001-11-10  Jim Meyering  <meyering@lucent.com>
95285
95286         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
95287         (jm_PREREQ): Use it.
95288
95289 2001-11-09  Jim Meyering  <meyering@lucent.com>
95290
95291         * m4/jm-macros.m4: Require autoconf-2.52f.
95292         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
95293         Use these AC_-prefixed names, not the AM_-prefixed ones.
95294
95295         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
95296
95297 2001-11-05  Jim Meyering  <meyering@lucent.com>
95298
95299         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
95300
95301 2001-11-04  Jim Meyering  <meyering@lucent.com>
95302
95303         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
95304         $DEFS.
95305
95306 2001-11-03  Jim Meyering  <meyering@lucent.com>
95307
95308         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
95309         of AC_DEFUN.
95310
95311         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
95312         know the name of the variable in the macro definition.
95313
95314 2001-11-03  Jim Meyering  <meyering@lucent.com>
95315
95316         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
95317         in argmatch_to_argument call.
95318
95319         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
95320         argument.
95321
95322         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
95323         e.g., a fault due to an attempt to free a NULL pointer.
95324
95325 2001-11-01  Jim Meyering  <meyering@lucent.com>
95326
95327         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
95328         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
95329
95330 2001-11-01  Jim Meyering  <meyering@lucent.com>
95331
95332         * lib/dirfd.c, lib/dirfd.h: New files.
95333         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
95334
95335         * lib/hash.c (hash_print) [TESTING]: Clean up.
95336
95337 2001-10-22  Paul Eggert  <eggert@twinsun.com>
95338
95339         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
95340         to avoid a warning if -Wall.
95341
95342 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
95343
95344         * README: New file
95345         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
95346         (per RMS's instructions, this is now the canonical source)
95347         * lgpl/, gpl/: New directories.
95348
95349 2001-10-21  Paul Eggert  <eggert@twinsun.com>
95350
95351         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
95352
95353 2001-10-21  Jim Meyering  <meyering@lucent.com>
95354
95355         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
95356         this code would end up calling gettext even in packages built
95357         with --disable-nls.
95358         * lib/getopt.c (_): Likewise.
95359         * lib/regex.c (_): Likewise.
95360
95361 2001-10-20  Paul Eggert  <eggert@twinsun.com>
95362
95363         * m4/error.m4 (jm_PREREQ_ERROR):
95364         Do not invoke AC_CHECK_FUNCS with strerror_r, as
95365         AC_FUNC_STRERROR_R does that.
95366         Check for strerror declaration.
95367
95368         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
95369         are supposed to have them these days.
95370         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
95371         Merge changes from latest Autoconf CVS.
95372         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
95373         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
95374         POSIX decided to standardize on the int flavor of strerror_r.
95375
95376 2001-10-20  Paul Eggert  <eggert@twinsun.com>
95377
95378         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
95379         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
95380         Use strerror_r that is only a macro, even if it is not a function.
95381         (strerror): Check for HAVE_DECL_STRERROR before declaring.
95382         (private_strerror): Use prototypes, not old-style function definition.
95383         (print_errno_message): New function.
95384         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
95385         char*-flavored one.
95386         (error_tail, error, error_at_line): Use it.
95387
95388 2001-10-11  Jim Meyering  <meyering@lucent.com>
95389
95390         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
95391         and quote_n (1, ... to avoid clobbering a buffer.
95392
95393 2001-10-05  Jim Meyering  <meyering@lucent.com>
95394
95395         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
95396         hash-pjw.h.
95397         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
95398         * lib/hash-pjw.h: New file.
95399
95400 2001-09-30  Jim Meyering  <meyering@lucent.com>
95401
95402         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
95403         `struct fsstat' has the `f_fstypename' member.
95404         Use that to define FS_TYPE, which is now used to make
95405         the getfsstat link test tighter.
95406
95407 2001-09-30  Jim Meyering  <meyering@lucent.com>
95408
95409         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
95410         Include <sys/ucred.h>, for Apple Darwin.
95411         Include sys/mount.h and sys/fs_types.h only if available.
95412         (FS_TYPE): Define.
95413         (read_filesystem_list): Use FS_TYPE.
95414
95415 2001-09-29  Paul Eggert  <eggert@twinsun.com>
95416
95417         * lib/exclude.c (excluded_filename): 0 -> false, since it's
95418         a boolean context.
95419
95420 2001-09-29  Jim Meyering  <meyering@lucent.com>
95421
95422         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
95423         [one-argument getmntent function]): Include stdio.h before mntent.h.
95424         SunOS 4.1.x needs it for the declaration of `FILE'.
95425         Patch by Volker Borchert.
95426
95427         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
95428         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
95429         sys/fs_types.h, and make the link-test for getfsstat guard #include
95430         directives with appropriate #if HAVE_*_H tests so that we can
95431         detect getfsstat on Apple Darwin1.3.7 systems.
95432         Reported by Nelson Beebe.
95433         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
95434
95435 2001-09-28  Paul Eggert  <eggert@twinsun.com>
95436
95437         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
95438         #defines strtoimax.  Also treat the other strto* functions
95439         like strtoimax.
95440
95441         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
95442         Check for strtoul and strtoumax,
95443         as those declarations are made even in the signed case.
95444         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
95445         Likewise, for strtol and strtoimax.
95446
95447 2001-09-28  Paul Eggert  <eggert@twinsun.com>
95448
95449         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
95450         #defines strtoimax.  Also treat the other strto* functions
95451         like strtoimax.
95452
95453         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
95454         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
95455         (strtoimax, strtoumax): Do not declare if already defined as a macro.
95456
95457 2001-09-26  Jim Meyering  <meyering@lucent.com>
95458
95459         Most macros in unlocked-io.h had the wrong number of arguments.
95460         * lib/gen-uio: New script.
95461         (USE_UNLOCKED_IO): Define to 1 if not already defined.
95462         * lib/unlocked-io.hin: Remove file.
95463         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
95464         rather than trying to embed it here.
95465         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
95466         Reported by Padraig Brady.
95467
95468 2001-09-25  Volker Borchert  <bt@teknon.de>
95469
95470         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
95471         `result'.
95472
95473 2001-09-24  Jim Meyering  <meyering@lucent.com>
95474
95475         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
95476
95477 2001-09-23  Jim Meyering  <meyering@lucent.com>
95478
95479         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
95480         instead of the mere test for existence of mntent.h.  The latter
95481         would get a false-positive on AIX 3.4 systems.
95482         In the outer getmntent if-block, don't die if neither of the getmntent
95483         tests succeeds.  Instead, just fall through and continue with the
95484         remaining tests.
95485
95486 2001-09-23  Jim Meyering  <meyering@lucent.com>
95487
95488         * lib/mountlist.c: Remove useless parentheses in #if directives.
95489         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
95490         the deprecated MOUNTED symbol is no longer defined in mntent.h.
95491
95492 2001-09-22  Jim Meyering  <meyering@lucent.com>
95493
95494         * m4/gettext.m4: New file.  From gettext.
95495         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
95496         * m4/progtest.m4: Likewise
95497         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
95498         * m4/glibc21.m4: Likewise.
95499
95500         * m4/libintl.m4: Remove.  No longer used.
95501
95502 2001-09-22  Jim Meyering  <meyering@lucent.com>
95503
95504         * lib/localcharset.c: Update from latest gettext.
95505         * lib/config.charset: Likewise.
95506
95507 2001-09-20  Jim Meyering  <meyering@lucent.com>
95508
95509         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
95510         strtoimax.
95511         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
95512         strtoumax.
95513
95514 2001-09-20  Jim Meyering  <meyering@lucent.com>
95515
95516         * lib/xstrtol.c (strtoimax): Guard declaration with
95517         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
95518         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
95519         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
95520         (strtoumax): Likewise, for completeness (it wasn't necessary).
95521
95522 2001-09-17  Paul Eggert  <eggert@twinsun.com>
95523
95524         * lib/strtoimax.c (HAVE_LONG_LONG):
95525         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
95526         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
95527         to work around bug in IBM C compiler.
95528
95529 2001-09-17  Jim Meyering  <meyering@lucent.com>
95530
95531         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
95532         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
95533         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
95534         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
95535         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
95536         whenever the right hand side need not be expanded by the shell.
95537
95538 2001-09-16  Paul Eggert  <eggert@twinsun.com>
95539
95540         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
95541         library.  It's not correct, as some older glibcs are buggy.
95542         fnmatch wasn't fixed until glibc 2.2.
95543
95544         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
95545         special shell magic here.
95546
95547 2001-09-16  Jim Meyering  <meyering@lucent.com>
95548
95549         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
95550         * m4/jm-macros.m4: Require it.
95551
95552 2001-09-16  Jim Meyering  <meyering@lucent.com>
95553
95554         * lib/mkdir.c: New file.
95555
95556 2001-09-15  Jim Meyering  <meyering@lucent.com>
95557
95558         * m4/jm-macros.m4: Check for help2man.
95559
95560 2001-09-11  Jim Meyering  <meyering@lucent.com>
95561
95562         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
95563         The body, by Paul Eggert, was moved here from configure.in.
95564         * m4/jm-macros.m4: Require UTILS_HOST_OS.
95565
95566 2001-09-04  Paul Eggert  <eggert@twinsun.com>
95567
95568         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
95569         (jm_PREREQ): Use it.
95570
95571 2001-09-04  Paul Eggert  <eggert@twinsun.com>
95572
95573         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
95574         Use ssize_t, not int, to store result of readlink.
95575         Check for ssize_t overflow as well as size_t overflow,
95576         as POSIX says the result of readlink is implementation-defined
95577         when ssize_t overflows.
95578         Remove unnecessary cast to char*.
95579         Use free+malloc instead of realloc, as the storage doesn't need
95580         to be preserved and it's clearer and can be more efficient that way.
95581         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
95582         * lib/xreadlink.h (xreadlink): Update prototype.
95583
95584 2001-09-04  Paul Eggert  <eggert@twinsun.com>
95585
95586         * lib/xgetcwd.c: Revert some of the previous change; intead,
95587         fix the HAVE_GETCWD_NULL code to behave more like the
95588         !HAVE_GETCWD_NULL code used to.
95589
95590         Include "xalloc.h".
95591         (xgetcwd): Do not return NULL when memory is exhausted; instead,
95592         invoke xalloc_die.
95593
95594 2001-09-03  Paul Eggert  <eggert@twinsun.com>
95595
95596         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
95597         sys/param.h, as pathmax.h includes them.
95598
95599 2001-09-03  Paul Eggert  <eggert@twinsun.com>
95600
95601         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
95602         (jm_PREREQ_XGETCWD): New macro.
95603
95604         * m4/getcwd.m4: New file.
95605
95606 2001-09-03  Paul Eggert  <eggert@twinsun.com>
95607
95608         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
95609         like the HAVE_GETCWD_NULL code.
95610         Include pathmax.h if not HAVE_GETCWD.
95611         Do not include xalloc.h.
95612         (INITIAL_BUFFER_SIZE): New symbol.
95613         Do not use xmalloc / xrealloc, since the caller is responsible for
95614         handling errors.  Preserve errno around `free' during failure.
95615         Do not overrun buffer when using getwd.
95616
95617 2001-09-03  Paul Eggert  <eggert@twinsun.com>
95618
95619         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
95620         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
95621         getcwd (NULL, 0).
95622
95623 2001-09-03  Paul Eggert  <eggert@twinsun.com>
95624
95625         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
95626         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
95627         spotted by Jim Meyering.
95628
95629 2001-09-03  Jim Meyering  <meyering@lucent.com>
95630
95631         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
95632         failure.
95633
95634 2001-09-02  Jim Meyering  <meyering@lucent.com>
95635
95636         * lib/error.c: Update from GNU libc.
95637
95638 2001-09-01  Jim Meyering  <meyering@lucent.com>
95639
95640         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
95641         Used by df.
95642
95643 2001-09-01  Jim Meyering  <meyering@lucent.com>
95644
95645         * lib/xreadlink.c: New file.
95646         * lib/xreadlink.h: New file.
95647         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
95648         xreadlink.h.
95649
95650         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
95651         doesn't conflict with sparc Solaris 7's definition in
95652         /usr/include/sys/int_types.h.
95653
95654         * lib/exclude.c: Use `""', not `<>' to #include non-system header
95655         files.
95656         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
95657         and strncasecmp as r-values.  Unixware didn't have declarations.
95658
95659 2001-08-31  Paul Eggert  <eggert@twinsun.com>
95660
95661         * lib/xstrtol.h: Add copyright notice.
95662         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
95663         LONGINT_INVALID_SUFFIX_CHAR.
95664
95665 2001-08-31  Paul Eggert  <eggert@twinsun.com>
95666
95667         * lib/xstrtol.c (strtoimax): New decl.
95668
95669 2001-08-31  Paul Eggert  <eggert@twinsun.com>
95670
95671         * lib/xgetcwd.c: Don't include pathmax.h.
95672         Include stdlib.h and unistd.h if available.
95673         Include xalloc.h.
95674         (xmalloc, xstrdup, free): Remove decls.
95675         (xgetcwd): Don't assume sizes fit in unsigned.
95676         Check for overflow when computing sizes.
95677         Simplify reallocation code.
95678
95679 2001-08-31  Paul Eggert  <eggert@twinsun.com>
95680
95681         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
95682         a directory's st_size can have an arbitrary value, so the old
95683         usage could waste an arbitrary amount of memory.  All uses
95684         changed.
95685         * lib/savedir.h: Update prototype.
95686
95687 2001-08-31  Paul Eggert  <eggert@twinsun.com>
95688
95689         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
95690
95691         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
95692         old strtoimax.c.
95693
95694         Also, make the following further changes to make this file's
95695         configuration more similar to that of strtol.c:
95696         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
95697         (strtoumax, uintmax_t, strtoull, strtol): Remove.
95698         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
95699         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
95700         changed to signed values.
95701
95702         And make the following changes as well:
95703         Fix copyright notice, as 1999 was missing.
95704         (verify): New macro.
95705         (strtoimax): Check sizes at compile-time, not run-time.
95706         Prefer strtol to strtoll if both work.
95707         (main): Remove; it was not that useful and was a pain to maintain.
95708
95709         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
95710
95711 2001-08-31  Jim Meyering  <meyering@lucent.com>
95712
95713         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
95714         Use an initial, malloc'd, buffer of length 128 rather than
95715         a statically allocated one of length 1024.
95716
95717 2001-08-30  Paul Eggert  <eggert@twinsun.com>
95718
95719         Simplify code, partly by assuming autoconf 2.52 semantics.
95720
95721         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
95722
95723         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
95724         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
95725         All uses removed.
95726         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
95727         Move AC_REQUIRE to next-to-top level, to avoid confusion.
95728         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
95729         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
95730         jm_AC_HEADER_INTTYPES_H.
95731         * m4/jm-macros.m4 (jm_MACROS): Likewise.
95732
95733         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
95734
95735         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
95736         Quote first arg of AC_DEFUN.
95737         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
95738         since they are needed to parse the include file even if we need
95739         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
95740         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
95741         but with opposite signedness.
95742
95743 2001-08-30  Paul Eggert  <eggert@twinsun.com>
95744
95745         Merge 'exclude' changes from tar 1.13.22.
95746         This fixes one or two unlikely storage allocation overflow bugs,
95747         but doesn't change user-visible behavior otherwise.
95748
95749 2001-08-30  Paul Eggert  <eggert@twinsun.com>
95750
95751         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
95752         (jm_PREREQ_EXCLUDE): New macro.
95753
95754 2001-08-30  Paul Eggert  <eggert@twinsun.com>
95755
95756         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
95757         tm to be declared.
95758
95759 2001-08-30  Paul Eggert  <eggert@twinsun.com>
95760
95761         * lib/hash.c: Remove '2001' from copyright notice.
95762
95763 2001-08-30  Paul Eggert  <eggert@twinsun.com>
95764
95765         * lib/full-write.h: New file.
95766         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
95767         * lib/full-write.c: Correct credits, as cccp.c no longer
95768         exists and anyway it was so heavily changed from the old cccp
95769         code as to be unrecognizable.  Include full-write.h.
95770         (full_write): Return size_t, with short writes meaning failure.
95771         All callers changed.  This fixes a bug with large buffers
95772         on 64-bit hosts.
95773         * lib/utime.c: Include full-write.h.
95774
95775 2001-08-30  Paul Eggert  <eggert@twinsun.com>
95776
95777         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
95778         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
95779         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
95780         Include if available.
95781         (<xalloc.h>): Include
95782         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
95783         (verify): New macro.  Use it to verify that EXCLUDE macros do not
95784         collide with FNM macros.
95785         (struct patopts): New struct.
95786         (struct exclude): Use it, as exclude patterns now come with options.
95787         (new_exclude): Support above changes.
95788         (new_exclude, add_exclude_file):
95789         Initial size must now be a power of two to simplify overflow checking.
95790         (free_exclude, fnmatch_no_wildcards): New function.
95791         (excluded_filename): No longer requires options arg, as the options
95792         are determined by add_exclude.  Now returns bool, not int.
95793         (excluded_filename, add_exclude):
95794         Add support for the fancy new exclusion options.
95795         (add_exclude, add_exclude_file): Now takes int options arg.
95796         Check for arithmetic overflow when computing sizes.
95797         (add_exclude_file): xrealloc might modify errno, so don't
95798         realloc until after errno might be used.
95799
95800         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
95801         New macros.
95802         (free_exclude): New decl.
95803         (add_exclude, add_exclude_file): Now takes int options arg.
95804         (excluded_filename): No longer requires options arg, as the options
95805         are determined by add_exclude.  Now returns bool, not int.
95806
95807 2001-08-30  Paul Eggert  <eggert@twinsun.com>
95808
95809         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
95810
95811 2001-08-27  Jim Meyering  <meyering@lucent.com>
95812
95813         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
95814
95815         * lib/version-etc.c (N_): Remove definition.
95816         Revert most of last change.
95817         Instead, simply don't mark the `Copyright...' string for translation.
95818         Based on advice from Paul Eggert.
95819
95820         * lib/strtoxmax.c: Tweak comment.
95821
95822 2001-08-26  Jim Meyering  <meyering@lucent.com>
95823
95824         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
95825
95826         * m4/xstrtoimax.m4: New file.
95827         * m4/xstrtoumax.m4: Add comments explaining why we
95828         AC_REPLACE_FUNCS(strtol).
95829
95830 2001-08-26  Jim Meyering  <meyering@lucent.com>
95831
95832         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
95833         of copyright with `%s' so translators don't get an untranslated
95834         message in 2002.
95835         (COPYRIGHT_YEAR): Define.
95836         (version_etc): Use fprintf rather than fputs.
95837         Suggestion from Ulrich Drepper.
95838
95839         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
95840
95841         * lib/strtoll.c: New file, from GNU libc.
95842         * lib/xstrtoimax.c: New file.
95843
95844         * lib/xstrtol.h: Add xstrtoimax.
95845         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
95846         * lib/strtoimax.c: New file.  Likewise, but first define
95847         STRTOUXMAX_SIGNED.
95848
95849         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
95850         ...
95851         * lib/strtoxmax.c: ... then renamed to this.
95852
95853 2001-08-18  Paul Eggert  <eggert@twinsun.com>
95854
95855         * m4/inttypes.m4: Add AC_PREREQ(2.13).
95856         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
95857         (jm_AC_TYPE_INTMAX_T): New macro.
95858         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
95859
95860         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
95861
95862         * m4/longlong.m4: Renamed from ulonglong.m4.
95863         * m4/inttypes.m4: Renamed from inttypes_h.m4.
95864         * m4/uintmax_t.m4: Removed.
95865
95866 2001-08-13  Paul Eggert  <eggert@twinsun.com>
95867
95868         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
95869         Port to Solaris 8, where 'sed' requires a space after the 'r'
95870         command, and where sh dislikes "$/".  Clean up the spacing a bit.
95871         Redirect output to $tmp just once.
95872
95873 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
95874
95875         * lib/addext.c (<errno.h>): Include.
95876         (errno): Declare if not defined.
95877         (addext): Work correctly when pathconf returns -1 and leaves
95878         errno alone because there is no limit.  Also, work even if
95879         pathconf returns a value greater than SIZE_MAX.
95880
95881 2001-08-12  Jim Meyering  <meyering@lucent.com>
95882
95883         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
95884         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
95885         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
95886         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
95887         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
95888         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
95889         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
95890         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
95891         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
95892         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
95893         utime.m4, utimes.m4, xstrtoumax.m4:
95894         Quote the first argument in each use of AC_DEFUN.
95895
95896 2001-08-12  Jim Meyering  <meyering@lucent.com>
95897
95898         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
95899         Simply `return getcwd (NULL, 0);'.
95900         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
95901         Use 1300 as initial value for length, not PATH_MAX.
95902
95903         * lib/pathmax.h: Clean up cpp syntax.
95904
95905 2001-08-12  Jim Meyering  <meyering@lucent.com>
95906
95907         * lib/gettimeofday.c: New file.
95908         * lib/gtod.h: New file.
95909         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
95910
95911 2001-08-05  Jim Meyering  <meyering@lucent.com>
95912
95913         * m4/jm-macros.m4: Require autoconf-2.52.
95914
95915 2001-08-04  Jim Meyering  <meyering@lucent.com>
95916
95917         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
95918         stmt, to get in sync with glibc.
95919
95920 2001-08-03  Paul Eggert  <eggert@twinsun.com>
95921
95922         The following changes are from gettext 0.10.39 as maintained by
95923         Bruno Haible.
95924
95925         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
95926         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
95927         with inverted sense.  All uses changed.
95928
95929         * lib/mbswidth.c: Don't include <limits.h>.
95930         Include <stdlib.h> and <string.h> unconditionally.
95931         (iswcntrl, mbsinit, ISCNTRL): New macros.
95932         (mbsnwidth): Use K&R style function declarations.
95933         Don't bother checking for MB_LEN_MAX == 1, since the compiler
95934         can optimize it when MB_CUR_MAX == 1.
95935         The width of control characters is zero, not 1.
95936
95937 2001-08-03  Paul Eggert  <eggert@twinsun.com>
95938
95939         The following changes are from gettext 0.10.39 as maintained by
95940         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
95941
95942         * m4/codeset.m4: Upgrade to serial AM1.
95943         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
95944         all uses changed.  Quote first arg of AC_DEFUN.
95945         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
95946
95947         * m4/iconv.m4: Upgrade to serial AM2.
95948         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
95949         Add --with-libconv-prefix.
95950         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
95951         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
95952         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
95953         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
95954         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
95955
95956         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
95957         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
95958         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
95959         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
95960         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
95961         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
95962         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
95963         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
95964         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
95965
95966         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
95967         string.h any more.
95968
95969         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
95970         not the default value.
95971
95972         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
95973         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
95974         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
95975         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
95976         Also check for iswcntrl, used for wcwidth fallback.
95977         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
95978         to Autoconf 2.13.
95979
95980 2001-08-03  Jim Meyering  <meyering@lucent.com>
95981
95982         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
95983         as it was in the original.  Reported by Paul Eggert.
95984
95985 2001-07-16  Jim Meyering  <meyering@lucent.com>
95986
95987         * m4/gettimeofday.m4: New file.
95988         Prompted by a report from Bernhard Baehr.
95989
95990 2001-07-15  Jim Meyering  <meyering@lucent.com>
95991
95992         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
95993         stuff. Now it's in ../Makefile.cfg.
95994
95995 2001-07-15  Jim Meyering  <meyering@lucent.com>
95996
95997         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
95998         (BUILT_SOURCES): Add unlocked-io.h.
95999         (io_functions): Define.
96000         (unlocked-io.h): New rule.
96001         (DISTCLEANFILES): Add unlocked-io.h.
96002         (all-local): Depend on unlocked-io.h, to ensure it is created.
96003
96004         * lib/unlocked-io.hin: New file
96005
96006         * lib/regex.c: Update from glibc.
96007
96008 2001-07-05  Jim Meyering  <meyering@lucent.com>
96009
96010         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
96011         recommendation.
96012         (libfetish_a_SOURCES): Put all .h files here instead.
96013         Remove a thus-exposed (better checks in automake) duplicate and
96014         two unnecessary .h files.
96015
96016 2001-07-04  Jim Meyering  <meyering@lucent.com>
96017
96018         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
96019         that generates jm-glibc-io.m4 so that it doesn't trigger any make
96020         distcheck failure.
96021
96022 2001-07-02  Jim Meyering  <meyering@lucent.com>
96023
96024         The following changes were prompted by suggestions from Bruno Haible.
96025
96026         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
96027         is now generated.
96028         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
96029         definition of EXTRA_DIST.
96030         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
96031         ensure that the generated file is created/updated whenever the list
96032         of $(unlocked_functions) is changed.
96033         (jm-glibc-io.m4): New rule.
96034         (unlocked-io.h): New rule -- currently unused.
96035
96036 2001-06-24  Jim Meyering  <meyering@lucent.com>
96037
96038         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
96039         unmatched right bracket, rather than kludging it with an extra,
96040         falsely-matching quote in a comment.  Patch by Akim Demaille.
96041
96042 2001-06-11  Jim Meyering  <meyering@lucent.com>
96043
96044         * lib/regex.c: Update from GNU libc.
96045
96046 2001-05-27  Jim Meyering  <meyering@lucent.com>
96047
96048         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
96049         Check for ut_type in struct utmp.
96050
96051 2001-05-27  Jim Meyering  <meyering@lucent.com>
96052
96053         * lib/readutmp.h (UT_TYPE): Define.
96054
96055 2001-05-24  Jim Meyering  <meyering@lucent.com>
96056
96057         * lib/argmatch.c: Include "quote.h".
96058         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
96059         quote function.  Reported by Göran Uddeborg.
96060
96061 2001-05-22  Jim Meyering  <meyering@lucent.com>
96062
96063         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
96064         now that we use the package-supplied version unconditionally.
96065         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
96066
96067 2001-05-21  Jim Meyering  <meyering@lucent.com>
96068
96069         * m4/regex.m4: Change a couple backticks to single quotes to avoid
96070         shell syntax errors.
96071
96072 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
96073
96074         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
96075
96076 2001-05-20  Paul Eggert  <eggert@twinsun.com>
96077
96078         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
96079         Don't bother to check library strftime, since
96080         we'll be using our own my_strftime function anyway.
96081         Define my_strftime instead of strftime.
96082
96083 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
96084
96085         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
96086         which is not yet declared.
96087
96088 2001-05-15  Jim Meyering  <meyering@lucent.com>
96089
96090         * m4/regex.m4: Use proper quoting so brackets appear in the test
96091         program.
96092         Reported by, and with help from, Bruno Haible.
96093
96094 2001-05-13  Jim Meyering  <meyering@lucent.com>
96095
96096         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
96097         undefined.
96098
96099 2001-05-11  Paul Eggert  <eggert@twinsun.com>
96100
96101         dirname code cleanup.  base_name now behaves more compatibly
96102         with POSIX basename when given file names that have trailing
96103         slashes, and similarly for dir_name.  Add new primitives
96104         base_len and dir_len.  Put the directory-name-related decls
96105         into dirname.h.
96106
96107         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
96108         * lib/backupfile.c (base_name): Likewise.
96109         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
96110         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
96111         * lib/makepath.c (strip_trailing_slashes): Likewise.
96112         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
96113         ISSLASH): Likewise.
96114         * lib/rename.c (strip_trailing_slashes): Likewise.
96115         * lib/same.c (base_name): Likewise.
96116         * lib/stripslash.c (ISSLASH): Likewise.
96117
96118         * lib/addext.c: Include <dirname.h> after size_t is defined.
96119         * lib/backupfile.c: Likewise.
96120
96121         * lib/addext.c (addext): Use base_len to trim redundant
96122         trailing slashes instead of doing it ourselves.
96123         But do not trim the last slash if it is not redundant.
96124
96125         * lib/backupfile.c (find_backup_file_name,
96126         max_backup_version): Use base_len instead of rolling it ourselves.
96127         Handle the case of "" and (on DOS) "C:" correctly.
96128
96129         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
96130         needed. Include <string.h>, <dirname.h>.
96131         (base_name): Allow file names ending in slashes, other than names
96132         that are all slashes.  In this case, return the basename followed
96133         by the slashes.  This is more general, and can be used in places
96134         where the original base_name purposely had an assertion failure.
96135         (base_len): New function.
96136
96137         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
96138         Do not include <assert.h>; no longer needed.
96139         Include xalloc.h.
96140         (memrchr): Remove decl.
96141         (dir_name_r): Remove.
96142         (dir_len): Renamed from dirlen.  All callers changed.
96143         Rewrite in terms of base_name, for simplicity and consistency.
96144         (dir_name): Never return NULL.  All callers changed.
96145         Do not include <stdlib.h> in test program; no longer needed.
96146         return 0; is fine for test program.
96147
96148         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
96149         New macros.
96150         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
96151
96152         * lib/path-concat.c (path_concat): Use base_len to compute
96153         base length, not strlen; this means we cannot rely on memcpy
96154         to null-terminate.
96155
96156         * lib/same.c (STREQ): Remove.
96157         (same_name): Handle the case where the basename ends in trailing '/'.
96158
96159         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
96160         a slash was stripped.  Do not strip the last slash after a
96161         file system prefix.
96162
96163 2001-05-11  Paul Eggert  <eggert@twinsun.com>
96164
96165         * lib/Makefile.am (libfetish_a_SOURCES):
96166         Add strftime.c, since we now compile it on all hosts.
96167
96168         * lib/strftime.c (my_strftime):
96169         Define to nstrftime if emacs, but only if my_strftime is not defined.
96170         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
96171         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
96172         Add one more extra argument: a nanoseconds value.
96173         All uses changed.
96174         (ns): New macro.
96175         (my_strftime function): Add %N format.
96176         (emacs_strftimeu): Renamed from emacs_strftime,
96177         with extra ut argument.
96178
96179 2001-05-09  Paul Eggert  <eggert@twinsun.com>
96180
96181         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
96182
96183 2001-04-21  Jim Meyering  <meyering@lucent.com>
96184
96185         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
96186         doesn't interfere.
96187
96188 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
96189
96190         * m4/ftruncate.m4: Check for chsize.
96191         Link with ftruncate.o unconditionally if ftruncate is missing.
96192         This was required when cross-compiling to i586-mingw32msvc.
96193
96194 2001-04-08  Jim Meyering  <meyering@lucent.com>
96195
96196         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
96197         recomputed; that's necessary when the offset spans a DST transition.
96198         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
96199
96200 2001-04-02  Jim Meyering  <meyering@lucent.com>
96201
96202         * lib/regex.h, regex.c: Update from GNU libc.
96203
96204 2001-03-24  Jim Meyering  <meyering@lucent.com>
96205
96206         * m4/jm-macros.m4: Require autoconf-2.49d.
96207
96208 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
96209
96210         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
96211
96212 2001-03-19  Paul Eggert  <eggert@twinsun.com>
96213
96214         * lib/version-etc.c (version_etc_copyright): Update to 2001.
96215
96216 2001-03-17  Jim Meyering  <meyering@lucent.com>
96217
96218         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
96219         now that the version in autoconf is equivalent.
96220         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
96221
96222         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
96223         Suggestion from Akim Demaille.
96224
96225         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
96226         (jm_PREREQ_TEMPNAME): New function.
96227
96228 2001-03-16  Paul Eggert  <eggert@twinsun.com>
96229
96230         * lib/tempname.c (uint64_t): Define to uintmax_t if
96231         not defined, and if UINT64_MAX is not defined.
96232         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
96233         Reported by John David Anglin.
96234
96235 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
96236
96237         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
96238         resolve alias if codeset is empty.
96239         * lib/config.charset (BeOS): Use wildcard syntax.
96240
96241 2001-03-13  Jim Meyering  <meyering@lucent.com>
96242
96243         * lib/path-concat.c (path_concat)
96244         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
96245         concatenating e.g., `C:' and `foo'.
96246         From Bruno Haible.
96247
96248 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
96249
96250         * lib/localcharset.c (locale_charset): Don't use
96251         setlocale(LC_CTYPE,NULL). Don't return NULL.
96252         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
96253
96254 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
96255
96256         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
96257         support for DOS/DJGPP.
96258
96259 2001-03-01  Paul Eggert  <eggert@twinsun.com>
96260
96261         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
96262         lacks mkstemp.  Compile our own tempname.c if we compile our own
96263         mkstemp.c, as mkstemp relies on tempname.
96264
96265 2001-03-01  Jim Meyering  <meyering@lucent.com>
96266
96267         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
96268         AH_VERBATIM really does output its argument verbatim.
96269
96270 2001-02-28  Paul Eggert  <eggert@twinsun.com>
96271
96272         * lib/Makefile.am (libfetish_a_SOURCES):
96273         Add dup-safer.c, fopen-safer.c.
96274         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
96275
96276         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
96277         * lib/unistd-safer.h: New files.
96278
96279 2001-02-25  Paul Eggert  <eggert@twinsun.com>
96280
96281         The mkstemp replacement is taken from glibc 2.2.2, with some
96282         portability fixes for use outside glibc, as follows:
96283
96284         * lib/tempname.c (struct_stat64): New macro.
96285         (direxists, __gen_tempname): Use it.
96286         This avoids a portability problem with Solaris 8.
96287
96288         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
96289         (<stddef.h>, <stdint.h>, <string.h>):
96290         Include only if STDC_HEADERS || _LIBC.
96291         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
96292         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
96293         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
96294         (__set_errno): Define this macro if <errno.h> doesn't.
96295         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
96296         Define these macros if <stdio.h> doesn't.
96297         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
96298         Define these macros if <sys/stat.h>
96299         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
96300         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
96301         __xstat64): Define if not _LIBC.
96302         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
96303         (__gen_tempname): Invoke gettimeofday only if
96304         HAVE_GETTIMEOFDAY || _LIBC;
96305         otherwise, fall back on plain "time".
96306         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
96307
96308         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
96309
96310         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
96311
96312 2001-02-18  Paul Eggert  <eggert@twinsun.com>
96313
96314         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
96315
96316 2001-02-17  Paul Eggert  <eggert@twinsun.com>
96317
96318         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
96319         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
96320         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
96321         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
96322
96323 2001-02-17  Paul Eggert  <eggert@twinsun.com>
96324
96325         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
96326         Remove workaround macros for hosts that have mbrtowc but not
96327         mbstate_t, as we now insist on proper declarations for both
96328         before using mbrtowc.
96329
96330 2001-02-17  Jim Meyering  <meyering@lucent.com>
96331
96332         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
96333         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
96334         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
96335         UnixWare 7.1.1.
96336
96337         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
96338         rather than AC_CACHE_VAL.
96339
96340 2001-02-17  Jim Meyering  <meyering@lucent.com>
96341
96342         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
96343         around included file name.
96344
96345         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
96346
96347         * lib/strftime.c: Update from GNU libc (the only changes were to
96348         comments).
96349
96350 2001-02-17  Jim Meyering  <meyering@lucent.com>
96351
96352         * lib/regex.c: Update from libc.
96353
96354 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
96355
96356         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
96357         clash.
96358
96359 2001-02-16  Paul Eggert  <eggert@twinsun.com>
96360
96361         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
96362         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
96363         Reported by Mark Hounschell via Paul Eggert.
96364
96365 2001-02-07  Jim Meyering  <meyering@lucent.com>
96366
96367         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
96368
96369 2001-02-05  Jim Meyering  <meyering@lucent.com>
96370
96371         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
96372         it includes the patch required for `large file' support with at least
96373         HP-UX's 10.20 /bin/cc.
96374
96375 2001-02-03  Jim Meyering  <meyering@lucent.com>
96376
96377         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
96378         AS_IF, now that it works once again (mysteriously).
96379         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
96380
96381 2001-01-30  Jim Meyering  <meyering@lucent.com>
96382
96383         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
96384         * m4/chown.m4: Rename conftestchown to conftest.chown.
96385         * m4/rename.m4: s/conftestdir/conftest.d1/ and
96386         s/conftestdir2/conftest.d2/.
96387         * m4/utimes.m4: s/conftestdata/conftest.data/
96388         Inspired by Pavel Roskin's change in autoconf.
96389
96390 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
96391
96392         * lib/config.charset: Update for FreeBSD 4.2.
96393
96394 2001-01-27  Jim Meyering  <meyering@lucent.com>
96395
96396         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
96397         a use of AS_IF.
96398         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
96399
96400 2001-01-26  Jim Meyering  <meyering@lucent.com>
96401
96402         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
96403         quotearg.c includes it.
96404
96405 2001-01-26  Jim Meyering  <meyering@lucent.com>
96406
96407         * lib/quotearg.c: Include stddef.h.
96408         * lib/quote.c: Include stddef.h.
96409         Reported by Axel Kittenberger.
96410
96411         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
96412         line in double quotes so that it evokes a better diagnostic.
96413         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
96414         Reported by Axel Kittenberger.
96415
96416 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
96417
96418         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
96419         as if it was a `charset'.
96420
96421 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
96422
96423         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
96424         has const.
96425
96426 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
96427
96428         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
96429         to avoid a warning.  Add back 'const' to inptr.
96430
96431 2001-01-20  Jim Meyering  <meyering@lucent.com>
96432
96433         Be sure that headers are checked before used in code compiled
96434         for the type checks.
96435         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
96436         In place of that, invoke jm_CHECK_ALL_TYPES.
96437         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
96438         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
96439         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
96440         The check for ssize_t was mistakenly run before the test for unistd.h.
96441
96442         The configure-time check for stdbool.h was missing.
96443         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
96444         (jm_PREREQ_HASH): New function.
96445
96446 2001-01-17  Jim Meyering  <meyering@lucent.com>
96447
96448         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
96449         for autoconf-2.49c.
96450         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
96451
96452 2001-01-16  Jim Meyering  <meyering@lucent.com>
96453
96454         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
96455         From Bruno Haible.
96456
96457 2001-01-14  Jim Meyering  <meyering@lucent.com>
96458
96459         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
96460         foo and bar.  Create conftestdir/ in the script, not in the C code.
96461         Remove directories in the script, not in the C code.
96462         Remove conftestdir{,2} before trying to create the directory.
96463         Make the entire configure script fail if the mkdir fails.
96464
96465 2001-01-14  Jim Meyering  <meyering@lucent.com>
96466
96467         * lib/rename.c: New file.  From Volker Borchert.
96468         Include stdlib.h, string.h or strings.h, and xalloc.h.
96469         Use strip_trailing_slashes rather than open-coding it.
96470
96471 2001-01-03  Paul Eggert  <eggert@twinsun.com>
96472
96473         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
96474
96475 2001-01-03  Jim Meyering  <meyering@lucent.com>
96476
96477         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
96478         of local `inptr' to avoid warning with some system declarations of
96479         iconv.
96480
96481 2001-01-02  Volker Borchert  <bt@teknon.de>
96482
96483         * m4/rename.m4: New file.
96484         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
96485
96486 2001-01-01  Jim Meyering  <meyering@lucent.com>
96487
96488         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
96489         even on systems with utmpx.h.  It's necessary for the declaration of
96490         utmp's ut_user member.  Reported by Andreas Jaeger.
96491
96492         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
96493         available. They are required for the declarations of getgrgid and
96494         getpwuid resp.
96495         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
96496         Reported by Andreas Jaeger.
96497
96498 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
96499
96500         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
96501         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
96502         so `make install' also works in VPATH builds.
96503
96504 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
96505
96506         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
96507         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
96508         can be used in subdirectories.
96509
96510 2000-12-29  Paul Eggert  <eggert@twinsun.com>
96511
96512         * lib/modechange.c: Do not assume that mode_t uses the
96513         traditional octal encoding.  E.g. "chmod 1 FOO" should set
96514         the other-execute bit of FOO even if S_IXOTH != 1.
96515
96516         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
96517         WOTH, XOTH, ALLM): New macros.
96518         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
96519          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
96520         Use them.
96521         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
96522         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
96523         (mode_compile):
96524         No need to use uintmax_t; unsigned long is long enough.
96525         Don't bother to get suffix since we don't use it.
96526
96527 2000-12-26  Jim Meyering  <meyering@lucent.com>
96528
96529         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
96530         better with autoheader.
96531
96532 2000-12-24  Jim Meyering  <meyering@lucent.com>
96533
96534         * lib/hash.c (is_prime): Return explicit boolean values.
96535         (hash_get_first): Return NULL to appease Irix5.6's 89.
96536         Reported by Nelson Beebe.
96537
96538 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
96539
96540         * lib/localcharset.c (locale_charset): Add support for Win32.
96541
96542 2000-12-18  Paul Eggert  <eggert@twinsun.com>
96543
96544         * lib/physmem.h, lib/physmem.c: New files.
96545
96546         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
96547         (noinst_HEADERS): Add physmem.h.
96548
96549         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
96550         't' for compatibility with Solaris 8 sort.
96551
96552 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
96553
96554         * lib/config.charset: Add support for BeOS.
96555
96556 2000-12-17  Jim Meyering  <meyering@lucent.com>
96557
96558         * m4/dos.m4 (jm_AC_DOS): New file and macro.
96559         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
96560
96561 2000-12-16  Jim Meyering  <meyering@lucent.com>
96562
96563         This bug had a serious impact on chown: `chown N:M FILE' (for integer
96564         N and M) would have treated it like `chown N:N FILE'.
96565
96566         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
96567
96568 2000-12-16  Jim Meyering  <meyering@lucent.com>
96569
96570         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
96571         SHELLS_FILE to a file name that's useful on djgpp systems.
96572         Include stdlib.h.
96573         (ADDITIONAL_DEFAULT_SHELLS): Define.
96574         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
96575         Based mostly on a patch from Prashant TR.
96576
96577 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
96578
96579         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
96580         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
96581         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
96582
96583 2000-12-08  Andreas Schwab  <schwab@suse.de>
96584
96585         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
96586         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
96587
96588 2000-12-07  Jim Meyering  <meyering@lucent.com>
96589
96590         * lib/stripslash.c (ISSLASH): Define.
96591         (strip_trailing_slashes): Use ISSLASH rather than comparing against
96592         `/'.
96593         From Prashant TR.
96594
96595         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
96596         (dir_name_r): Declare this function as static.
96597         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
96598         manifest itself on a name containing a mix of slashes and
96599         backslashes.
96600         Make this function work with names starting with a DOS-style
96601         drive letter and colon prefix.
96602         (dir_name): Append `.' if necessary.
96603         Based mostly on patches from Prashant TR and Eli Zaretskii.
96604
96605         * lib/dirname.h (dir_name_r): Remove prototype.
96606
96607 2000-12-06  Paul Eggert  <eggert@twinsun.com>
96608
96609         * m4/off_t-format.m4: Remove this file.
96610         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
96611
96612 2000-12-06  Jim Meyering  <meyering@lucent.com>
96613
96614         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
96615         replacement strtoull, we may well need the replacement strtoul, too.
96616         Check for declarations of strtoul and strtoull.
96617         Check for strtol.  Mainly as a cue to cause automake to include
96618         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
96619         Check for limits.h -- strtol.c needs it.
96620
96621 2000-12-05  Jim Meyering  <meyering@lucent.com>
96622
96623         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
96624
96625 2000-12-04  Jim Meyering  <meyering@lucent.com>
96626
96627         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
96628         Also include memory.h, stdlib.h, unistd.h if appropriate.
96629         Reported by Andreas Jaeger (conflicting declaration of malloc).
96630
96631 2000-12-02  Jim Meyering  <meyering@lucent.com>
96632
96633         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
96634         * m4/jm-macros.m4 (jm_MACROS): require it.
96635
96636 2000-12-02  Jim Meyering  <meyering@lucent.com>
96637
96638         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
96639
96640 2000-12-01  Paul Eggert  <eggert@twinsun.com>
96641
96642         * lib/memrchr.c: Include <config.h> before any system include file.
96643
96644 2000-11-30  Jim Meyering  <meyering@lucent.com>
96645
96646         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
96647
96648 2000-11-30  Jim Meyering  <meyering@lucent.com>
96649
96650         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
96651
96652 2000-11-29  Paul Eggert  <eggert@twinsun.com>
96653
96654         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
96655
96656 2000-11-26  Jim Meyering  <meyering@lucent.com>
96657
96658         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
96659
96660 2000-11-22  Paul Eggert  <eggert@twinsun.com>
96661
96662         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
96663         size of (size_t) -1; it's not portable.
96664
96665 2000-11-17  Jim Meyering  <meyering@lucent.com>
96666
96667         * lib/strstr.c: Update from GNU libc.
96668
96669 2000-11-17  Akim Demaille  <akim@epita.fr>
96670
96671         * lib/obstack.h: Formatting changes.
96672         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
96673         prevent type checking.
96674         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
96675         cast the value to (void *): assigning a `foo *' to a `void *'
96676         variable is valid.
96677         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
96678
96679 2000-11-16  Jim Meyering  <meyering@lucent.com>
96680
96681         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
96682
96683 2000-11-11  Jim Meyering  <meyering@lucent.com>
96684
96685         * lib/error.c: Add a couple #includes, merging from GNU libc version.
96686
96687 2000-11-10  Jim Meyering  <meyering@lucent.com>
96688
96689         * lib/obstack.h: Update from GNU libc.
96690         * lib/obstack.c: Likewise.
96691
96692 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
96693
96694         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
96695
96696 2000-11-06  Paul Eggert  <eggert@twinsun.com>
96697
96698         * lib/getusershell.c (setusershell): Use rewind rather than
96699         fseek/fseeko, to avoid configuration hassles with fseeko.
96700         Don't bother opening SHELLS_FILE if shellstream is NULL;
96701         it's not necessary.
96702
96703 2000-11-05  Jim Meyering  <meyering@lucent.com>
96704
96705         * lib/makepath.h (make_dir): Declare.
96706         * lib/makepath.c (make_dir): Remove `static' attribute.
96707         Tweak a comment.
96708
96709 2000-11-04  Jim Meyering  <meyering@lucent.com>
96710
96711         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
96712
96713 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
96714
96715         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
96716         last one in a bucket, advance to the next bucket.
96717
96718 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
96719
96720         * lib/fnmatch.c: Do not comment out all the code if we are using
96721         the GNU C library, because in some cases we are replacing buggy
96722         code in the GNU C library itself.
96723
96724 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
96725
96726         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
96727         (regex_compile): Catch bogus \(\1\).
96728
96729 2000-10-30  Paul Eggert  <eggert@twinsun.com>
96730
96731         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
96732         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
96733         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
96734
96735 2000-10-30  Paul Eggert  <eggert@twinsun.com>
96736
96737         * lib/error.h, getline.h, modechange.h:
96738         Remove "2000" from Copyright line, as the file hasn't been
96739         changed this year other than in the copyright notice.
96740
96741         * lib/xalloc.h: Add "2000" to Copyright line, as this file
96742         was changed this year.
96743
96744 2000-10-29  Jim Meyering  <meyering@lucent.com>
96745
96746         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
96747         renaming.
96748         * m4/ls-mntd-fs.m4: Likewise
96749
96750 2000-10-29  Jim Meyering  <meyering@lucent.com>
96751
96752         * lib/xstat.in: Fix grammar in comment.
96753
96754 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
96755
96756         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
96757         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
96758         doesn't define __restrict_arr.
96759
96760 2000-10-28  Jim Meyering  <meyering@lucent.com>
96761
96762         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
96763         (jm_PREREQ_MEMCHR): New function.
96764
96765 2000-10-28  Jim Meyering  <meyering@lucent.com>
96766
96767         * lib/memchr.c: Update from libc.
96768         Adjust for portability:
96769         [HAVE_STDLIB_H]: Include stdlib.h.
96770         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
96771         Undef __memchr, too.
96772         [!weak_alias]: Define __memchr to memchr.
96773
96774         * lib/regex.c: Update from libc.
96775         * lib/regex.h: Likewise.
96776         * lib/getopt1.c: Likewise.
96777         * lib/memcmp.c: Likewise.
96778
96779         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
96780         Avoid using fseek, when possible -- it's broken by design.
96781         Patch by Ulrich Drepper.
96782
96783 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
96784
96785         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
96786         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
96787         Giving in to popular pressure to shut up the compiler with casts.
96788
96789 2000-10-26  Jim Meyering  <meyering@lucent.com>
96790
96791         * lib/strftime.c: Update from libc.
96792
96793 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
96794
96795         * regex.c: More `unsigned char' -> `re_char' changes.
96796         Also change several `int' into `re_wchar_t'.
96797         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
96798         (PUSH_FAILURE_POINTER): Don't cast any more.
96799         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
96800         We want GCC to complain, since this piece of code makes
96801         re_match non-reentrant, which *should* be fixed.
96802         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
96803         (EXTEND_BUFFER): Use RETALLOC.
96804         (SET_LIST_BIT): Don't cast.
96805         (re_wchar_t): New type.
96806         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
96807         that those two functions will always properly return.
96808         (IMMEDIATE_QUIT_CHECK): Cast to void.
96809         (analyse_first): Use recursion rather than an explicit stack.
96810         (re_compile_fastmap): Can't fail anymore.
96811         (re_search_2): Don't check re_compile_fastmap for failure.
96812         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
96813         Now also sets the new value (passed in a new argument).
96814         (re_match_2_internal): Use it.
96815         Also, use a new var `reg' of type size_t when looping through regs
96816         rather than reuse the inappropriate `mcnt'.
96817
96818 2000-10-25  Jim Meyering  <meyering@lucent.com>
96819
96820         * lib/obstack.c: Update from libc.
96821
96822 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
96823
96824         * regex.c (regex_compile): Change the way of handling a range from
96825         a char less than 256 to a char not less than 256.
96826
96827 2000-10-24  Andrew Innes  <andrewi@gnu.org>
96828
96829         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
96830         NT-Emacs only.
96831         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
96832         so that re_search functions only quit when callers expect them to.
96833
96834 2000-10-23  Jim Meyering  <meyering@lucent.com>
96835
96836         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
96837         wrong.  That set_locale call must not have any side effects.
96838         From Paul Eggert.
96839
96840 2000-10-22  Jim Meyering  <meyering@lucent.com>
96841
96842         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
96843         [CYCLIC]: Remove now-unused definition.
96844
96845         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
96846         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
96847         Suggestion from Ulrich Drepper.
96848
96849 2000-10-21  Jim Meyering  <meyering@lucent.com>
96850
96851         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
96852         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
96853         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
96854
96855 2000-10-21  Jim Meyering  <meyering@lucent.com>
96856
96857         * lib/dirname.c (memrchr): Declare if necessary.
96858         (dir_name): Remove the restriction that there be no
96859         trailing slashes.  Now, this code skips past them, effectively
96860         ignoring them.
96861         [TEST_DIRNAME] (main): New unit tests.
96862
96863         * lib/memrchr.c: New file from GNU libc.
96864         Undef __memrchr, too.
96865         [!weak_alias]: Define __memrchr to memrchr.
96866         Guard weak_alias use with `#ifdef weak_alias'.
96867
96868 2000-10-21  Jim Meyering  <meyering@lucent.com>
96869
96870         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
96871         (dir_name): Use dir_name_r.
96872         * lib/dirname.h (dir_name_r): Declare it.
96873
96874 2000-10-17  Jim Meyering  <meyering@lucent.com>
96875
96876         * lib/quote.h (PARAMS): Define and use.
96877         Reported by Akim Demaille.
96878
96879         * lib/getopt.c: Update from libc.
96880
96881 2000-10-16  Jim Meyering  <meyering@lucent.com>
96882
96883         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
96884         setlocale.
96885         From Jan Fedak.
96886
96887 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
96888
96889         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
96890
96891 2000-09-25  Jim Meyering  <meyering@lucent.com>
96892
96893         * lib/md5.h (rol): Define (from GnuPG).
96894
96895         * lib/sha.c: Give credit (GnuPG) where due.
96896         (M): Use rol rather than open-coding it.
96897         Add a FIXME comment.
96898
96899 2000-09-21  Jim Meyering  <meyering@lucent.com>
96900
96901         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
96902         Reported by Michael Stone.
96903
96904 2000-09-20  Jim Meyering  <meyering@lucent.com>
96905
96906         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
96907         (noinst_HEADERS): Add sha.h.
96908         Based on code from Scott G. Miller and from GnuPG.
96909
96910 2000-09-18  Jim Meyering  <meyering@lucent.com>
96911
96912         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
96913         LIBS. Otherwise, everyone ends up linking with -lelf for some
96914         configurations.
96915         Reported by Mike Stone.
96916
96917 2000-09-15  Jim Meyering  <meyering@lucent.com>
96918
96919         * lib/regex.c: Update from libc.
96920
96921 2000-09-10  Jim Meyering  <meyering@lucent.com>
96922
96923         * lib/getopt.c (_getopt_internal): Update from glibc.
96924
96925 2000-09-09  Jim Meyering  <meyering@lucent.com>
96926
96927         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
96928         think it should be used as a general replacement for isascii.
96929         * lib/fnmatch.c: Likewise.
96930         * lib/mbswidth.c: Likewise
96931         * lib/regex.c: Likewise.
96932
96933         Don't use atoi.
96934         * lib/userspec.c: Include sys/param.h and limits.h.
96935         Include xstrtol.h.
96936         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
96937         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
96938         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
96939         UID, GID.  Check range.
96940
96941 2000-09-06  Jim Meyering  <meyering@lucent.com>
96942
96943         * lib/getopt.c (_getopt_internal): Update from glibc.
96944
96945 2000-08-30  Jim Meyering  <meyering@lucent.com>
96946
96947         * lib/strftime.c: Merge in changes from GNU libc.
96948
96949 2000-08-26  Jim Meyering  <meyering@lucent.com>
96950
96951         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
96952         * m4/fpending.m4: New file.
96953
96954 2000-08-26  Jim Meyering  <meyering@lucent.com>
96955
96956         * lib/closeout.c: Include "__fpending.h".
96957         (close_stdout_status): Return right away if there's nothing to flush.
96958
96959         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
96960         * lib/__fpending.c: New file.
96961         * lib/__fpending.h: New file.
96962
96963 2000-08-20  Jim Meyering  <meyering@lucent.com>
96964
96965         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
96966         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
96967         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
96968
96969 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
96970
96971         Improve fileutils installation on systems where running
96972         programs (like install) can't be unlinked.
96973         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
96974         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
96975
96976 2000-08-07  Paul Eggert  <eggert@twinsun.com>
96977
96978         Standardize on "memory exhausted" instead of "Memory exhausted"
96979         or "virtual memory exhausted".
96980         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
96981         "virtual memory exhausted".
96982         * lib/same.c (same_name): Invoke xalloc_die instead of printing
96983         our own message.
96984         * lib/userspec.c (parse_user_spec): Likewise.
96985         * lib/bumpalloc.h: comment fix
96986         * lib/same.c, userspec.c: Include xalloc.h.
96987
96988         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
96989         not char *const and pointing to a constant array.
96990         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
96991         (xrealloc): Comment fix.
96992
96993         * lib/userspec.c (parse_user_spec):
96994         Don't translate a message until just before returning,
96995         to avoid unnecessary translation.
96996
96997 2000-08-07  Jim Meyering  <meyering@lucent.com>
96998
96999         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
97000         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
97001         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
97002         getgroups.c, gethostname.c, getopt.h, group-member.c,
97003         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
97004         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
97005         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
97006         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
97007         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
97008         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
97009         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
97010         yesno.c: Back out Copyright date changes for each file with no change
97011         this year.  This eases coordination with other programs using the same
97012         source code modules.  From Paul Eggert.
97013
97014 2000-08-06  Paul Eggert  <eggert@twinsun.com>
97015
97016         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
97017         not char, for compatibility with glibc 2.1.3 strftime.c.
97018
97019 2000-08-03  Greg McGary  <greg@mcgary.org>
97020
97021         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
97022         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
97023         (EXTEND_BUFFER): Use them.
97024
97025 2000-08-01  Jim Meyering  <meyering@lucent.com>
97026
97027         * lib/dirname.c (ISSLASH): Define.
97028         (BACKSLASH_IS_PATH_SEPARATOR): Define.
97029         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
97030         both `\' and `/' may be use as path separators.
97031         Based on a patch from Prashant TR.
97032
97033 2000-07-31  Paul Eggert  <eggert@twinsun.com>
97034
97035         * lib/quotearg.c (quotearg_n_options): Don't make the initial
97036         slot vector a constant, since it might get modified.
97037
97038 2000-07-31  Jim Meyering  <meyering@lucent.com>
97039
97040         * lib/xmalloc.c: Use `virtual memory exhausted', not
97041         `Memory exhausted'.
97042         * lib/obstack.c (print_and_abort): Likewise.
97043
97044 2000-07-30  Paul Eggert  <eggert@twinsun.com>
97045
97046         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
97047         buffer, so that the caller can always quote one small
97048         component of a "memory exhausted" message in slot 0.
97049         From a suggestion by Jim Meyering.
97050
97051 2000-07-30  Jim Meyering  <meyering@lucent.com>
97052
97053         * lib/makepath.c (make_path): Quote the other instance, too.
97054
97055         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
97056         (STATIC_BUF_SIZE): Define.
97057         (quotearg_n_options): Use only statically allocated storage when
97058         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
97059         than STATIC_BUF_SIZE.
97060
97061 2000-07-29  Jim Meyering  <meyering@lucent.com>
97062
97063         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
97064         * lib/dirname.c (dir_name): Likewise.
97065
97066         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
97067         `/'.
97068
97069         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
97070         (dir_name): Assert that there are no trailing slashes.
97071
97072 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
97073
97074         * lib/mbswidth.h (mbswidth): Add a flags argument.
97075         (mbswidth): New declaration.
97076         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
97077         * lib/mbswidth.c (mbswidth): Add a flags argument.
97078         (mbsnwidth): New function.
97079
97080 2000-07-24  Jim Meyering  <meyering@lucent.com>
97081
97082         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
97083
97084 2000-07-23  Paul Eggert  <eggert@twinsun.com>
97085
97086         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
97087
97088 2000-07-23  Paul Eggert  <eggert@twinsun.com>
97089
97090         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
97091         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
97092         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
97093         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
97094         invoke multibyte primitives.
97095
97096 2000-07-23  Paul Eggert  <eggert@twinsun.com>
97097
97098         * lib/quotearg.c:
97099         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
97100         so that mbstate_t is always defined.
97101
97102         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
97103         be 1 in at least one GCC installation, and this configuration
97104         error is likely to be common.  Ignoring MB_LEN_MAX hurts
97105         performance on hosts that have mbrtowc but have only unibyte
97106         locales, but I assume these hosts are rare.
97107
97108 2000-07-23  Paul Eggert  <eggert@twinsun.com>
97109
97110         * lib/mbswidth.c (_XOPEN_SOURCE):
97111         Don't define; this causes problems on Solaris 7.
97112         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
97113
97114 2000-07-23  Jim Meyering  <meyering@lucent.com>
97115
97116         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
97117         too: getgrgid, getpwuid, getuid.
97118
97119 2000-07-23  Jim Meyering  <meyering@lucent.com>
97120
97121         * lib/basename.c (base_name): Add an assertion.
97122
97123 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
97124
97125         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
97126         shadow its mbsinit function.
97127
97128 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
97129
97130         * lib/mbswidth.h: New file.
97131         * lib/mbswidth.c: New file.
97132         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
97133         (noinst_HEADERS): Add mbswidth.h.
97134
97135 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
97136
97137         * lib/config.charset: Add support for FreeBSD. Improve support for
97138         HP-UX and IRIX 6.
97139
97140 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
97141
97142         * m4/mbswidth.m4: New file.
97143         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
97144
97145 2000-07-15  Jim Meyering  <meyering@lucent.com>
97146
97147         * lib/makepath.c: Include quote.h.
97148         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
97149         corresponding argument in a `quote (...)' call.
97150         Give better diagnostics.
97151
97152         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
97153         (noinst_HEADERS): Add quote.h.
97154
97155         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
97156         from tar's src/misc.c.
97157         * lib/quote.h: New file.  Prototypes for same.
97158
97159 2000-07-14  Paul Eggert  <eggert@twinsun.com>
97160
97161         From a suggestion by Bruno Haible.
97162         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
97163         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
97164         to decide whether to define the BeOS workaround macro;
97165         this adjusts to the change to AC_MBSTATE_T.
97166
97167 2000-07-14  Jim Meyering  <meyering@lucent.com>
97168
97169         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
97170         jm_AC_TYPE_UINTMAX_T.
97171
97172 2000-07-13  Paul Eggert  <eggert@twinsun.com>
97173
97174         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
97175
97176         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
97177         quotearg_buffer_restyled): Add support for
97178         clocale_quoting_style.  Undo previous change to
97179         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
97180         and "{RIGHT QUOTATION MARK}" msgids.
97181
97182 2000-07-10  Paul Eggert  <eggert@twinsun.com>
97183
97184         From a suggestion by Bruno Haible.
97185         * m4/mbstate_t.m4 (AC_MBSTATE_T):
97186         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
97187         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
97188         and mbstate_t, to a single-part test that simply defines mbstate_t.
97189         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
97190         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
97191
97192 2000-07-10  Jim Meyering  <meyering@lucent.com>
97193
97194         * m4/strerror_r.m4: Mirror the correction made in autoconf.
97195
97196         * m4/gnu-source.m4: Output to confdefs.h directly.
97197         Suggestion from Akim Demaille.
97198
97199 2000-07-09  Paul Eggert  <eggert@twinsun.com>
97200
97201         The old behavior of quoting `like this' doesn't look good with
97202         newer, ISO-style fonts.  See:
97203         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
97204
97205         Instead, quote "like this" by default.  Let the translator
97206         tailor the locale-specific quoting behavior by providing
97207         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
97208
97209         * lib/quotearg.c (N_): New macro.
97210         (gettext_default): New function.
97211         (quotearg_buffer_restyled): Use
97212         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
97213         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
97214
97215 2000-07-09  Jim Meyering  <meyering@lucent.com>
97216
97217         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
97218         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
97219
97220         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
97221         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
97222
97223 2000-07-09  Jim Meyering  <meyering@lucent.com>
97224
97225         * lib/Most files: Update copyright dates to include 2000.
97226
97227 2000-07-08  Jim Meyering  <meyering@lucent.com>
97228
97229         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
97230         if not defined.
97231         (xgethostname): Remove now-unnecessary #ifdef.
97232         Move declaration of `err' into loop where it's used.
97233
97234 2000-07-05  Paul Eggert  <eggert@twinsun.com>
97235         and Bruno Haible  <haible@clisp.cons.org>
97236
97237         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
97238         only if the test for an object-type mbstate_t fails.  This
97239         prevents us from mistakenly reporting that mbstate_t is a
97240         system object type after we "#define mbstate_t int" to work
97241         around its lack.
97242
97243 2000-07-05  Paul Eggert  <eggert@twinsun.com>
97244         and Bruno Haible  <haible@clisp.cons.org>
97245
97246         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
97247
97248 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
97249
97250         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
97251         to strerror_r.
97252         Include <ctype.h> for use of isalpha.
97253
97254 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
97255
97256         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
97257         by allocating a larger buffer. Test the gethostname return value for
97258         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
97259         returns an error and ENAMETOOLONG isn't defined.
97260
97261 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
97262
97263         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
97264         dimension.
97265
97266 2000-07-04  Jim Meyering  <meyering@lucent.com>
97267
97268         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
97269         of the deprecated AC_CHECKING.
97270
97271 2000-07-04  Jim Meyering  <meyering@lucent.com>
97272
97273         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
97274         Reported by Bruno Haible.
97275
97276 2000-07-04  Jim Meyering  <meyering@lucent.com>
97277
97278         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
97279         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
97280         lacks mbrtowc.
97281
97282 2000-07-03  Paul Eggert  <eggert@twinsun.com>
97283
97284         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
97285         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
97286
97287 2000-07-03  Paul Eggert  <eggert@twinsun.com>
97288         and Bruno Haible  <haible@clisp.cons.org>
97289
97290         * lib/quotearg.c (mbrtowc):
97291         Assign to *pwc, and return 1 only if result is nonzero.
97292         (iswprint): Use ISPRINT when substituting our own mbrtowc.
97293
97294 2000-07-03  Jim Meyering  <meyering@lucent.com>
97295
97296         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
97297
97298 2000-07-03  Jim Meyering  <meyering@lucent.com>
97299
97300         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
97301         This is necessary to get a definition of e.g., UTMP_FILE on
97302         HP-UX 10.20.
97303         From Bob Proulx.
97304
97305 2000-07-02  Jim Meyering  <meyering@lucent.com>
97306
97307         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
97308
97309         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
97310         AC_LIBOBJ(function_name).
97311         * m4/chown.m4: Likewise.
97312         * m4/fnmatch.m4: Likewise.
97313         * m4/ftruncate.m4: Likewise.
97314         * m4/getgroups.m4: Likewise.
97315         * m4/getline.m4: Likewise.
97316         * m4/group-member.m4: Likewise.
97317         * m4/jm-macros.m4: Likewise.
97318         * m4/lstat.m4: Likewise.
97319         * m4/malloc.m4: Likewise.
97320         * m4/memcmp.m4: Likewise.
97321         * m4/nanosleep.m4: Likewise.
97322         * m4/putenv.m4: Likewise.
97323         * m4/realloc.m4: Likewise.
97324         * m4/regex.m4: Likewise.
97325         * m4/stat.m4: Likewise.
97326         * m4/strftime.m4: Likewise.
97327
97328 2000-07-02  Jim Meyering  <meyering@lucent.com>
97329
97330         * lib/quotearg.c (mbstate_t): Don't define here.
97331
97332 2000-07-02  Jim Meyering  <meyering@lucent.com>
97333
97334         * lib/nanosleep.c (SIGCONT): Define if not already defined.
97335
97336 2000-07-01  Jim Meyering  <meyering@lucent.com>
97337
97338         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
97339
97340 2000-07-01  Jim Meyering  <meyering@lucent.com>
97341
97342         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
97343         problem.
97344
97345 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
97346
97347         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
97348         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
97349
97350 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
97351
97352         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
97353         per change in ../m4/ls-mntd-fs.m4.
97354         (read_filesystem_list): Ignore symbolic links.
97355
97356 2000-06-29  Jim Meyering  <meyering@lucent.com>
97357
97358         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
97359         for declaration of strcmp.
97360
97361         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
97362
97363         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
97364         Avoid warning by casting result to `char *' to remove `const'.
97365
97366 2000-06-28  Jim Meyering  <meyering@lucent.com>
97367
97368         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
97369         included by quotearg.c, for which we perform this test.  From
97370         Bruno Haible.
97371
97372 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
97373
97374         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
97375         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
97376         <utmpx.h> exists, put readutmp.o into LIBOBJS.
97377
97378 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
97379
97380         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
97381
97382 2000-06-26  Paul Eggert  <eggert@twinsun.com>
97383
97384         savedir now sets errno on failure and invokes xmalloc to get memory.
97385         Fix a couple of other minor bugs while we're at it.
97386
97387         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
97388         (NAMLEN): Remove macro.
97389         (malloc, realloc): Remove decls.
97390         (stpcpy): Likewise.
97391         ("xalloc.h"): Include.
97392         (NAME_SIZE_DEFAULT): New macro.
97393         (savedir): Use xmalloc / xrealloc to allocate memory.
97394         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
97395         Skip "" directory entries.
97396         Use strlen to calculate directory entry length, since the old method
97397         is rarely used these days and isn't worth supporting.
97398         Don't use a pointer after freeing it.
97399         Check for integer overflow when calculating allocation size.
97400         Use memcpy to copy entries, instead of stpcpy.
97401         Set errno properly when returning NULL.
97402         Check for readdir error.
97403
97404 2000-06-26  Jim Meyering  <meyering@lucent.com>
97405
97406         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
97407
97408 2000-06-25  Jim Meyering  <meyering@lucent.com>
97409
97410         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
97411         Linux header bug when _XOPEN_SOURCE is defined to 500.
97412
97413 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
97414
97415         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
97416         deficiency.
97417
97418 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
97419
97420         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
97421         Include xalloc.h.
97422         Don't include <stdlib.h>.  Don't declare malloc, realloc.
97423
97424 2000-06-24  Jim Meyering  <meyering@lucent.com>
97425
97426         * m4/strerror_r.m4: Revive this file -- to try out an experimental
97427         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
97428         for which strerror does return char*, but which lacks a conveniently
97429         accessible declaration of the function.  If the compile-test says
97430         strerror_r doesn't work, then resort to a `run'-test that works on
97431         BeOS and segfaults on DEC Unix.
97432
97433 2000-06-24  Jim Meyering  <meyering@lucent.com>
97434
97435         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
97436
97437 2000-06-23  Paul Eggert  <eggert@twinsun.com>
97438
97439         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
97440         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
97441
97442 2000-06-23  Paul Eggert  <eggert@twinsun.com>
97443
97444         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
97445         (mbrtowc, mbstate_t): Define substitutes if
97446         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
97447         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
97448         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
97449
97450 2000-06-23  Jim Meyering  <meyering@lucent.com>
97451
97452         * m4/afs.m4: Add missing AC_MSG_RESULT.
97453         Reported by Bruno Haible.
97454
97455         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
97456         Suggestion from Bruno Haible.
97457
97458 2000-06-23  Jim Meyering  <meyering@lucent.com>
97459
97460         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
97461
97462 2000-06-21  Jim Meyering  <meyering@lucent.com>
97463
97464         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
97465
97466 2000-06-21  Jim Meyering  <meyering@lucent.com>
97467
97468         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
97469         (noinst_HEADERS): Add getstr.h.
97470
97471         * lib/getline.c (getstr): Move into a separate file.
97472         * lib/getstr.c (getstr): New file, extracted from getline.c, with
97473         the following changes: new parameter, delim2; both delim[12]
97474         parameters have type `int', not `char'.  The latter would lose
97475         with 8-bit delimiters.
97476         * lib/getstr.h: New file.
97477
97478 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
97479
97480         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
97481         than 1024, return a memory chunk of least possible size, instead
97482         of size PATH_MAX + 2. In the loop, increment the size proportionally.
97483         Use free/xmalloc instead of xrealloc to avoid copying for very long
97484         paths.
97485
97486 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
97487
97488         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
97489         the empty string.
97490
97491 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
97492
97493         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
97494         address, not strdup.  Include <stdlib.h> and don't declare free().
97495
97496 2000-06-19  Jim Meyering  <meyering@lucent.com>
97497
97498         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
97499
97500 2000-06-18  Jim Meyering  <meyering@lucent.com>
97501
97502         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
97503
97504         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
97505         `checking whether...' message to be consistent with that of the
97506         lstat test.
97507
97508 2000-06-18  Jim Meyering  <meyering@lucent.com>
97509
97510         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
97511         Besides, these days every porting target provides a mkdir function.
97512
97513         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
97514         needed. (this snippet comes from src/system.h).
97515
97516 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
97517
97518         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
97519
97520 2000-06-15  Paul Eggert  <eggert@twinsun.com>
97521
97522         * lib/human.c (adjust_value): New function.
97523         (human_readable_inexact): Apply rounding style even when
97524         printing approximate values.
97525
97526 2000-06-14  Paul Eggert  <eggert@twinsun.com>
97527
97528         * lib/human.c (human_readable_inexact): Allow an input block
97529         size that is not a multiple of the output block size, and vice versa.
97530         Reported by Piergiorgio Sartor.
97531
97532 2000-06-14  Paul Eggert  <eggert@twinsun.com>
97533
97534         * lib/getdate.y (get_date): Apply relative times after time
97535         zone indicator, not before.  Reported by Todd A. Jacobs.
97536
97537 2000-06-13  Jim Meyering  <meyering@lucent.com>
97538
97539         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
97540
97541         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
97542
97543 2000-06-12  Paul Eggert  <eggert@twinsun.com>
97544
97545         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
97546
97547 2000-06-12  Jim Meyering  <meyering@lucent.com>
97548
97549         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
97550         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
97551         optional argument.
97552         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
97553         the optional argument, `lib'.
97554
97555 2000-06-08  Jim Meyering  <meyering@lucent.com>
97556
97557         * m4/largefile.m4: Remove file (now that it's part of autoconf).
97558
97559 2000-06-04  Paul Eggert  <eggert@twinsun.com>
97560
97561         Rewrite largefile configuration so that we don't need to run
97562         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
97563         AC_CANONICAL_HOST in configure.in -- jmm]
97564
97565         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
97566         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
97567         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
97568         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
97569         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
97570         All uses changed.
97571         Instead of inspecting the output of getconf, try to compile the
97572         test program without and with the macro definition.
97573         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
97574         for getconf.  Instead, check for the needed flags by compiling
97575         test programs.
97576
97577 2000-06-04  Paul Eggert  <eggert@twinsun.com>
97578
97579         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
97580
97581 2000-06-04  Jim Meyering  <meyering@lucent.com>
97582
97583         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
97584         SunOS 4.1.4 for which gid_t is an unsigned type.
97585
97586 2000-06-03  Jim Meyering  <meyering@lucent.com>
97587
97588         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
97589         now that autoconf requires that.
97590
97591         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
97592         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
97593         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
97594
97595 2000-06-03  Jim Meyering  <meyering@lucent.com>
97596
97597         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
97598
97599 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
97600
97601         * m4/glibc21.m4: New file.
97602         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
97603
97604 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
97605
97606         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
97607         newer, don't install charset.alias.
97608         * lib/config.charset: Change the Linux/glibc rules so they become empty
97609         on glibc-2.1 or newer.
97610
97611 2000-06-02  Jim Meyering  <meyering@lucent.com>
97612
97613         * lib/mountlist.c: Back out last change.  Instead, do this...
97614         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
97615         me_dummy member using the same `ignore'-testing code.
97616         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
97617         fs_type strings.
97618         From Mark D. Roth.
97619
97620 2000-05-29  Jim Meyering  <meyering@lucent.com>
97621
97622         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
97623         mounts with the `ignore' attribute.  Based on a patch from
97624         Mark D. Roth.
97625
97626 2000-05-28  Jim Meyering  <meyering@lucent.com>
97627
97628         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
97629         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
97630         * m4/stat.m4: Likewise.
97631         * m4/lstat.m4: Likewise.
97632         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
97633
97634         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
97635         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
97636
97637 2000-05-26  Jim Meyering  <meyering@lucent.com>
97638
97639         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
97640
97641 2000-05-24  Jim Meyering  <meyering@lucent.com>
97642
97643         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
97644         autoconf requires that.
97645         * m4/lib-check.m4: Likewise.
97646         * m4/jm-macros.m4: Likewise.
97647         * m4/strftime.m4: Likewise.
97648
97649         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
97650         AC_CHECK_DECLS, now that autoconf requires that.
97651
97652 2000-05-22  Jim Meyering  <meyering@lucent.com>
97653
97654         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
97655         * m4/lstat.m4: Likewise.
97656
97657 2000-05-22  Jim Meyering  <meyering@lucent.com>
97658
97659         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
97660
97661 2000-05-20  Jim Meyering  <meyering@lucent.com>
97662
97663         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
97664         (jm_PREREQ): Use it.
97665
97666 2000-05-18  Jim Meyering  <meyering@lucent.com>
97667
97668         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
97669         back, too, since it may have been modified by allocate_entry.
97670         (hash_delete): Rewrite to use neither the assignment operator
97671         nor the comma operator in an if-expression.
97672
97673 2000-05-15  Paul Eggert  <eggert@twinsun.com>
97674
97675         * lib/closeout.c:
97676         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
97677         Remove; no longer needed.
97678         "quotearg.h": Add include.
97679         (file_name): Do not bother to explicitly initialize to NULL; it's less
97680         efficient on some hosts.
97681         (close_stdout_status): Remove test as to whether stdout was already
97682         closed; it breaks for the case "echo x | sort >&-".
97683         Quote file name colons.
97684         Do not assume that _("write error") lacks format strings.
97685
97686 2000-05-15  Jim Meyering  <meyering@lucent.com>
97687
97688         * lib/version-etc.c (version_etc_copyright): Update the copyright
97689         string used in all --version output.
97690
97691 2000-05-14  Jim Meyering  <meyering@lucent.com>
97692
97693         * lib/closeout.c (close_stdout_set_file_name): New function.
97694         (close_stdout_status): Use new file-scoped global.
97695         Return right away if fstat says the stdout file descriptor is invalid.
97696         * lib/closeout.h (close_stdout_set_file_name): Declare.
97697
97698 2000-05-10  Jim Meyering  <meyering@lucent.com>
97699
97700         * lib/closeout.c [default_exit_status]: New file-scoped variable.
97701         (close_stdout_set_status): New function.
97702         * lib/closeout.h (close_stdout_set_status): Declare.
97703
97704 2000-05-09  Jim Meyering  <meyering@lucent.com>
97705
97706         * m4/gettext.m4: Rename this...
97707         * m4/libintl.m4: ...to this.
97708
97709 2000-05-08  Jim Meyering  <meyering@lucent.com>
97710
97711         * lib/long-options.c: Don't include closeout.h.
97712         (parse_long_options): Don't call close_stdout for --version.
97713
97714 2000-05-06  Paul Eggert  <eggert@twinsun.com>
97715
97716         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
97717         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
97718         2.1.3 bug.  This avoids a clash when files like regex.c define
97719         _GNU_SOURCE.
97720
97721 2000-05-06  Jim Meyering  <meyering@lucent.com>
97722
97723         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
97724         (AC_REPLACE_FUNCS): Add strnlen.
97725
97726         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
97727         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
97728
97729         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
97730         AC_SEARCH_LIBS call for nanosleep.
97731         (LIB_NANOSLEEP): Set and AC_SUBST.
97732
97733 2000-05-06  Jim Meyering  <meyering@lucent.com>
97734
97735         * lib/strnlen.c: Undefine __strnlen and strnlen.
97736         [!weak_alias]: Define __strnlen to strnlen.
97737
97738         * lib/atexit.c: New file, from libiberty.
97739
97740 2000-05-06  Jim Meyering  <meyering@lucent.com>
97741
97742         * lib/closeout.c (close_stdout_status): Also check for errors on the
97743         stderr stream.
97744
97745 2000-05-05  Jim Meyering  <meyering@lucent.com>
97746
97747         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
97748         AC_SEARCH_LIBS call for clock_gettime.
97749         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
97750
97751         * m4/search-libs.m4: Update from autoconf.
97752
97753         su doesn't work on Solaris 2.6.
97754         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
97755         <shadow.h>.  Reported by Dragos Harabor.
97756
97757 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
97758
97759         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
97760         memcpy instead of xmalloc, xrealloc, path_concat.
97761         (locale_charset): Treat empty environment variables as absent.
97762         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
97763
97764 2000-05-04  Jim Meyering  <meyering@lucent.com>
97765
97766         * lib/getopt.c: Update from glibc.
97767         * lib/obstack.c: Likewise.
97768         * lib/obstack.h: Likewise.
97769         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
97770         file
97771
97772         * lib/regex.h: Likewise.
97773         * lib/strndup.c: Likewise.
97774         * lib/strnlen.c: New file, from glibc.
97775
97776 2000-05-03  Jim Meyering  <meyering@lucent.com>
97777
97778         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
97779
97780 2000-05-02  Paul Eggert  <eggert@twinsun.com>
97781
97782         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
97783         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
97784         compile-time test, rather than inspecting host and OS, to
97785         decide whether to define _LARGEFILE_SOURCE.
97786
97787 2000-05-01  Jim Meyering  <meyering@lucent.com>
97788
97789         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
97790
97791         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
97792         Based on a patch from Bruno Haible.
97793
97794 2000-05-01  Jim Meyering  <meyering@lucent.com>
97795
97796         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
97797
97798 2000-04-29  Jim Meyering  <meyering@lucent.com>
97799
97800         * lib/path-concat.c: Declare strdup only if it's not defined.
97801         * lib/canon-host.c: Likewise.
97802
97803 2000-04-28  Jim Meyering  <meyering@lucent.com>
97804
97805         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
97806         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
97807         is included first, then limits.h is included by locale.h by libintl.h.
97808         From John David Anglin.
97809
97810 2000-04-25  Jim Meyering  <meyering@lucent.com>
97811
97812         * lib/makepath.c (S_IRWXUGO): Define.
97813         (make_path): Always perform explicit chmod if MODE specifies any
97814         of the `special' permission bits.  Prompted by a bug report against
97815         install from Mate Wierdl and Joost van Baal.
97816
97817 2000-04-18  Jim Meyering  <meyering@lucent.com>
97818
97819         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
97820         (jm_PREREQ): Use it.
97821
97822 2000-04-18  Jim Meyering  <meyering@lucent.com>
97823
97824         * lib/README: New file.
97825
97826         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
97827         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
97828
97829 2000-04-17  Jim Meyering  <meyering@lucent.com>
97830
97831         Get it right :-)
97832         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
97833         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
97834         Suggestion from Akim Demaille.
97835
97836 2000-04-17  Jim Meyering  <meyering@lucent.com>
97837
97838         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
97839         the definition of it to rpl_strftime also defined-away the system's
97840         declaration.
97841
97842 2000-04-15  Jim Meyering  <meyering@lucent.com>
97843
97844         Use `C' to denote so-called `contiguous' files, the same way
97845         that tar does.
97846         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
97847         (ftypelet): Use S_ISCTG.
97848         From Michael Deutschmann.
97849
97850 2000-04-14  Jim Meyering  <meyering@lucent.com>
97851
97852         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
97853         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
97854         clobbered.
97855
97856 2000-04-14  Jim Meyering  <meyering@lucent.com>
97857
97858         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
97859
97860 2000-04-13  Jim Meyering  <meyering@lucent.com>
97861
97862         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
97863         AH_VERBATIM to insert required #ifndef into config.h.in.
97864         Suggestion from Akim Demaille.
97865
97866 2000-04-12  Jim Meyering  <meyering@lucent.com>
97867
97868         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
97869         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
97870         Christian Krackowizer.
97871
97872         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
97873         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
97874         (AC_SYS_LARGEFILE): Require.
97875         (AM_C_PROTOTYPES): Require.
97876
97877 2000-04-08  Jim Meyering  <meyering@lucent.com>
97878
97879         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
97880         names don't conflict.  Reported by Eli Zaretskii.
97881
97882 2000-04-07  Jim Meyering  <meyering@lucent.com>
97883
97884         * lib/putenv.c: Move inclusion of errno.h so it follows that of
97885         sys/types.h, to work around system header problems on AIX 3.2.5.
97886         From Bruno Haible.
97887
97888 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
97889
97890         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
97891         bug.  Deal with the different error behavior of Irix iconv.
97892
97893 2000-04-05  Paul Eggert  <eggert@twinsun.com>
97894
97895         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
97896         IRIX if the installer said otherwise.
97897
97898 2000-04-05  Jim Meyering  <meyering@lucent.com>
97899
97900         Portability tweaks required for ultrix4.3.
97901         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
97902         (jm_CHECK_DECLS): Add getutent to the list of functions.
97903         (_jm_DECL_HEADERS): Add utmpx.h.
97904         From John David Anglin.
97905
97906         * m4/strftime.m4: Back out the 2000-04-02 change.
97907         Instead of that change, simply undefine putenv in the test program.
97908
97909 2000-04-05  Jim Meyering  <meyering@lucent.com>
97910
97911         Portability tweaks required for ultrix4.3.
97912         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
97913         getutent.
97914         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
97915         * lib/canon-host.c: Declare strdup.
97916         * lib/path-concat.c: Likewise.
97917         From John David Anglin.
97918
97919 2000-04-04  Jim Meyering  <meyering@lucent.com>
97920
97921         Be more DOS 8.3-friendly.
97922         * lib/ref-add.sin: Renamed from ref-add.sed.in.
97923         * lib/ref-del.sin: Renamed from ref-del.sed.in.
97924         * lib/Makefile.am: Reflect renaming.
97925         Reported by Eli Zaretskii.
97926
97927         Use a temporary file name that won't clash with `charset.alias'
97928         in the DOS 8.3 name space.
97929         * lib/Makefile.am (charset_tmp): Define.
97930         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
97931         (uninstall-local): Likewise.
97932         Reported by Eli Zaretskii.
97933
97934 2000-04-03  Jim Meyering  <meyering@lucent.com>
97935
97936         * m4/gettext.m4: Fix typo in comment.
97937
97938         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
97939         textutils/configure.in).  Suggestion from Paul Eggert.
97940         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
97941
97942 2000-04-02  Paul Eggert  <eggert@twinsun.com>
97943
97944         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
97945         variable in the shell rather than using putenv, which isn't
97946         portable.  This avoids the configure-time inter-test dependency
97947         on the potentially-renamed putenv function.
97948
97949 2000-03-30  Paul Eggert  <eggert@twinsun.com>
97950
97951         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
97952         before checking struct stat.st_blksize, so that
97953         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
97954
97955 2000-03-29  Paul Eggert  <eggert@twinsun.com>
97956
97957         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
97958         since strftime.c uses HAVE_STRFTIME to decide whether to use
97959         the underlying strftime.
97960
97961 2000-03-29  Paul Eggert  <eggert@twinsun.com>
97962
97963         * lib/time/strftime.c (my_strftime): Make sure we call the system
97964         strftime, not ourselves, when invoking the underlying strftime.
97965
97966 2000-03-24  Jim Meyering  <meyering@lucent.com>
97967
97968         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
97969         (charset_alias): Define.
97970         (install-exec-local): Factor out common code.
97971         (uninstall-local): Split lines longer than 80.
97972         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
97973         (SUFFIXES): Define.
97974         (.sed.in.sed): New rule.  Don't redirect directly to $@.
97975         (CLEANFILES): Add ref-add.sed and ref-del.sed.
97976
97977 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
97978
97979         * lib/config.charset: Output a line containing "Packages using this
97980         file".
97981         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
97982         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
97983         ref-del.sed): New rules.
97984
97985 2000-03-17  Jim Meyering  <meyering@lucent.com>
97986
97987         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
97988         Otherwise, include <strings.h>
97989
97990 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
97991
97992         * lib/unicodeio.c (utf8_wctomb): New function.
97993         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
97994         format instead of in UCS-4 with platform dependent endianness.
97995
97996 2000-03-10  Jim Meyering  <meyering@lucent.com>
97997
97998         * m4/lib-check.m4: Look for getspnam in -lgen, too.
97999         From Marco Franzen.
98000
98001 2000-03-07  Paul Eggert  <eggert@twinsun.com>
98002
98003         * lib/savedir.c (savedir): Work even if directory size is
98004         negative; this can happen with some screwy NFS configurations.
98005
98006 2000-03-06  Jim Meyering  <meyering@lucent.com>
98007
98008         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
98009         if it's NULL (because we ran out of memory).  From Bruno Haible.
98010
98011 2000-03-05  Jim Meyering  <meyering@lucent.com>
98012
98013         * lib/localcharset.c ("path-concat.h"): Include.
98014         (get_charset_aliases): Use path_concat instead of ANSI string
98015         concatenation.
98016
98017         * lib/unicodeio.h (PARAMS): Define.
98018         Use it to guard prototype.
98019
98020 2000-03-04  Jim Meyering  <meyering@lucent.com>
98021
98022         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
98023         for lib/localcharset.c.
98024
98025 2000-03-04  Jim Meyering  <meyering@lucent.com>
98026
98027         * lib/Makefile.am (install-exec-local): Create $(libdir) before
98028         installing into it.
98029         (uninstall-local): Uncomment this rule so `make distcheck' works
98030         once again.
98031
98032         * lib/unicodeio.c (<errno.h>): Include it.
98033         (errno): Declare if not defined.
98034
98035         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
98036
98037         * lib/config.charset: New version, incorporating remarks from a linux
98038         i18n mailing list.  From Bruno Haible.
98039
98040 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
98041
98042         * m4/codeset.m4: New file.
98043         * m4/iconv.m4: New file.
98044         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
98045
98046 2000-03-03  Jim Meyering  <meyering@lucent.com>
98047
98048         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
98049
98050 2000-03-02  Jim Meyering  <meyering@lucent.com>
98051
98052         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
98053         the messages come out on separate lines.
98054
98055         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
98056         rather than jm_CHECK_DECLARATIONS.
98057         * m4/decl.m4: Remove now-unused file.
98058
98059         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
98060         geteuid.
98061
98062 2000-03-02  Jim Meyering  <meyering@lucent.com>
98063
98064         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
98065
98066 2000-03-01  Jim Meyering  <meyering@lucent.com>
98067
98068         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
98069         * lib/unicodeio.c: Likewise.
98070
98071 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
98072
98073         * lib/config.charset: New file.
98074         * lib/localcharset.c: New file.
98075         * lib/unicodeio.h, lib/unicodeio.c: New files.
98076         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
98077         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
98078         (noinst_HEADERS): Add unicodeio.h.
98079         (all-local, install-exec-local, charset.alias): New targets.
98080
98081 2000-02-28  Paul Eggert  <eggert@twinsun.com>
98082
98083         * lib/quotearg.c (ALERT_CHAR): New macro.
98084         (quotearg_buffer_restyled): Use it.
98085
98086 2000-02-27  Jim Meyering  <meyering@lucent.com>
98087
98088         * m4/check-decl.m4: Add getenv to the list.
98089
98090 2000-02-27  Jim Meyering  <meyering@lucent.com>
98091
98092         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
98093         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
98094
98095         * lib/backupfile.c: Guard inclusion of stdlib.h with
98096         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
98097         Declare malloc if needed.
98098
98099         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
98100         `#ifndef HAVE_DECL..'
98101         now that autoconf always defines the HAVE_DECL_ symbols.
98102         * lib/human.c: Likewise.
98103         * lib/same.c: Likewise.
98104         * lib/strtoumax.c: Likewise.
98105
98106         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
98107         declaration check was not run.
98108         * lib/hash.c: Likewise.
98109         * lib/human.c: Likewise.
98110         * lib/same.c: Likewise.
98111         * lib/strtoumax.c: Likewise.
98112
98113         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
98114         `.', then first look up the entire `.'-containing string as a login
98115         name.
98116
98117 2000-02-23  Jim Meyering  <meyering@lucent.com>
98118
98119         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
98120         in place of my hack.
98121
98122 2000-02-18  Paul Eggert  <eggert@twinsun.com>
98123
98124         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
98125         (textint): New typedef.
98126         (parser_control): Member year changed from int to textint.
98127         All uses changed.
98128         (YYSTYPE): Removed; replaced by %union with int and textint members.
98129         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
98130         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
98131         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
98132         (tSNUMBER, tUNUMBER): Now of type <textintval>.
98133         (date, number, to_year): Use width of number in digits, not its value,
98134         to determine whether it's a 2-digit year, or a 2-digit time.
98135         (yylex): Store number of digits of numeric tokens.
98136         Reported by John Kendall.
98137
98138         (parser_control): Changed from struct parser_control to typedef (for
98139         consistency).  All uses changed.
98140
98141         (tID): Removed; not used.
98142         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
98143
98144 2000-02-14  Paul Eggert  <eggert@twinsun.com>
98145
98146         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
98147         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
98148
98149 2000-02-12  Jim Meyering  <meyering@lucent.com>
98150
98151         * lib/userspec.c (ISDIGIT): Define it.
98152         (isdigit): Remove definition.
98153         (is_number): Use ISDIGIT, not isdigit.
98154         <libintl.h>: Include.
98155         (_ and N_): Define.
98156         (parse_user_spec): Mark translatable strings.
98157
98158 2000-02-10  Jim Meyering  <meyering@lucent.com>
98159
98160         With these changes, nanosleep.[ch] are finally enough like the other
98161         lib/* replacement files to compile on a few more losing systems.
98162
98163         * lib/nanosleep.h: Don't include config.h.
98164         Remove prototype from declaration of nanosleep.
98165         (PARAMS): Remove now-unneeded definition.
98166         * lib/nanosleep.c: #undef nanosleep.
98167         (rpl_nanosleep): Rename from nanosleep.
98168
98169 2000-02-10  Jim Meyering  <meyering@lucent.com>
98170
98171         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
98172         gnu_nanosleep to rpl_nanosleep.
98173
98174 2000-02-09  Jim Meyering  <meyering@lucent.com>
98175
98176         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
98177         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
98178
98179 2000-02-08  Akim Demaille  <akim@epita.fr>
98180
98181         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
98182         `[' and `]' and remove uses of `changequote'.
98183         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
98184         (AC_SYS_LARGEFILE): Likewise.
98185         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
98186         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
98187         of changequote.
98188         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
98189         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
98190         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
98191         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
98192
98193 2000-02-05  Jim Meyering  <meyering@lucent.com>
98194
98195         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
98196         Remove explicit use of AC_HEADER_TIME.  It is required by
98197         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
98198         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
98199         in autoconf whereby the expansion of the latter ended up preceding
98200         the expansion of its prerequisite, AC_HEADER_TIME.
98201         Reported by Volker Borchert.
98202
98203 2000-02-03  Jim Meyering  <meyering@lucent.com>
98204
98205         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
98206
98207 2000-02-03  Jim Meyering  <meyering@lucent.com>
98208
98209         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
98210         rather than with `#if HAVE_UTMPNAME'.
98211
98212 2000-02-02  Jim Meyering  <meyering@lucent.com>
98213
98214         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
98215         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
98216         Reported by Eli Zaretskii.
98217
98218 2000-02-01  Jim Meyering  <meyering@lucent.com>
98219
98220         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
98221
98222 2000-01-31  Jim Meyering  <meyering@lucent.com>
98223
98224         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
98225         functions.  Add the time.h and sys/time.h headers along with the
98226         AC_REQUIRE'ment of AC_HEADER_TIME.
98227
98228 2000-01-31  Jim Meyering  <meyering@lucent.com>
98229
98230         * lib/nanosleep.h (nanosleep): Guard declaration with
98231         `#if ! HAVE_DECL_NANOSLEEP'.
98232         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
98233         the declaration in that vendor's sys/timers.h.
98234         Reported by Christian Krackowizer.
98235
98236         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
98237         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
98238         (ISPRINT): Likewise.
98239         Reported by Tom Tromey.
98240
98241 2000-01-30  Jim Meyering  <meyering@lucent.com>
98242
98243         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
98244
98245         * m4/prereq.m4 (utmp_includes): Define.
98246         Check for ut_user and ut_name members in both struct utmpx
98247         and struct utmp.
98248
98249 2000-01-30  Jim Meyering  <meyering@lucent.com>
98250
98251         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
98252         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
98253         header files where only utmpx.ut_user is declared.
98254
98255         * lib/readutmp.h (UT_USER): Define.
98256
98257 2000-01-29  Jim Meyering  <meyering@lucent.com>
98258
98259         * m4/lib-check.m4: New file containing library-related checks from
98260         fileutils and sh-utils (textutils had none).
98261
98262 2000-01-28  Jim Meyering  <meyering@lucent.com>
98263
98264         * m4/perl.m4: Change format of warning message to look more like that
98265         from the missing script.  Suggestion from François Pinard.
98266
98267 2000-01-25  Jim Meyering  <meyering@lucent.com>
98268
98269         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
98270         well as time.h in the compile check.
98271         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
98272         Fix typo in cross-compiling case: s/yes/no/.
98273
98274 2000-01-23  Jim Meyering  <meyering@lucent.com>
98275
98276         * m4/jm-macros.m4: Move df-related tests here from
98277         fileutils/configure.in
98278
98279         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
98280         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
98281
98282         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
98283         s/space/ac_fsusage_space/.
98284         (jm_FILE_SYSTEM_USAGE): Take two parameters.
98285
98286         * m4/ftruncate.m4: New file (derived from part of
98287         fileutils/configure.in).
98288         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
98289         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
98290
98291         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
98292         AC_SUBST these here, rather than just in sh-util/configure.in, so
98293         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
98294         all the same.
98295         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
98296         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
98297         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
98298         (AC_SUBST(POW_LIBM)): Likewise.
98299         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
98300
98301 2000-01-23  Jim Meyering  <meyering@lucent.com>
98302
98303         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
98304         obstack.c.
98305
98306 2000-01-22  Jim Meyering  <meyering@lucent.com>
98307
98308         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
98309
98310         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
98311
98312         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
98313         configure.in
98314         (AC_CHECK_HEADERS): Likewise for sh-utils.
98315         (AC_CHECK_HEADERS): Likewise for textutils.
98316         Merge the three lists of headers.
98317
98318         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
98319         from fileutils' configure.in.
98320
98321         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
98322         code. Moved tests into their own function (_jm_DECL_HEADERS) in
98323         check-decl.m4.
98324
98325         * m4/check-decl.m4: Use #if rather than #ifdef.
98326         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
98327         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
98328         (_jm_DECL_HEADERS): Define new function.
98329         (jm_CHECK_DECLARATIONS): Require it.
98330
98331 2000-01-22  Jim Meyering  <meyering@lucent.com>
98332
98333         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
98334         [! HAVE_DECL_STRTOULL]: Declare strtoull.
98335         Required for some AIX systems.  Reported by Christian Krackowizer.
98336         [TESTING] (main): New function.
98337
98338         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
98339         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
98340         letters.
98341
98342         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
98343         iswprint.
98344
98345         * lib/strverscmp.c (ISDIGIT): Define.
98346         (strverscmp): Use ISDIGIT, not isdigit.
98347
98348 2000-01-19  Jim Meyering  <meyering@lucent.com>
98349
98350         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
98351         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
98352         defines `struct timespec' in <sys/time.h>
98353
98354         * m4/c-bs-a.m4: Remove uses of changequote altogether.
98355         Thanks to Akim for explaining.
98356
98357 2000-01-17  Paul Eggert  <eggert@twinsun.com>
98358
98359         * lib/nanosleep.c (nanosleep):
98360         Don't use SA_INTERRUPT to decide whether to call sigaction, as
98361         POSIX.1 doesn't require SA_INTERRUPT and some systems
98362         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
98363         it's been part of POSIX.1 since day 1 (in 1988).
98364
98365 2000-01-17  Jim Meyering  <meyering@lucent.com>
98366
98367         * lib/interlock: Remove unused file.  Reported by François Pinard.
98368
98369 2000-01-16  Paul Eggert  <eggert@twinsun.com>
98370
98371         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
98372         alert, backslash, formfeed, and vertical tab unnecessarily in
98373         shell quoting style.
98374
98375 2000-01-16  Jim Meyering  <meyering@lucent.com>
98376
98377         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
98378         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
98379         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
98380         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
98381
98382 2000-01-16  Jim Meyering  <meyering@lucent.com>
98383
98384         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
98385         because the latter didn't work.
98386
98387 2000-01-15  Jim Meyering  <meyering@lucent.com>
98388
98389         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
98390         (AC_REPLACE_FUNCS): Add memcpy and memset.
98391         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
98392         Add strpbrk.
98393         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
98394
98395 2000-01-12  Jim Meyering  <meyering@lucent.com>
98396
98397         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
98398         (jm_PREREQ): Use it.
98399         (jm_PREREQ_READUTMP): New macro.
98400         (jm_PREREQ): Use it.
98401
98402 2000-01-11  Paul Eggert  <eggert@twinsun.com>
98403
98404         Quote multibyte characters correctly.
98405         * m4/c-bs-a.m4: New file.
98406         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
98407         (jm_PREREQ): Use it.
98408
98409 2000-01-11  Paul Eggert  <eggert@twinsun.com>
98410
98411         * m4/uintmax_t.m4: Port to autoconf 2.13.
98412
98413 2000-01-08  Jim Meyering  <meyering@ascend.com>
98414
98415         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
98416         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
98417
98418 2000-01-04  Jim Meyering  <meyering@ascend.com>
98419
98420         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
98421         jm_STRUCT_DIRENT_D_TYPE.
98422         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
98423         jm_STRUCT_DIRENT_D_INO.
98424         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
98425         jm_STRUCT_UTIMBUF.
98426         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
98427         renamings.
98428         * m4/utime.m4: Likewise.
98429
98430         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
98431         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
98432
98433 2000-01-03  Paul Eggert  <eggert@twinsun.com>
98434
98435         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
98436         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
98437
98438 2000-01-02  Jim Meyering  <meyering@ascend.com>
98439
98440         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
98441         remember if this is necessary.
98442
98443 1999-12-26  Jim Meyering  <meyering@ascend.com>
98444
98445         * m4/jm-macros.m4: Use it here.
98446         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
98447
98448 1999-12-23  Jim Meyering  <meyering@ascend.com>
98449
98450         * m4/jm-macros.m4: Check for clock_gettime (moved from
98451         fileutils/configure.in)
98452         Check for gettimeofday.
98453
98454 1999-12-20  Jim Meyering  <meyering@ascend.com>
98455
98456         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
98457         autoconf-2.14a-1999-12-20.
98458
98459 1999-12-19  Jim Meyering  <meyering@ascend.com>
98460
98461         * m4/lstat-slash.m4: New file.
98462         * m4/jm-macros.m4: Use the new macro:
98463         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
98464
98465 1999-12-07  Jim Meyering  <meyering@ascend.com>
98466
98467         * m4/perl.m4: Require that File::Compare be available, too.
98468         Too many systems seem to lack it.
98469
98470         * m4/strftime.m4: Add checks for most of the cpp macros tested in
98471         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
98472
98473 1999-11-18  Paul Eggert  <eggert@twinsun.com>
98474
98475         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
98476         problem with the QNX 4.25 shell, which doesn't propagate exit
98477         status of failed commands inside shell assignments.
98478
98479 1999-11-17  Jim Meyering  <meyering@ascend.com>
98480
98481         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
98482
98483 1999-11-07  Jim Meyering  <meyering@ascend.com>
98484
98485         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
98486
98487 1999-11-06  Jim Meyering  <meyering@ascend.com>
98488
98489         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
98490         * m4/jm-macros.m4 (jm_MACROS): Use it here.
98491
98492 1999-11-05  Jim Meyering  <meyering@ascend.com>
98493
98494         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
98495         configure.in of textutils, fileutils, and sh-utils into this one
98496         (shared between those packages) file.
98497         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
98498         AC_STRUCT_ST_BLKSIZE.
98499
98500 1999-11-03  Jim Meyering  <meyering@ascend.com>
98501
98502         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
98503         of AC_CHECK_TYPE checks includes unistd.h.
98504         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
98505         Suggestion from Akim Demaille.
98506
98507 1999-10-30  Jim Meyering  <meyering@ascend.com>
98508
98509         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
98510         m4-quoted string.
98511         * m4/ls-mntd-fs.m4: Likewise.
98512         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
98513         * m4/jm-winsz1.m4: Likewise.
98514
98515         * m4/const.m4: Remove file, since the fix made it into the experimental
98516         version of autoconf.
98517         * m4/mktime.m4: Likewise.
98518
98519         * m4/check-type.m4: Remove file, now that the latest version of
98520         AC_CHECK_TYPE takes a third arg to specify additional #includes.
98521
98522         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
98523         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
98524         AC_CHECK_TYPE.
98525
98526 1999-10-04  Jim Meyering  <meyering@ascend.com>
98527
98528         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
98529
98530 1999-09-22  Paul Eggert  <eggert@twinsun.com>
98531
98532         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
98533         2.95.1 bug with HP-UX 10.20.
98534
98535 1999-09-17  Jim Meyering  <meyering@ascend.com>
98536
98537         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
98538         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
98539         due to missing strdup (against sh-utils-2.0).
98540
98541 1999-08-29  Jim Meyering  <meyering@ascend.com>
98542
98543         * m4/jm-macros.m4: Require jm_BISON.
98544         * m4/bison.m4: New file.
98545
98546 1999-08-17  Paul Eggert  <eggert@twinsun.com>
98547
98548         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
98549         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
98550
98551 1999-08-05  Jim Meyering  <meyering@ascend.com>
98552
98553         * m4/getline.m4: Rename test file from conftestdata to conftest.data
98554         to avoid conflicts with `conftest' on 8+3 filesystems.
98555         Suggestion from Eli Zaretskii.
98556
98557 1999-08-04  Jim Meyering  <meyering@ascend.com>
98558
98559         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
98560         fileutils and sh-utils (textutils's getline test was inadequate).
98561         (AM_FUNC_GETLINE): Run this test.
98562         (AC_CHECK_FUNCS): Check for getdelim.
98563         Reported by Bob Proulx.
98564
98565 1999-08-02  Jim Meyering  <meyering@ascend.com>
98566
98567         * m4/jm-macros.m4: Add a comment.
98568
98569 1999-08-01  Paul Eggert  <eggert@twinsun.com>
98570
98571         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
98572         <inttypes.h> defines strtoumax as a macro (and not as a
98573         function).
98574
98575 1999-08-01  Paul Eggert  <eggert@twinsun.com>
98576
98577         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
98578         that we can shift, multiply and divide unsigned long long
98579         values; Ultrix cc can't do it.
98580
98581 1999-08-01  Paul Eggert  <eggert@twinsun.com>
98582
98583         * m4/mktime.m4: New file, which is a preview of what should appear
98584         in the next public autoconf release.
98585
98586 1999-08-01  Paul Eggert  <eggert@twinsun.com>
98587
98588         * m4/lfs.m4: Remove this file.
98589         * m4/largefile.m4: New file.  It contains the old contents of
98590         lfs.m4, except that all names with prefix AC_LFS have been
98591         changed to use the prefix AC_SYS_LARGEFILE instead, to be
98592         compatible with future autoconf versions.  Also, some minor m4
98593         quoting problems have been fixed.
98594
98595 1999-08-01  Paul Eggert  <eggert@twinsun.com>
98596
98597         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
98598         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
98599         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
98600         and simplify the shell code.
98601
98602 1999-08-01  Jim Meyering  <meyering@ascend.com>
98603
98604         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
98605         m4.
98606
98607 1999-07-20  Jim Meyering  <meyering@ascend.com>
98608
98609         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
98610
98611 1999-07-15  Jim Meyering  <meyering@ascend.com>
98612
98613         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
98614
98615 1999-05-22  Jim Meyering  <meyering@ascend.com>
98616
98617         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
98618
98619 1999-05-20  Jim Meyering  <meyering@ascend.com>
98620
98621         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
98622         Add a colon after each `then' in case $4 is empty.
98623
98624 1999-05-16  Jim Meyering  <meyering@ascend.com>
98625
98626         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
98627
98628 1999-05-10  Jim Meyering  <meyering@ascend.com>
98629
98630         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
98631
98632         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
98633         AC_FUNC_MKTIME.
98634
98635 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
98636
98637         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
98638
98639 1999-05-04  Paul Eggert  <eggert@twinsun.com>
98640
98641         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
98642         not CPPFLAGS, so that linking works correctly in IRIX.
98643
98644 1999-04-30  Paul Eggert  <eggert@twinsun.com>
98645
98646         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
98647
98648 1999-04-20  Paul Eggert  <eggert@twinsun.com>
98649
98650         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
98651         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
98652         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
98653         jm_AC_TYPE_UNSIGNED_LONG_LONG.
98654         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
98655
98656         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
98657
98658 1999-04-20  Jim Meyering  <meyering@ascend.com>
98659
98660         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
98661         AC_REPLACE xstroull if necessary.  From Paul Eggert.
98662         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
98663
98664 1999-04-18  Jim Meyering  <meyering@ascend.com>
98665
98666         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
98667         * m4/jm-macros.m4: Use it.
98668
98669 1999-04-06  Jim Meyering  <meyering@ascend.com>
98670
98671         * m4/strftime.m4: Remove test for %f.
98672
98673 1999-03-29  Jim Meyering  <meyering@ascend.com>
98674
98675         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
98676         superset of the AC_TYPE_* checks in the textutils, fileutils,
98677         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
98678         AC_TYPE_PID_T.
98679
98680 1999-03-28  Jim Meyering  <meyering@ascend.com>
98681
98682         * m4/jm-macros.m4: Define GNU_PACKAGE here.
98683         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
98684         replaced e.g., in the *.sh files of the sh-utils.
98685
98686 1999-03-20  Jim Meyering  <meyering@ascend.com>
98687
98688         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
98689         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
98690         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
98691
98692 1999-03-19  Jim Meyering  <meyering@ascend.com>
98693
98694         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
98695
98696 1999-03-12  Jim Meyering  <meyering@ascend.com>
98697
98698         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
98699
98700 1999-03-07  Jim Meyering  <meyering@ascend.com>
98701
98702         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
98703         declared.
98704
98705 1999-02-17  Jim Meyering  <meyering@ascend.com>
98706
98707         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
98708         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
98709
98710 1999-02-07  Jim Meyering  <meyering@ascend.com>
98711
98712         * m4/group-member.m4: New file -- extracted from sh-utils'
98713         configure.in.
98714
98715         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
98716         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
98717
98718 1999-02-06  Jim Meyering  <meyering@ascend.com>
98719
98720         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
98721         * m4/fnmatch.m4: Likewise.
98722         * m4/getgroups.m4: Likewise.
98723         * m4/lstat.m4: Likewise.
98724         * m4/malloc.m4: Likewise.
98725         * m4/putenv.m4: Likewise.
98726         * m4/realloc.m4: Likewise.
98727         * m4/regex.m4: Likewise.
98728         * m4/stat.m4: Likewise.
98729         * m4/strftime.m4: Likewise.
98730         Suggestion from Alain Magloire.
98731
98732         * m4/chown.m4: Use `.$ac_objext', not `.o'.
98733         * m4/fnmatch.m4: Likewise.
98734         * m4/getgroups.m4: Likewise.
98735         * m4/getline.m4: Likewise.
98736         * m4/lstat.m4: Likewise.
98737         * m4/malloc.m4: Likewise.
98738         * m4/memcmp.m4: Likewise.
98739         * m4/putenv.m4: Likewise.
98740         * m4/realloc.m4: Likewise.
98741         * m4/regex.m4: Likewise.
98742         * m4/stat.m4: Likewise.
98743         * m4/strftime.m4: Likewise.
98744         Suggestion from Alain Magloire.
98745
98746         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
98747         an argument.
98748
98749         * m4/regex.m4: Add a run-time Test for proper operation of
98750         re_compile_pattern.
98751
98752 1999-01-31  Jim Meyering  <meyering@ascend.com>
98753
98754         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
98755
98756 1999-01-30  Jim Meyering  <meyering@ascend.com>
98757
98758         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
98759
98760         * m4/jm-mktime.m4: Make this a wrapper around the official
98761         AM_FUNC_MKTIME rather than my private copy, now that the official one
98762         is up to date.
98763         * m4/mktime.m4: Remove file.
98764
98765         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
98766         * m4/uptime.m4: Likewise.
98767         * m4/uintmax_t.m4: Likewise.
98768
98769 1999-01-28  Jim Meyering  <meyering@ascend.com>
98770
98771         * m4/jm-macros.m4: Use jm_AFS.
98772         * m4/afs.m4: New file (from fileutils' configure.in).
98773
98774         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
98775         * m4/chown.m4: Likewise.
98776         * m4/d-ino.m4: Likewise.
98777         * m4/d-type.m4: Likewise.
98778         * m4/fnmatch.m4: Likewise.
98779         * m4/getgroups.m4: Likewise.
98780         * m4/gettext.m4: Likewise.
98781         * m4/jm-mktime.m4: Likewise.
98782         * m4/jm-winsz2.m4: Likewise.
98783         * m4/lcmessage.m4: Likewise.
98784         * m4/ls-mntd-fs.m4: Likewise.
98785         * m4/malloc.m4: Likewise.
98786         * m4/memcmp.m4: Likewise.
98787         * m4/putenv.m4: Likewise.
98788         * m4/realloc.m4: Likewise.
98789         * m4/st_mtim.m4: Likewise.
98790         * m4/strftime.m4: Likewise.
98791
98792 1999-01-16  Jim Meyering  <meyering@ascend.com>
98793
98794         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
98795         (ARGMATCH_DIE_DECL): Define.
98796
98797 1999-01-12  Jim Meyering  <meyering@ascend.com>
98798
98799         * m4/Makefile.am.in: Rewrite to avoid using fmt.
98800         Reported by Lars Hecking.
98801
98802 1999-01-10  Jim Meyering  <meyering@ascend.com>
98803
98804         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
98805         gross kludge.
98806         * m4/inttypes_h.m4: Likewise.
98807         * m4/lstat.m4: Likewise.
98808         * m4/malloc.m4: Likewise.
98809         * m4/readdir.m4: Likewise.
98810         * m4/realloc.m4: Likewise.
98811         * m4/st_dm_mode.m4: Likewise.
98812         * m4/stat.m4: Likewise.
98813         * m4/utimbuf.m4: Likewise.
98814         * m4/utimes.m4: Likewise.
98815
98816         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
98817         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
98818         comments in config.h.in are meaningful.
98819
98820         * m4/jm-macros.m4: Require autoconf-2.13 here.
98821
98822         * m4/regex.m4: By default, don't use the included regex.c on systems
98823         with glibc 2.  Suggestion from Uli Drepper.
98824
98825 1999-01-02  Jim Meyering  <meyering@ascend.com>
98826
98827         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
98828
98829 1998-12-18  Jim Meyering  <meyering@ascend.com>
98830
98831         * m4/Makefile.am.in (Makefile.am): Simplify rule.
98832         Based on a suggestion from Lars Hecking.
98833
98834 1998-11-16  Paul Eggert  <eggert@twinsun.com>
98835
98836         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
98837
98838 1998-11-16  Jim Meyering  <meyering@ascend.com>
98839
98840         * m4/lfs.m4: Double-quote the `uname...` expression.
98841
98842 1998-11-14  Jim Meyering  <meyering@ascend.com>
98843
98844         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
98845         * m4/stat.m4: Likewise.
98846
98847 1998-11-03  Jim Meyering  <meyering@ascend.com>
98848
98849         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
98850         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
98851
98852 1998-10-18  Jim Meyering  <meyering@ascend.com>
98853
98854         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
98855
98856 1998-10-17  Jim Meyering  <meyering@ascend.com>
98857
98858         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
98859         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
98860         calls for those previously hard-coded headers.  Instead, take a new
98861         parameter.
98862         (jm_CHECK_DECLARATIONS): Reflect interface change.
98863         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
98864         (jm_CHECK_DECL_LOCALTIME_R): New macro.
98865
98866         * m4/mktime.m4: Test for spring-forward gap before long-running test.
98867
98868 1998-10-14  Jim Meyering  <meyering@ascend.com>
98869
98870         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
98871         instead of "TZ=America/Vancouver".  From Paul Eggert.
98872
98873 1998-10-11  Jim Meyering  <meyering@ascend.com>
98874
98875         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
98876         This adds a test for a recently added compatibility fix for mktime.c.
98877         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
98878
98879 1998-09-27  Jim Meyering  <meyering@ascend.com>
98880
98881         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
98882
98883         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
98884         ../configure.in, including a change from Gordon Matzigkeit to allow
98885         cross-compiling for the Hurd.
98886
98887         * m4/glibc.m4: New file/macro to test for the GNU C Library
98888         versions 1 and 2.  From Gordon Matzigkeit.
98889         Indent.
98890
98891 1998-09-21  Jim Meyering  <meyering@ascend.com>
98892
98893         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
98894
98895 1998-08-18  Paul Eggert  <eggert@twinsun.com>
98896
98897         Port nanosecond-resolution times to UnixWare 2.1.2 and
98898         pedantic Solaris 2.6.
98899
98900         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
98901         AC_STRUCT_ST_MTIM.
98902         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
98903         Generate name of ns member, instead of just 1 or undef.
98904         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
98905
98906 1998-08-15  Jim Meyering  <meyering@ascend.com>
98907
98908         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
98909         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
98910         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
98911         instead of jm_TYPE_SSIZE_T.
98912
98913 1998-08-12  Jim Meyering  <meyering@ascend.com>
98914
98915         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
98916
98917 1998-08-02  Jim Meyering  <meyering@ascend.com>
98918
98919         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
98920         in acconfig.h manually.
98921
98922 1998-07-31  Paul Eggert  <eggert@twinsun.com>
98923
98924         * m4/st_mtim.m4: New file.
98925
98926 1998-07-28  Jim Meyering  <meyering@ascend.com>
98927
98928         * m4/utimes.m4: Undef stat.
98929
98930 1998-07-25  Jim Meyering  <meyering@ascend.com>
98931
98932         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
98933         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
98934
98935 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
98936
98937         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
98938         uid and gid actually remain unchanged.
98939
98940 1998-07-07  Jim Meyering  <meyering@ascend.com>
98941
98942         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
98943
98944 1998-07-04  Jim Meyering  <meyering@ascend.com>
98945
98946         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
98947         to prove that this macro can be used in packages without regex.c.
98948
98949 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
98950
98951         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
98952         is to be used.
98953
98954 1998-07-03  Jim Meyering  <meyering@ascend.com>
98955
98956         * m4/gettext.m4: Add -lintl if it's found to be necessary.
98957
98958         * m4/gettext.m4: New file -- from gettext-0.10.35.
98959         * m4/lcmessage.m4: Likewise.
98960         * m4/progtest.m4: Likewise.
98961
98962         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
98963         * m4/jm-macros.m4: Require the new macro.
98964
98965 1998-06-29  Jim Meyering  <meyering@ascend.com>
98966
98967         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
98968         for the definition of NGROUPS (used in a system header included
98969         by sys/mount.h).
98970
98971 1998-06-28  Jim Meyering  <meyering@ascend.com>
98972
98973         * m4/ls-mntd-fs.m4: New file.
98974         * m4/fstypename.m4: New file.
98975
98976         * m4/jm-macros.m4: Require the new macro.
98977         * m4/jm-glibc-io.m4: New file.
98978
98979 1998-05-19  Jim Meyering  <meyering@ascend.com>
98980
98981         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
98982         * m4/lchown.m4: New file.
98983
98984         * m4/Makefile.am.in: New file.
98985         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
98986
98987 1998-05-14  Jim Meyering  <meyering@ascend.com>
98988
98989         * m4/Makefile.am (EXTRA_DIST): Add them.
98990         * m4/jm-macros.m4: New file.
98991         * m4/utimbuf.m4: New file.
98992
98993 1998-05-12  Jim Meyering  <meyering@ascend.com>
98994
98995         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
98996
98997 1998-05-11  Jim Meyering  <meyering@ascend.com>
98998
98999         * m4/isc-posix.m4: New file.
99000
99001 1998-05-10  Jim Meyering  <meyering@ascend.com>
99002
99003         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
99004
99005 1998-05-09  Jim Meyering  <meyering@ascend.com>
99006
99007         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
99008         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
99009         with automake.
99010
99011         * m4/ssize_t.m4: New file.
99012         * m4/mktime.m4: Remove file -- the new automake has this now.
99013
99014 1998-04-26  Jim Meyering  <meyering@ascend.com>
99015
99016         * m4/assert.m4: New file.
99017         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
99018
99019 1998-04-05  Jim Meyering  <meyering@ascend.com>
99020
99021         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
99022         (jm_PREREQ): Use it here.
99023
99024 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
99025
99026         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
99027         in acconfig.h.
99028
99029 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
99030
99031         * m4/prereq.m4: New file.
99032         * m4/error.m4: New file.
99033         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
99034
99035 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
99036
99037         * m4/getline.m4: Don't set am_cv_func_working_getline before the
99038         cache-check for the same variable -- that defeated the purpose of
99039         the test; the test program was never run.  This was a problem only
99040         on systems with losing getline functions -- HP-UX 10.20 is one.
99041         Reported by Bjorn Helgaas.
99042
99043 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
99044
99045         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
99046
99047 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
99048
99049         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
99050
99051         * m4/const.m4: New file.  Use an initializer in this declaration
99052         typedef int charset[2]; const charset x;
99053         Reported by Bob Glickstein.
99054
99055 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
99056
99057         * m4/chown.m4: Fix reversed types on -1 args to chown.
99058         From Kaveh Ghazi.
99059
99060 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
99061
99062         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
99063         Add lseek and memchr.
99064
99065         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
99066         T.E.Dickey <dickey@clark.net> said that some older preprocessors
99067         have a 20-character limit on names.
99068
99069 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
99070
99071         * m4/inttypes_h.m4: New file.
99072         * m4/uintmax_t.m4: New file.
99073         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
99074
99075
99076         -----
99077
99078         Local Variables:
99079         coding: utf-8
99080         End:
99081
99082         Copyright (C) 1997-2013 Free Software Foundation, Inc.
99083
99084         Copying and distribution of this file, with or without
99085         modification, are permitted provided the copyright notice
99086         and this notice are preserved.